From 1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 Mon Sep 17 00:00:00 2001 From: Zhineng Li Date: Sun, 12 Jul 2026 17:11:17 +0800 Subject: update APIs 20260712 --- data/en_us/ess/2014-08-28/api-docs.php | 40280 ++++++++++++++--------------- data/en_us/ess/2016-07-22/api-docs.php | 728 - data/en_us/ess/2022-02-22/api-docs.php | 41897 +++++++++++++------------------ 3 files changed, 35415 insertions(+), 47490 deletions(-) delete mode 100644 data/en_us/ess/2016-07-22/api-docs.php (limited to 'data/en_us/ess') diff --git a/data/en_us/ess/2014-08-28/api-docs.php b/data/en_us/ess/2014-08-28/api-docs.php index 4185384..b838893 100644 --- a/data/en_us/ess/2014-08-28/api-docs.php +++ b/data/en_us/ess/2014-08-28/api-docs.php @@ -1,199 +1,31 @@ '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Ess', - 'version' => '2014-08-28', - ], + 'info' => ['style' => 'RPC', 'product' => 'Ess', 'version' => '2014-08-28'], 'directories' => [ [ - 'id' => 63491, - 'title' => 'Scaling groups', - 'type' => 'directory', - 'children' => [ - 'CreateScalingGroup', - 'DeleteScalingGroup', - 'ModifyScalingGroup', - 'EnableScalingGroup', - 'DisableScalingGroup', - 'SetGroupDeletionProtection', - 'AttachLoadBalancers', - 'DetachLoadBalancers', - 'DetachDBInstances', - 'AttachDBInstances', - 'AttachVServerGroups', - 'DetachVServerGroups', - 'DescribeScalingGroups', - 'DescribeScalingInstances', - 'DescribeScalingActivities', - 'DescribeScalingActivityDetail', - 'DescribeLimitation', - 'DescribeElasticStrength', - 'VerifyAuthentication', - 'SuspendProcesses', - 'ResumeProcesses', - 'VerifyUser', - ], - ], - [ - 'id' => 63513, - 'title' => 'Scaling configurations', - 'type' => 'directory', - 'children' => [ - 'CreateScalingConfiguration', - 'DeleteScalingConfiguration', - 'ModifyScalingConfiguration', - 'DescribeScalingConfigurations', - 'DeactivateScalingConfiguration', - ], - ], - [ - 'id' => 63519, - 'title' => 'Scaling rules', - 'type' => 'directory', - 'children' => [ - 'CreateScalingRule', - 'DeleteScalingRule', - 'ModifyScalingRule', - 'DescribeScalingRules', - ], - ], - [ - 'id' => 63524, - 'title' => 'Scaling tasks', - 'type' => 'directory', - 'children' => [ - 'AttachInstances', - 'DetachInstances', - 'ExecuteScalingRule', - 'RemoveInstances', - ], - ], - [ - 'id' => 63529, - 'title' => 'Scheduled tasks', - 'type' => 'directory', - 'children' => [ - 'CreateScheduledTask', - 'DeleteScheduledTask', - 'ModifyScheduledTask', - 'DescribeScheduledTasks', - ], - ], - [ - 'id' => 63534, - 'title' => 'Lifecycle hooks', - 'type' => 'directory', - 'children' => [ - 'CreateLifecycleHook', - 'DeleteLifecycleHook', - 'ModifyLifecycleHook', - 'DescribeLifecycleActions', - 'DescribeLifecycleHooks', - 'RecordLifecycleActionHeartbeat', - 'CompleteLifecycleAction', - ], - ], - [ - 'id' => 63542, - 'title' => 'Event notifications', - 'type' => 'directory', - 'children' => [ - 'CreateNotificationConfiguration', - 'DeleteNotificationConfiguration', - 'ModifyNotificationConfiguration', - 'DescribeNotificationConfigurations', - 'DescribeNotificationTypes', - ], - ], - [ - 'id' => 63548, - 'title' => 'Instances', - 'type' => 'directory', - 'children' => [ - 'SetInstancesProtection', - 'SetInstanceHealth', - 'EnterStandby', - 'ExitStandby', - 'RebalanceInstances', - ], - ], - [ - 'id' => 63554, - 'title' => 'Regions', - 'type' => 'directory', - 'children' => [ - 'DescribeRegions', - ], - ], - [ - 'id' => 63556, - 'title' => 'Tags', + 'children' => ['DeactivateScalingConfiguration'], 'type' => 'directory', - 'children' => [ - 'ListTagResources', - 'ListTagKeys', - 'ListTagValues', - 'TagResources', - 'UntagResources', - ], + 'title' => 'Scaling configuration', ], [ - 'id' => 63562, - 'title' => 'Event-triggered tasks', - 'type' => 'directory', 'children' => [ - 'CreateAlarm', - 'DeleteAlarm', - 'DisableAlarm', - 'EnableAlarm', - 'ModifyAlarm', - 'DescribeAlarms', + 'ApplyScalingGroup', 'AttachAlbServerGroups', 'AttachDBInstances', 'AttachInstances', 'AttachLoadBalancers', 'AttachServerGroups', 'AttachVServerGroups', 'CancelInstanceRefresh', 'ChangeResourceGroup', 'CompleteLifecycleAction', 'CreateAlarm', 'CreateEciScalingConfiguration', 'CreateLifecycleHook', 'CreateNotificationConfiguration', 'CreateScalingConfiguration', 'CreateScalingGroup', 'CreateScalingRule', 'CreateScheduledTask', 'DeleteAlarm', 'DeleteEciScalingConfiguration', + 'DeleteLifecycleHook', 'DeleteNotificationConfiguration', 'DeleteScalingConfiguration', 'DeleteScalingGroup', 'DeleteScalingRule', 'DeleteScheduledTask', 'DescribeAlarms', 'DescribeAlertConfiguration', 'DescribeEciScalingConfigurations', 'DescribeElasticStrength', 'DescribeInstanceRefreshes', 'DescribeLifecycleActions', 'DescribeLifecycleHooks', 'DescribeLimitation', 'DescribeNotificationConfigurations', 'DescribeNotificationTypes', 'DescribePatternTypes', 'DescribeRegions', 'DescribeScalingActivities', 'DescribeScalingActivityDetail', + 'DescribeScalingConfigurations', 'DescribeScalingGroups', 'DescribeScalingInstances', 'DescribeScalingRules', 'DescribeScheduledTasks', 'DetachAlbServerGroups', 'DetachDBInstances', 'DetachInstances', 'DetachLoadBalancers', 'DetachServerGroups', 'DetachVServerGroups', 'DisableAlarm', 'DisableScalingGroup', 'EnableAlarm', 'EnableScalingGroup', 'EnterStandby', 'ExecuteScalingRule', 'ExitStandby', 'ListTagKeys', 'ListTagResources', + 'ListTagValues', 'ModifyAlarm', 'ModifyAlertConfiguration', 'ModifyEciScalingConfiguration', 'ModifyInstanceAttribute', 'ModifyLifecycleHook', 'ModifyNotificationConfiguration', 'ModifyScalingConfiguration', 'ModifyScalingGroup', 'ModifyScalingRule', 'ModifyScheduledTask', 'RebalanceInstances', 'RecordLifecycleActionHeartbeat', 'RemoveInstances', 'ResumeInstanceRefresh', 'ResumeProcesses', 'RollbackInstanceRefresh', 'ScaleWithAdjustment', 'SetGroupDeletionProtection', 'SetInstanceHealth', + 'SetInstancesProtection', 'StartInstanceRefresh', 'SuspendInstanceRefresh', 'SuspendProcesses', 'TagResources', 'UntagResources', 'VerifyAuthentication', 'VerifyUser', ], - ], - [ - 'id' => 165918, - 'title' => '未翻译(其他)', + 'title' => 'Others', 'type' => 'directory', - 'children' => [ - 'AttachAlbServerGroups', - 'CreateEciScalingConfiguration', - 'DeleteEciScalingConfiguration', - 'DescribeEciScalingConfigurations', - 'DetachAlbServerGroups', - 'ModifyEciScalingConfiguration', - 'ScaleWithAdjustment', - 'ChangeResourceGroup', - 'AttachServerGroups', - 'DetachServerGroups', - 'ModifyInstanceAttribute', - 'DescribePatternTypes', - 'ApplyScalingGroup', - 'ModifyAlertConfiguration', - 'DescribeAlertConfiguration', - 'SuspendInstanceRefresh', - 'ResumeInstanceRefresh', - 'CancelInstanceRefresh', - 'DescribeInstanceRefreshes', - 'RollbackInstanceRefresh', - 'StartInstanceRefresh', - ], ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'CreateScalingGroup' => [ - 'summary' => ' 创建一个伸缩组', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ApplyScalingGroup' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -205,962 +37,1072 @@ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '92658', - 'abilityTreeNodes' => [ - 'FEATUREessGIWHSQ', - ], + 'abilityTreeCode' => '206918', + 'abilityTreeNodes' => ['FEATUREessGIWHSQ', 'FEATUREessXN6KX4'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupName', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the scaling group. The name of each scaling group must be unique in a region. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter or a digit.'."\n" - ."\n" - .'If you do not specify this parameter, the value of the **ScalingGroupId **parameter is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'Ensures the idempotence of the request. Generate a value from your client that is unique across different requests. The value can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****'], ], [ - 'name' => 'LaunchTemplateId', + 'name' => 'Content', '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****', - ], + 'schema' => ['description' => 'The content of the configuration file.', 'type' => 'string', 'required' => true, 'example' => 'apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx annotations: k8s.aliyun.com/eip-bandwidth: 10 k8s.aliyun.com/eci-with-eip: true spec: containers: - name: nginx image: nginx:1.14.2 ports: - containerPort: 80', 'title' => ''], ], [ - 'name' => 'LaunchTemplateVersion', + 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ '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', + 'title' => '', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'CC107349-57B7-4405-B1BF-9BF5AF7F****'], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group that takes effect.', 'type' => 'string', 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], + ], + 'example' => '', ], ], - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of an existing ECS instance that provides instance configurations for Auto Scaling to create a scaling configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-28wt4****', + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'IdempotentParameterMismatch', 'errorMessage' => 'The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ApplyScalingGroup', + 'summary' => 'Creates and manages ECI-based scaling groups by using a configuration file. You can call the ApplyScalingGroup operation to implement this feature.', + 'description' => '## Operation description'."\n" + .'ApplyScalingGroup allows you to quickly create ECI scaling groups in the Kubernetes Deployment resource definition format. ECI instances also support Kubernetes YAML extended annotations. For more information, see the "Supported annotations" section of this topic.'."\n" + ."\n\n" + .'Mapping between YAML configurations and scaling groups: A scaling group name is mapped by the `namespace`, `kind`, and `name` triplet defined in the YAML. Within a region, a YAML configuration can map to only one scaling group. For example:'."\n" + .'If you use a Deployment YAML configuration with `name` set to `nginx` under the default namespace, it maps to a scaling group named `k8s_default_Deployment_nginx` in the same region.'."\n" + ."\n\n" + .'Logic for managing scaling groups based on YAML configurations:'."\n" + ."\n" + .'- If the scaling group mapped by the YAML configuration exists, the scaling group is updated based on the YAML configuration.'."\n" + .'- If the scaling group mapped by the YAML configuration does not exist, a scaling group is created based on the YAML configuration.'."\n" + ."\n" + .'### Before you begin '."\n" + ."\n" + .'- If the YAML configuration does not specify VPC, vSwitch, or security group annotations, the system performs automatic creation of a default VPC, a default vSwitch within the VPC, and a default Auto Scaling security group (`ess-default-sg`). The security group policy opens TCP ports 22 and 3389 and the ICMP (IPv4) protocol by default. If you require other port protocols, adjust the security group policy accordingly.'."\n" + .'- When using a public image, enable public network access. Settings the `k8s.aliyun.com/eci-with-eip pod annotation` to enable the EIP feature.'."\n" + .'- After ApplyScalingGroup applies the YAML configuration, the scaling group and scaling configuration take effect immediately. If replicas is set to a value greater than 0, automatic creation of resources occurs.'."\n" + ."\n" + .'### Supported annotations'."\n" + .'For more information about annotations, see [ECI Pod Annotation](~~186939~~).'."\n" + .'|Parameter|Example|Description|'."\n" + .'|-----|-----|-----|'."\n" + .'|k8s.aliyun.com/ess-scaling-group-min-size|1|The minimum number of instances in the scaling group. Default value: 0.'."\n" + .'|k8s.aliyun.com/ess-scaling-group-max-size|20|The maximum number of instances in the scaling group. Default value: max(replicas, 30).'."\n" + .'|k8s.aliyun.com/eci-ntp-server|100.100.*.*|The NTP server.'."\n" + .'|k8s.aliyun.com/eci-use-specs|2-4Gi|The specification of 2 vCPUs and 4 GiB of memory. For more information, see [Create a pod with multiple specifications](~~451267~~).'."\n" + .'|k8s.aliyun.com/eci-vswitch|vsw-bp1xpiowfm5vo8o3c****|The vSwitch ID. You can specify multiple vSwitches to enable the multi-zone feature.'."\n" + .'|k8s.aliyun.com/eci-security-group|sg-bp1dktddjsg5nktv****|The security group ID. You can specify one or more security groups, up to a maximum of five. The specified security groups must belong to the same VPC and must be of the same type.'."\n" + .'|k8s.aliyun.com/eci-sls-enable|"false"|Settings this parameter to false to shutdown log collection. When you collect logs by using SLS CRDs, if specific pods do not require log collection, configure this annotation to shutdown log collection and avoid unnecessary resource consumption caused by automatic creation of Logtail.'."\n" + .'|k8s.aliyun.com/eci-spot-strategy|SpotAsPriceGo|The bidding policy for spot instances. Configure as needed. SpotWithPriceLimit: settings a custom price limit for spot instances. You must also set `k8s.aliyun.com/eci-spot-price-limit`. SpotAsPriceGo: the system automatically bids based on the current marketplace price.'."\n" + .'|k8s.aliyun.com/eci-spot-price-limit|"0.5"|The maximum hourly price for spot instances, accurate to three decimal places. This parameter is active only when `k8s.aliyun.com/eci-spot-strategy` is set to `SpotWithPriceLimit`.'."\n" + .'|k8s.aliyun.com/eci-with-eip|"true"|Settings this parameter to true for automatic creation and attach of an EIP.'."\n" + .'|k8s.aliyun.com/eci-data-cache-bucket|default|The DataCache bucket. This parameter is required when you create a pod by using DataCache.'."\n" + .'|k8s.aliyun.com/eci-data-cache-pl|PL1|The performance level (PL) of the cloud disk created based on DataCache. Standard SSD is used by default, and the default PL is PL1.'."\n" + .'|k8s.aliyun.com/eci-data-cache-provisionedIops|"40000"|The provisioned read/write IOPS of the ESSD AutoPL cloud disk. Valid values: 0 to min{50000, 1000 × capacity - baseline performance}. Baseline performance = min{1800 + 50 × capacity, 50000}. For more information, see [ESSD AutoPL cloud disk](~~368372~~). If this annotation is added, the cloud disk created based on DataCache is an ESSD AutoPL cloud disk.'."\n" + .'|k8s.aliyun.com/eci-data-cache-burstingEnabled|"true"|Specifies whether to enable burst (I/O burst) for the ESSD AutoPL cloud disk. For more information, see [ESSD AutoPL cloud disk](~~368372~~). If this annotation is added, the cloud disk created based on DataCache is an ESSD AutoPL cloud disk.'."\n" + .'|k8s.aliyun.com/eci-custom-tags|"env:test,name:alice"|The label (Tag) character string to attach. You can attach up to three labels. Separate label keys and label values with colons (:), and separate multiple labels with commas (,).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:ApplyScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC107349-57B7-4405-B1BF-9BF5AF7F****\\",\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\"\\n}","type":"json"}]', + ], + 'AttachAlbServerGroups' => [ + 'summary' => 'Adds one or more Application Load Balancer (ALB) server groups to a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92647', + 'abilityTreeNodes' => ['FEATUREess2GK585'], + ], + 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group. For more information, see the [Regions and zones](~~40654~~) topic.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The ID of the region where the scaling group resides.'."\n" + ."\n" + .'Examples: `ap-southeast-1` and `cn-shanghai`. For more information, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'MinSize', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of ECS instances that must be contained in the scaling group. If the number of ECS instances in the scaling group is less than the value of the `MinSize` parameter, Auto Scaling automatically creates ECS instances until the number of instances in the scaling group is equal to the minimum number.'."\n" - ."\n" - .'> The value of the `MinSize` parameter must be less than or equal to the value of the `MaxSize` parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '2', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'MaxSize', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of ECS instances that can be contained in the scaling group. If the number of ECS instances in the scaling group is greater than the value of the `MaxSize` parameter, Auto Scaling automatically removes ECS instances until the number of instances in the scaling group is equal to the maximum number.'."\n" - ."\n" - .'The value range of the **MaxSize** parameter varies based on the instance quota. You can go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check the maximum number of instances that a scaling group can contain.'."\n" - ."\n" - .'For example, if a scaling group can contain up to 2,000 instances, the value range of the `MaxSize` parameter is 0 to 2000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '20', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'DefaultCooldown', + 'name' => 'ForceAttach', 'in' => 'query', - 'schema' => [ - 'description' => 'The cooldown period after a scaling activity is complete. Valid values: 0 to 86400. Unit: seconds.'."\n" - ."\n" - .'During the cooldown period, Auto Scaling executes only scaling activities that are triggered by CloudMonitor event-triggered tasks.'."\n" - ."\n" - .'Default value: 300.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '300', - ], + 'schema' => ['description' => 'Specifies whether to add the existing ECS instances or elastic container instances in the scaling group to the new ALB server group. Valid values:'."\n" + ."\n" + .'- true: The instances are added. The system returns a ScalingActivityId. You can use the scaling activity ID to check whether the existing instances are added.'."\n" + ."\n" + .'- false: The instances are not added.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], ], [ - 'name' => 'LoadBalancerIds', + 'name' => 'AlbServerGroup', 'in' => 'query', + 'style' => 'repeatList', '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****"]', + 'description' => 'The list of ALB server groups.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of ALB server groups.', + 'type' => 'object', + 'properties' => [ + 'AlbServerGroupId' => ['description' => 'The ID of the ALB server group.'."\n" + ."\n" + .'N specifies the number of the ALB server group. The number of ALB server groups that can be associated with a scaling group is limited. To view or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).', 'type' => 'string', 'required' => true, 'example' => 'sgp-ddwb0y0g6y9bjm****', 'title' => ''], + 'Weight' => ['description' => 'The weight of the ECS instance or elastic container instance as a backend server after Auto Scaling adds the instance to the ALB server group. N specifies the number of the ALB server group.'."\n" + ."\n" + .'A higher weight indicates that the instance receives more requests. If the weight is 0, the instance does not receive any requests. Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by the ECS instance or elastic container instance after Auto Scaling adds the instance to the ALB server group. Valid values: 1 to 65535.'."\n" + ."\n" + .'> N specifies the number of the ALB server group. If the values of N are the same but the values of Port are different, the system associates the ALB server group with the scaling group multiple times, each with a different port.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '22', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'DBInstanceIds', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ '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****"]', + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity that is triggered when the ALB server group is added and the existing ECS instances or elastic container instances in the scaling group are added to the ALB server group.'."\n" + ."\n" + .'> This parameter is returned only when ForceAttach is set to true.', 'type' => 'string', 'example' => 'asa-2ze6wxj8vsohn6j9****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'RemovalPolicy.1', - 'in' => 'query', - 'schema' => [ - 'description' => 'The first instance removal policy. You cannot set the **RemovalPolicy.1** parameter, the **RemovalPolicy.2** parameter, and the **RemovalPolicy.3** parameter to the same value.'."\n" - ."\n" - .'* OldestInstance: removes ECS instances that are added at the earliest point in time to the scaling group.'."\n" - .'* NewestInstance: removes ECS instances that are most recently added to the scaling group.'."\n" - .'* OldestScalingConfiguration: removes ECS instances that are created based on the earliest scaling configuration.'."\n" - .'* CustomPolicy: removes ECS instances based on the custom scale-in policy (Function).'."\n" - ."\n" - .'The scaling configuration source specified by the **OldestScalingConfiguration **setting can be a scaling configuration or a launch template. You can specify **CustomPolicy **only as the value of the **RemovalPolicy.1** parameter. If you set the **RemovalPolicy.1** parameter to **CustomPolicy**, you must also specify the **CustomPolicyARN **parameter.'."\n" - ."\n" - .'> The removal of ECS instances from a scaling group is also affected by the value of the **MultiAZPolicy** parameter. For more information, see the [Configure a combination policy for removing instances](~~254822~~) topic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'OldestScalingConfiguration', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-2ze6wxj8vsohn6j9****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Add one or more ALB server groups', + 'description' => '## Operation description'."\n" + ."\n" + .'To add ALB server groups to a scaling group, the following conditions must be met:'."\n" + ."\n" + .'- The network type of the scaling group must be Virtual Private Cloud (VPC), and the scaling group must reside in the same VPC as the ALB server groups.'."\n" + ."\n" + .'- The ALB server groups must be in the Available state.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|AlbServerGroup.NotExist|The ServerGroup "%s" do(es) not exist.|The specified ALB server group does not exist in the current account.|'."\n" + .'|400|AlbServerGroup.AlreadyAttached|The ALB ServerGroups are already attached.|The ALB server groups are already added to the scaling group.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachAlbServerGroups'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachAlbServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + ], + 'AttachDBInstances' => [ + 'summary' => 'Adds one or more ApsaraDB RDS instances.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'RemovalPolicy.2', - 'in' => 'query', - 'schema' => [ - 'description' => 'The second instance removal policy. You cannot set the **RemovalPolicy.1 **parameter, the **RemovalPolicy.2** parameter, and the **RemovalPolicy.3** parameter to the same value. Valid values:'."\n" - ."\n" - .'* OldestInstance: removes ECS instances that are added at the earliest point in time to the scaling group.'."\n" - .'* NewestInstance: removes ECS instances that are most recently added to the scaling group.'."\n" - .'* OldestScalingConfiguration: removes ECS instances that are created based on the earliest scaling configuration.'."\n" - ."\n" - .'> The removal of ECS instances from a scaling group is also affected by the value of the **MultiAZPolicy **parameter. For more information, see the [Configure a combination policy for removing instances](~~254822~~) topic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'OldestInstance', - ], + 'AK' => [], ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92648', + 'abilityTreeNodes' => ['FEATUREessJZ6DNF'], + ], + 'parameters' => [ [ - 'name' => 'RemovalPolicy.3', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The third instance removal policy. You cannot set the **RemovalPolicy.1** parameter, the **RemovalPolicy.2** parameter, and the **RemovalPolicy.3** parameter to the same value. Valid values:'."\n" - ."\n" - .'* OldestInstance: removes ECS instances that are added at the earliest point in time to the scaling group.'."\n" - .'* NewestInstance: removes ECS instances that are most recently added to the scaling group.'."\n" - .'* OldestScalingConfiguration: removes ECS instances that are created based on the earliest scaling configuration.'."\n" - ."\n" - .'> The removal of ECS instances from a scaling group is also affected by the value of the **MultiAZPolicy **parameter. For more information, see the [Configure a combination policy for removing instances](~~254822~~) topic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NewestInstance', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1avr6ensitts3w****', 'title' => ''], ], [ - 'name' => 'VSwitchId', + 'name' => 'ForceAttach', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vSwitch. If you specify the **VSwitchId **parameter, the network type of the scaling group is VPC.'."\n" - ."\n" - .'> If you do not specify the **VSwitchId **or **VSwitchIds.N** parameter, the network type of the scaling group is classic network.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp14zolna43z266bq****', - ], + 'schema' => ['description' => 'Specifies whether to add the private IP addresses of all instances in the current scaling group to the IP whitelist of the RDS instance when the RDS instance is added to the scaling group. Valid values:'."\n" + ."\n" + .'- true: Adds the private IP addresses.'."\n" + ."\n" + .'- false: Does not add the private IP addresses.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], ], [ - 'name' => 'MultiAZPolicy', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The scaling policy for the multi-zone scaling group that contains ECS instances. Valid values:'."\n" - ."\n" - .'* PRIORITY: Auto Scaling scales ECS instances based on the priority of the vSwitch that is specified by the **VSwitchIds.N** parameter. Auto Scaling preferentially scales instances in the zone where the vSwitch that has the highest priority resides. If the scaling fails, Auto Scaling scales instances in the zone where the vSwitch that has the next highest priority resides.'."\n" - ."\n" - .'* COST_OPTIMIZED: Auto Scaling preferentially creates ECS instances whose vCPUs are provided at the lowest price and removes ECS instances whose vCPUs are provided at the highest price. If preemptible instance types are specified in the scaling configuration, Auto Scaling preferentially creates preemptible instances. You can use the **CompensateWithOnDemand **parameter to specify whether to automatically create pay-as-you-go instances when preemptible instances cannot be created due to insufficient resources.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** The **COST_OPTIMIZED **setting takes effect only when you specify multiple instance types or when you specify at least one preemptible instance type.'."\n" - ."\n" - .'* BALANCE: Auto Scaling evenly distributes ECS instances across zones that are specified for the scaling group. If ECS instances are unevenly distributed across zones due to insufficient resources, you can call the [RebalanceInstance](~~71516~~) operation to evenly distribute the instances across the zones.'."\n" - ."\n" - .'* COMPOSABLE: You can combine the preceding policies based on your business requirements.'."\n" - ."\n" - .'Default value: PRIORITY.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PRIORITY', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, refer to [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'HealthCheckType', + 'name' => 'DBInstance', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The health check mode of the scaling group. Valid values:'."\n" - ."\n" - .'* NONE: Auto Scaling does not perform health checks on instances in the scaling group.'."\n" - .'* ECS: Auto Scaling performs health checks on ECS instances in the scaling group.'."\n" - ."\n" - .'Default value: ECS.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ECS', + 'description' => 'The ID of the RDS instance. Valid values of N: 1 to 5.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the RDS instance. Valid values of N: 1 to 5.', 'type' => 'string', 'required' => false, 'example' => 'rm-bp12cy3****', 'title' => ''], + 'required' => true, + 'example' => 'rm-bp12cy3****', + 'maxItems' => 5, + 'title' => '', ], ], [ - 'name' => 'ScalingPolicy', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The reclaim mode of the scaling group. Valid values:'."\n" - ."\n" - .'* recycle: economical mode'."\n" - .'* release: release mode'."\n" - ."\n" - .'**ScalingPolicy **specifies the reclaim mode of scaling groups. The policy that is used to remove ECS instances from scaling groups is specified by the **RemovePolicy **parameter of the **RemoveInstances **operation. For more information, see the [RemoveInstances](~~25955~~) topic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'recycle', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'AttachMode', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The mode in which the scaling group is associated with the database. Valid values:'."\n" + ."\n" + .'- SecurityIp: IP whitelist mode. The system automatically adds the private IP addresses of scaled-out instances to the IP whitelist of the database. Currently, only ApsaraDB RDS databases are supported.'."\n" + .'- SecurityGroup: security group mode. The system adds the security group specified in the scaling configuration to the security group whitelist of the database, which allows instances in the security group to access the database.'."\n" + ."\n" + .'Default value: SecurityIp.', 'type' => 'string', 'required' => false, 'example' => 'SecurityIp', 'title' => ''], ], [ - 'name' => 'OnDemandBaseCapacity', + 'name' => 'Type', 'in' => 'query', + 'schema' => ['description' => 'The type of the database. Valid values:'."\n" + ."\n" + .'- RDS'."\n" + .'- Redis'."\n" + .'- MongoDB'."\n" + ."\n" + .'Default value: RDS.', 'type' => 'string', 'required' => false, 'example' => 'RDS', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The minimum number of pay-as-you-go instances that must be contained in the scaling group. Valid values: 0 to 1000. If the number of pay-as-you-go instances is less than the value of this parameter, Auto Scaling preferentially creates pay-as-you-go instances.'."\n" - ."\n" - .'If you set the `MultiAZPolicy` parameter to `COMPOSABLE` Policy, the default value of this parameter is 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Add one or more apsaraDB RDS instances', + 'description' => '## Operation description'."\n" + ."\n" + .'The following conditions must be met when you add ApsaraDB RDS instances to a scaling group:'."\n" + ."\n" + .'- The RDS instances and the scaling group must belong to the same Alibaba Cloud account.'."\n" + ."\n" + .'- The RDS instances must be in an unlocked state. For more information about the lock policy, refer to [Chinese documentation](~~41872~~).'."\n" + ."\n" + .'- The RDS instances must be in the Running state.'."\n" + ."\n" + .'- If you add an RDS instance that already exists in the scaling group, the number of RDS instances in the scaling group does not change. However, the system attempts to add the private IP addresses of all ECS instances in the scaling group to the IP whitelist of the RDS instance.'."\n" + ."\n" + .'> After you add an RDS instance, the default group of the RDS IP whitelist can contain a maximum of 1,000 IP addresses. For more information about IP whitelists, refer to [Set a whitelist](~~96118~~).', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in the current account.|'."\n" + .'|400|QuotaExceeded.RDS|"RDS" quota exceeded.|The number of RDS instances in the scaling group exceeds the quota.|'."\n" + .'|400|InvalidDBInstanceId.NotFound|The specified value of parameter "%s" is not valid.|The specified RDS instance does not exist.|'."\n" + .'|400|IncorrectDBInstanceStatus|The instance status of DB instance "%s" does not support this action.|The instance status of the RDS instance does not support this operation.|'."\n" + .'|400|QuotaExceeded.DBInstanceSecurityIP|Security IP quota exceeded in DB instance "%s".|The number of IP addresses in the IP whitelist of the RDS instance exceeds the quota.|'."\n" + .'|400|InvalidInstanceIds.PrivateIpNotFound|Can not find all private ips of instances in specific scaling group.|The private IP addresses of instances in the scaling group cannot be retrieved.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachDBInstances'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachDBInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + ], + 'AttachInstances' => [ + 'summary' => 'Manually adds ECS instances to a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'OnDemandPercentageAboveBaseCapacity', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92649', + 'abilityTreeNodes' => ['FEATUREessBFHJ1B'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The percentage of pay-as-you-go instances in the excess instances when the minimum number of pay-as-you-go instances reaches the requirement. Valid values: 0 to 100.'."\n" - ."\n" - .'If you set the `MultiAZPolicy` parameter to `COMPOSABLE` Policy, the default value of this parameter is 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'SpotInstanceRemedy', + 'name' => 'Entrusted', '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', - ], + 'schema' => ['description' => 'Specifies whether to entrust the lifecycle of the instance to the scaling group when you manually add an existing instance to the scaling group. Valid values:'."\n" + ."\n" + .'- true: The lifecycle of the instance is managed by Auto Scaling, consistent with instances that are created through automatic creation by the scaling group. The instance is subject to automatic release when it is removed from the scaling group, except when it is removed by invoking the `DetachInstances` operation.'."\n" + .'- false: The lifecycle of the instance is not managed by the scaling group. The instance is not released when it is removed from the scaling group.'."\n" + ."\n" + .'> Settings for this parameter are not supported for subscription instances, managed instances, or instances in the economy mode (stopped) state within the scaling group.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'CompensateWithOnDemand', + 'name' => 'InstanceId', 'in' => 'query', + 'style' => 'repeatList', '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" + 'description' => 'Instance ID of the ECS instance, ECI instance, managed instance, or instance in the economy mode (stopped) state within the scaling group that you want to add. Valid values of N: 1 to 20.'."\n" ."\n" - .'* true'."\n" - .'* false'."\n" + .'Examples:'."\n" + ."\n" + .'- Instance ID of the ECS instance to add: `i-28wt4****`.'."\n" + .'- Instance ID of the ECI instance to add: `eci-bp17gw49eu09yiwm****`.'."\n" + .'- Instance ID of the managed instance to add: `mi-2cx*****`.'."\n" + .'- Instance ID of the instance in the economy mode (stopped) state within the scaling group to restart: `i-2cd2f****`.'."\n" + ."\n" + .'> Only one type of instance can be processed in a single request.', + 'type' => 'array', + 'items' => ['description' => 'Instance ID of the ECS instance, ECI instance, managed instance, or instance in the economy mode (stopped) state within the scaling group that you want to add. Valid values of N: 1 to 20.'."\n" ."\n" - .'Default value: true.'."\n", - 'type' => 'boolean', + .'Examples:'."\n" + ."\n" + .'- Instance ID of the ECS instance to add: `i-28wt4****`.'."\n" + .'- Instance ID of the ECI instance to add: `eci-bp17gw49eu09yiwm****`.'."\n" + .'- Instance ID of the managed instance to add: `mi-2cx*****`.'."\n" + .'- Instance ID of the instance in the economy mode (stopped) state within the scaling group to restart: `i-2cd2f****`.'."\n" + ."\n" + .'> Only one type of instance can be processed in a single request.', 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****', 'title' => ''], 'required' => false, - 'example' => 'true', + 'example' => 'i-28wt4****', + 'maxItems' => 100, + 'title' => '', ], ], [ - 'name' => 'SpotInstancePools', + 'name' => 'LoadBalancerWeight', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The number of instance types that you want to specify. Auto Scaling evenly creates preemptible instances of multiple instance types that are provided at the lowest price in the scaling group. Valid values: 1 to 10.'."\n" + 'description' => 'The weight of the ECS instance or ECI instance as a backend server of the load balancing instance.'."\n" + .'> Settings for this parameter are not supported for managed instances or instances in the economy mode (stopped) state within the scaling group.', + 'type' => 'array', + 'items' => ['description' => 'The weight of the ECS instance or ECI instance as a backend server of the load balancing instance. Valid values of N: 1 to 20. Valid values of this parameter: 1 to 100.'."\n" ."\n" - .'If you set the `MultiAZPolicy` parameter to `COMPOSABLE`, the default value of this parameter is 2.'."\n", - 'type' => 'integer', - 'format' => 'int32', + .'> Settings for this parameter are not supported for managed instances or instances in the economy mode (stopped) state within the scaling group.'."\n" + ."\n" + .'Default value: 50.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], 'required' => false, - 'example' => '5', + 'example' => '50', + 'maxItems' => 100, + 'title' => '', ], ], [ - 'name' => 'DesiredCapacity', + 'name' => 'LifecycleHook', 'in' => 'query', - 'schema' => [ - 'description' => 'The expected number of ECS instances in the scaling group. Auto Scaling automatically maintains the expected number of ECS instances. The expected number cannot be greater than the value of the **MaxSize **parameter and cannot be less than the value of the **MinSize **parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], + 'schema' => ['description' => 'Specifies whether to trigger a scale-out lifecycle hook when instances are added to the scaling group. Valid values:'."\n" + .'- true: triggers the lifecycle hook.'."\n" + .'- false: does not trigger the lifecycle hook.'."\n" + ."\n" + .'> This parameter is not supported for managed instances or instances in the economy mode (stopped) state within the scaling group.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'example' => 'false', 'required' => false, 'title' => ''], ], [ - 'name' => 'GroupDeletionProtection', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable deletion protection for the scaling group. Valid values:'."\n" - ."\n" - .'* true: enables deletion protection for the scaling group. This way, the scaling group cannot be deleted.'."\n" - .'* false: disables deletion protection for the scaling group.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'GroupType', + 'name' => 'ClientToken', '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', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'ContainerGroupId', + 'name' => 'IgnoreInvalidInstance', 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to ignore invalid instances when adding a batch of instances to the scaling group. Valid values:'."\n" + ."\n" + .'- true: Invalid instances are ignored when a batch of instances is added to the scaling group. If invalid instances exist and valid instances are successfully added, the scaling activity status is displayed as Warning. You can view the invalid instances in the scaling activity details.'."\n" + ."\n" + .'- false: Invalid instances are not ignored when a batch of instances is added to the scaling group. If any invalid instance exists in the batch, the request returns an error.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the elastic container instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'eci-uf6fonnghi50u374****', + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'example' => 'asa-bp1crxor24s28xf1****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1crxor24s28xf1****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Manually add ECS instances to a scaling group', + 'description' => '## Operation description'."\n" + ."\n" + .'- Before you invoke this operation, make sure that the following conditions are met:'."\n" + .' - The scaling group is in the Active state.'."\n" + .' - No scaling activity is in progress in the scaling group.'."\n" + ."\n" + .'- The following limits apply to ECS instances or Elastic Container Instance (ECI) instances that you want to add to a scaling group:'."\n" + .' - The instances must be in the same region as the scaling group.'."\n" + .' - The instances must be in the Running state.'."\n" + .' - The instances cannot already belong to another scaling group.'."\n" + .' - The payer of the instances must be subscription, pay-as-you-go, or spot instance.'."\n" + .' - If the scaling group has a specified VswitchID, ECS instances or ECI instances of the Classic network type cannot be added to the scaling group. ECS instances or ECI instances in a different VPC cannot be added to the scaling group either.'."\n" + .' - If the scaling group does not have a specified VswitchID, ECS instances or ECI instances of the VPC network type cannot be added to the scaling group.'."\n" + ."\n" + .'- The following limits apply to managed instances that you want to add to a scaling group:'."\n" + .' - The managed instances must be in the same region as the scaling group.'."\n" + .' - Only managed instances that do not belong to a scaling group can be added to an ECS-type scaling group.'."\n" + .' - Managed instances do not support lifecycle hooks, load balancing association, or health check features.'."\n" + .' - After managed instances are added to an ECS-type scaling group, the scaling group does not manage the lifecycle of the managed instances.'."\n" + .' - Managed instances can only be manually added to or removed from a scaling group. Managed instances are not released after they are removed.'."\n" + ."\n" + .'- Take note of the following items when you invoke this operation:'."\n" + .' - When no scaling activity is in progress in the scaling group, this operation can bypass the cooldown time (Cooldown) and be executed immediately.'."\n" + .' - A successful invocation only indicates that Auto Scaling has accepted the request. The scaling activity can be executed, but a successful invocation does not guarantee that the scaling activity will succeed. You can check the execution status of the scaling activity based on the returned ScalingActivityId.'."\n" + .' - If the number of instances specified in this operation plus the current number of instances in the scaling group (Total Capacity) exceeds the maximum size (MaxSize), the invocation is failed.'."\n" + .' - ECS instances, ECI instances, or managed instances that are manually added by invoking this operation are not associated with the active scaling configuration of the scaling group.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in the current account.|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You have not fully authorized Auto Scaling to invoke API operations.|'."\n" + .'|400|IncorrectScalingGroupStatus|The current status of the specified scaling group does not support this action.|The specified scaling group is not in the Active state.|'."\n" + .'|404|InvalidInstanceId.NotFound|Instance "XXX" does not exist.|The specified ECS instance or ECI instance does not exist in the current account.|'."\n" + .'|400|InvalidInstanceId. RegionMismatch|Instance "XXX" and the specified scaling group are not in the same Region.|The specified ECS instance or ECI instance is not in the same region as the scaling group.|'."\n" + .'|400|InvalidInstanceId.InstanceTypeMismatch|Instance "XXX" and existing Active scaling configurations have different instance types.|The instance type of the specified ECS instance or ECI instance does not match the scaling configuration.|'."\n" + .'|400|IncorrectInstanceStatus|The current status of instance "XXX" does not support this action.|The specified ECS instance or ECI instance is not in the Running state.|'."\n" + .'|400|InvalidInstanceId. NetworkTypeMismatch|The network type of instance "XXX" does not support this action.|The network type of the ECS instance or ECI instance does not match the network type of the scaling group.|'."\n" + .'|400|InvalidInstanceId.VPCMismatch|Instance "XXX" and the specified scaling group are not in the same VPC.|The specified scaling group and the ECS instance or ECI instance to add are not in the same VPC.|'."\n" + .'|400|InvalidInstanceId.InUse|Instance "XXX" is already attached to another scaling group.|The specified ECS instance or ECI instance already belongs to another scaling group.|'."\n" + .'|400|ScalingActivityInProgress|You cannot delete a scaling group or launch a new scaling activity while there is a scaling activity in progress for the specified scaling group.|A scaling activity is in progress in the specified scaling group.|'."\n" + .'|400|IncorrectLoadBalancerStatus|The current status of the specified load balancer does not support this action.|The load balancing instance associated with the specified scaling group is not in the Active state.|'."\n" + .'|400|IncorrectLoadBalancerHealthCheck|The current health check type of specified load balancer does not support this action.|The health check is not enabled for the load balancing instance associated with the specified scaling group.|'."\n" + .'|400|InvalidLoadBalancerId.IncorrectInstanceNetworkType|The network type of the instance in specified load balancer does not support this action.|The network type of the ECS instance or ECI instance in the specified load balancing instance does not match the network type of the scaling group.|'."\n" + .'|400|InvalidLoadBalancerId.VPCMismatch|The specified virtual switch and the instance in specified load balancer are not in the same VPC.|The ECS instance or ECI instance in the load balancing instance associated with the scaling group is not in the same VPC as the specified vSwitch.|'."\n" + .'|400|IncorrectDBInstanceStatus|The current status of DB instance "XXX" does not support this action.|The ApsaraDB RDS instance associated with the specified scaling group is not in the Running state.|'."\n" + .'|400|QuotaExceeded.DBInstanceSecurityIP|Security IP quota exceeded in DB instance "XXX".|The number of IP addresses in the whitelist of the ApsaraDB RDS instance associated with the specified scaling group has reached the upper limit.|'."\n" + .'|400|QuotaExceeded.SecurityGroupInstance|Instance quota exceeded in the specified security group.|The number of ECS instances or ECI instances in the specified security group has reached the upper limit.|'."\n" + .'|400|IncorrectCapacity.MaxSize|To attach the instances, the total capacity will be greater than the MaxSize.|The number of ECS instances or ECI instances to add causes the Total Capacity to exceed the MaxSize.|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachInstances'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + ], + 'AttachLoadBalancers' => [ + 'summary' => 'Adds one or more load balancing instances.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'VSwitchIds', + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92650', + 'abilityTreeNodes' => ['FEATUREess2GK585'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp1avr6ensitts3w****', 'title' => ''], + ], + [ + 'name' => 'ForceAttach', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to add all existing instances in the scaling group as backend servers of the load balancing CLB (formerly SLB) instances. Valid values:'."\n" + .' '."\n" + .'- true: All existing instances in the scaling group are added as backend servers of the load balancing instances when the load balancing instances are added to the scaling group.'."\n" + .' > If a load balancing instance has already been added to the scaling group and you want to add all instances in the scaling group as backend servers of the load balancing instance, you can add the load balancing instance to the scaling group again with the `ForceAttach` parameter set to `true`.'."\n" + ."\n" + .'- false: Existing instances in the scaling group are not added as backend servers of the load balancing instances when the load balancing instances are added to the scaling group.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], + ], + [ + 'name' => 'Async', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use asynchronous invocation when adding load balancing CLB (formerly SLB) instances. Asynchronous invocation ensures the transactional nature of the operation, which means that either all operations execute successfully or none of the operations take effect if one is failed. Use asynchronous invocation.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- true: Asynchronous invocation. The request returns the ID of the scaling activity.'."\n" + ."\n" + .'- false: Synchronous call.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'LoadBalancer', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of vSwitches. If you specify the **VSwitchIds.N** parameter, the **VSwitchId **parameter is ignored. If you specify the **VSwitchIds.N** parameter, the network type of the scaling group is VPC.'."\n" - ."\n" - .'If you specify multiple vSwitches, take note of the following items:'."\n" - ."\n" - .'* The vSwitches must belong to the same VPC.'."\n" - .'* The vSwitches can belong to different zones.'."\n" - .'* The vSwitches are sorted in ascending order of priority. The first vSwitch that is specified by the **VSwitchIds.N** parameter has the highest priority. If Auto Scaling fails to create ECS instances in the zone where the vSwitch that has the highest priority resides, Auto Scaling creates ECS instances in the zone where the vSwitch that has the next highest priority resides.'."\n" - ."\n" - .'> If you do not specify the **VSwitchId **or **VSwitchIds.N** parameter, the network type of the scaling group is classic network.', + 'description' => 'The IDs of the load balancing CLB (formerly SLB) instances to be added. Valid values of N: 1 to 5.', 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of vSwitches. If you specify the **VSwitchIds.N** parameter, the **VSwitchId **parameter is ignored. If you specify the **VSwitchIds.N** parameter, the network type of the scaling group is VPC.'."\n" - ."\n" - .'If you specify multiple vSwitches, take note of the following items:'."\n" - ."\n" - .'* The vSwitches must belong to the same VPC.'."\n" - .'* The vSwitches can belong to different zones.'."\n" - .'* The vSwitches are sorted in ascending order of priority. The first vSwitch that is specified by the **VSwitchIds.N** parameter has the highest priority. If Auto Scaling fails to create ECS instances in the zone where the vSwitch that has the highest priority resides, Auto Scaling creates ECS instances in the zone where the vSwitch that has the next highest priority resides.'."\n" - ."\n" - .'> If you do not specify the **VSwitchId **or **VSwitchIds.N** parameter, the network type of the scaling group is classic network.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp14zolna43z266bq****', - ], + 'items' => ['description' => 'The IDs of the load balancing CLB (formerly SLB) instances to be added. Valid values of N: 1 to 5.'."\n" + ."\n" + .'> You can add up to five load balancing instances to a scaling group at a time.', 'type' => 'string', 'required' => false, 'example' => 'lb-2zeur05gfs****', 'title' => ''], 'required' => false, - 'example' => 'vsw-bp14zolna43z266bq****', - 'maxItems' => 8, + 'example' => 'lb-2zeur05gfs****', + 'maxItems' => 5, + 'title' => '', ], ], [ - 'name' => 'LifecycleHook', + 'name' => 'LoadBalancerConfig', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The lifecycle hooks.', + 'description' => 'The load balancing CLB (formerly SLB) configuration list.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The load balancing CLB (formerly SLB) configuration list.', 'type' => 'object', 'properties' => [ - 'DefaultResult' => [ - 'description' => 'The action that Auto Scaling performs after the lifecycle hook of the scaling group times out. Valid values:'."\n" - ."\n" - .'* CONTINUE: continues to respond to scaling requests.'."\n" - .'* ABANDON: releases ECS instances that are created during scale-outs, or removes ECS instances from the scaling group during scale-ins.'."\n" - ."\n" - .'If multiple lifecycle hooks in the scaling group are triggered during a scale-in and you set the **LifecycleHook.N.DefaultResult** parameter to **ABANDON** for one of the lifecycle hooks, Auto Scaling immediately performs the action after the lifecycle hook whose **LifecycleHook.N.DefaultResult** parameter is set to **ABANDON** times out. In this case, other lifecycle hooks time out ahead of schedule. In other cases, Auto Scaling performs the action only after all lifecycle hooks time out. The action that Auto Scaling performs is determined by the value of the **LifecycleHook.N.DefaultResult** parameter that you set for the lifecycle hook that last times out.'."\n" - ."\n" - .'Default value: CONTINUE.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CONTINUE', - ], - 'LifecycleHookName' => [ - 'description' => 'The name of the lifecycle hook. After you specify this parameter, you cannot change the name of the lifecycle hook. If you do not specify this parameter, the name of the lifecycle hook is the same as the ID of the lifecycle hook.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lifecyclehook****', - ], - 'LifecycleTransition' => [ - 'description' => 'The type of the scaling activities to which you want to apply the lifecycle hook. Valid values:'."\n" - ."\n" - .'* SCALE_OUT: scale-outs'."\n" - .'* SCALE_IN: scale-ins'."\n" - ."\n" - .'> If you specify lifecycle hooks for the scaling group, the **LifecycleHook.N.LifecycleTransition** parameter is required.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SCALE_OUT', - ], - 'NotificationMetadata' => [ - 'description' => 'The fixed string that you want to include in a notification. When a lifecycle hook takes effect, Auto Scaling sends a notification. The value of this parameter cannot exceed 128 characters in length. Auto Scaling sends the value of the **NotificationMetadata** parameter together with the notification. This helps you categorize your notifications. If you specify the **NotificationMetadata** parameter, you must also specify the **NotificationArn** parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test', - ], - 'NotificationArn' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notification method that Auto Scaling uses to send a notification when a lifecycle hook takes effect. This notification method can be a Message Service (MNS) queue or an MNS topic. Specify the value of this parameter in the following format: acs:ess:{region}:{account-id}:{resource-relative-id}.'."\n" - ."\n" - .'* region: the region where the scaling group resides'."\n" - .'* account-id: the ID of the Alibaba Cloud account'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* MNS queue: acs:ess:{region}:{account-id}:queue/{queuename}'."\n" - .'* MNS topic: acs:ess:{region}:{account-id}:topic/{topicname}'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:ess:cn-hangzhou:1111111111:queue/queue2', - ], - 'HeartbeatTimeout' => [ - 'description' => 'The period of time before the lifecycle hook times out. After the lifecycle hook times out, Auto Scaling performs the action specified by the **DefaultResult** parameter. Valid values: 30 to 21600. Unit: seconds.'."\n" - ."\n" - .'After you create a lifecycle hook, you can call the [RecordLifecycleActionHeartbeat](~~73846~~) operation to prolong the timeout period of the lifecycle hook. You can also call the [CompleteLifecycleAction](~~73847~~) operation to end the timeout period ahead of schedule.'."\n" - ."\n" - .'Default value: 600.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '600', - ], + 'LoadBalancerId' => ['description' => 'The ID of the load balancing CLB (formerly SLB) instance.', 'type' => 'string', 'required' => false, 'example' => '147b46d767c-cn-qingdao-cm5****', 'title' => ''], + 'Weight' => ['description' => 'The weight of an ECS instance or elastic container instance as a backend server after Auto Scaling adds the instance to the CLB server group. A higher weight indicates that the instance receives more requests. If the weight is 0, the instance does not receive any requests.'."\n" + ."\n" + .'Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 100, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.'."\n" + ."\n" + .'This value is returned only when Async is set to true. You can call the [DescribeScalingActivities](~~25961~~) operation to query the returned scaling activity ID and check the execution status of the scaling activity.', 'type' => 'string', 'example' => 'asa-bp140qd7mak8k63f****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp140qd7mak8k63f****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Add one or more load balancing instances', + 'description' => '## Operation description'."\n" + ."\n" + .'When you add load balancing instances to a scaling group, the following conditions must be met: '."\n" + ."\n" + .'- The load balancing instances and the scaling group must belong to the same Alibaba Cloud account and the same region.'."\n" + ."\n" + .'- The load balancing instances must be in the `Running` state. '."\n" + ."\n" + .'- The load balancing instances must have at least one listener configured and health checks must be enabled.'."\n" + ."\n" + .'- If both the load balancing instances and the scaling group are of the VPC network type, they must be in the same VPC.'."\n" + ."\n" + .'- If the scaling group is of the VPC network type and the load balancing instances are of the classic network type, and the backend servers of the load balancing instances include VPC-connected instances, those instances must be in the same VPC as the scaling group.'."\n" + ."\n" + .'- The number of load balancing instances associated with the scaling group cannot exceed the quota limit. For more information, see [Limits](~~25863~~).', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HTTP status code|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You have not granted Auto Scaling full permissions to invoke API operations.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in your account.|'."\n" + .'|400|QuotaExceeded.LoadBalancer|LoadBalancer quota exceeded in the scaling group "%s".|The number of load balancing instances in the scaling group exceeds the quota limit.|'."\n" + .'|404|InvalidLoadBalancerId.NotFound|The load balancer "%s" does not exist.|The specified load balancing instance does not exist.|'."\n" + .'|400|InvalidLoadBalancerId.RegionMismatch|The load balancer "%s" and the specified scaling group are not in the same Region.|The load balancing instance and the scaling group are not in the same region.|'."\n" + .'|400|IncorrectLoadBalancerStatus|The current status of the load balancer "%s" does not support this action.|The instance status of the load balancing instance does not support this operation.|'."\n" + .'|400|IncorrectLoadBalancerHealthCheck|The current health check type of the load balancer "%s" does not support this action.|Health checks are not enabled for the load balancing instance.|'."\n" + .'|400|InvalidLoadBalancerId.VPCMismatch|The specified virtual switch and the instance in the load balancer "%s" are not in the same VPC.|The load balancing instance and the scaling group are not in the same VPC.|'."\n" + .'|400|QuotaExceeded.BackendServer|Backend server quota exceeded in the load balancer "%s".|The number of backend servers of the load balancing instance exceeds the quota limit.|'."\n" + .'|404|InvalidScalingConfigurationId.NotFound|The specified scaling configuration does not exist.|The scaling configuration that is enabled for the scaling group does not exist.|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachLoadBalancers'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachLoadBalancers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + ], + 'AttachServerGroups' => [ + 'summary' => 'Adds one or more load balancing server groups to a scaling group. Supported server group types include Application Load Balancer (ALB) and Network Load Balancer (NLB).', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'VServerGroup', + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '166340', + 'abilityTreeNodes' => ['FEATUREess2GK585'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], + ], + [ + 'name' => 'ForceAttach', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to add the existing ECS instances or Elastic Container Instance (ECI) instances in the scaling group to the new server group. Valid values:'."\n" + ."\n" + .'- true: Adds the instances.'."\n" + ."\n" + .'- false: Does not add the instances.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'ServerGroup', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Details of the backend vServer groups that you want to associate with the scaling group.', + 'description' => 'The information about the load balancing server groups.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The information about the load balancing server groups.', 'type' => 'object', 'properties' => [ - 'VServerGroupAttribute' => [ - 'description' => 'VServerGroupAttribute', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The ID of the backend vServer group.'."\n" - ."\n" - .'For more information, see the [AttachVServerGroups](~~98983~~) topic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-bp1443g77****', - ], - 'Weight' => [ - 'description' => 'The weight of an ECS instance after Auto Scaling adds the ECS instance to the backend vServer group as a backend server. If you increase the weight of an ECS instance in a backend vServer group, the number of access requests that are forwarded to the ECS instance increases. If you set the **Weight **parameter of an ECS instance in a backend vServer group to **0**, no access requests are forwarded to the ECS instance. Valid values: 0 to 100. Default value: 50.'."\n" - ."\n" - .'For more information, see the [AttachVServerGroups](~~98983~~) topic.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port number that is used by an ECS instance after Auto Scaling adds the ECS instance to the backend vServer group. Valid values: 1 to 65535.'."\n" - ."\n" - .'For more information, see the [AttachVServerGroups](~~98983~~) topic.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '22', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 100, - ], - 'LoadBalancerId' => [ - 'description' => 'The ID of the CLB instance to which the backend vServer group belongs.'."\n" - ."\n" - .'For more information, see the [AttachVServerGroups](~~98983~~) topic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp1u7etiogg38yvwz****', - ], + 'ServerGroupId' => ['description' => 'The ID of the load balancing server group.', 'type' => 'string', 'required' => true, 'example' => 'sgp-60ofsqhwer0b***', 'title' => ''], + 'Type' => ['description' => 'The type of the load balancing server group. Valid values:'."\n" + ."\n" + .'- ALB: Application Load Balancer (ALB).'."\n" + .'- NLB: Network Load Balancer (NLB).'."\n" + .'- GWLB: Gateway Load Balancer (GWLB).', 'type' => 'string', 'required' => true, 'example' => 'ALB', 'title' => ''], + 'Weight' => ['description' => 'The weight of an ECS instance or ECI instance as a backend server after Auto Scaling adds the instance to the server group. Valid values: 0 to 100.'."\n" + ."\n" + .'A higher weight indicates that the instance is allocated more access requests. If the weight is 0, the instance does not receive any access requests.'."\n" + ."\n" + .'> This parameter is required for ALB and NLB load balancing server groups. You cannot configure this parameter in Settings for GWLB load balancing server groups.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by an ECS instance or ECI instance after Auto Scaling adds the instance to the server group.'."\n" + ."\n" + .'Valid values: 1 to 65535.'."\n" + ."\n" + .'> This parameter is required for ALB and NLB load balancing server groups. You cannot configure this parameter in Settings for GWLB load balancing server groups, and the default value is 6081.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], - 'required' => false, + 'required' => true, 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'Tag', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Details of the tags that you want to add to the scaling group.', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N that you want to add to the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Department', - ], - 'Value' => [ - 'description' => 'The value of tag N that you want to add to the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Finance', - ], - 'Propagate' => [ - 'description' => 'Specifies whether to propagate tag N that you want to add to the scaling group. Valid values:'."\n" - ."\n" - .'* true: propagates tag N to instances that are newly created and does not propagate tag N to instances that are already running in the scaling group.'."\n" - .'* false: does not propagate tag N to any instances.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], - ], - [ - 'name' => 'LaunchTemplateOverride', - 'in' => 'query', - 'style' => 'repeatList', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Details of the instance types that you specify by using the Extended Configurations feature of the launch template.', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => 'Instance type N that you want to use to override the instance type that is specified in the launch template. If you want to scale instances in the scaling group based on the weighted capacity of the instances, you must specify the **LaunchTemplateOverride.N.InstanceType** and **LaunchTemplateOverride.N.WeightedCapacity** parameters.'."\n" - ."\n" - .'You can specify N instance types by using the Extended Configurations feature of the launch template. Valid values of N: 1 to 10.'."\n" - ."\n" - .'> This parameter is available only if you specify the **LaunchTemplateId **parameter.'."\n" - ."\n" - .'For information about the valid values of **InstanceType **in **InstanceTypeOverride.N.InstanceType**, see the [Overview of instance families](~~25378~~) topic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c5.xlarge', - ], - 'WeightedCapacity' => [ - 'description' => 'The weight of instance type N. The weight of an instance type specifies the capacity of an instance of the instance type in the scaling group. If you want to scale instances in the scaling group based on the weighted capacity of the instances, you must specify the **LaunchTemplateOverride.N.WeightedCapacity** parameter after you specify the **LaunchTemplateOverride.N.InstanceType** parameter. The values of N in the two parameters must be the same.'."\n" - ."\n" - .'A higher weight specifies that a smaller number of instances of the specified instance type are required to meet the expected capacity requirement.'."\n" - ."\n" - .'Performance metrics, such as the number of vCPUs and the memory size of each instance type, may vary. You can specify different weights for different instance types based on your business requirements.'."\n" - ."\n" - .'Example:'."\n" - ."\n" - .'* Current capacity: 0'."\n" - .'* Expected capacity: 6'."\n" - .'* Capacity of ecs.c5.xlarge: 4'."\n" - ."\n" - .'To meet the expected capacity requirement, Auto Scaling must create two ecs.c5.xlarge instances.'."\n" - ."\n" - .'> The capacity of the scaling group during a scale-out cannot exceed the sum of the maximum number of instances that is specified by the **MaxSize **parameter and the maximum weight of the instance types.'."\n" - ."\n" - .'Valid values of **WeightedCapacity **in the **InstanceTypeOverride.N.WeightedCapacity** parameter: 1 to 500.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], - 'SpotPriceLimit' => [ - 'description' => 'The maximum bid price of instance type N that is specified by the `LaunchTemplateOverride.N.InstanceType` parameter. You can specify N instance types by using the Extended Configurations feature of the launch template. Valid values of N: 1 to 10.'."\n" - ."\n" - .'> This parameter is available only if you specify the `LaunchTemplateId` parameter.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.025', - ], - ], - 'required' => false, + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity that is triggered when the load balancing server group is added and the existing ECS instances or ECI instances in the scaling group are added to the server group.'."\n" + .'> This parameter is returned only when ForceAttach is set to true.', 'type' => 'string', 'example' => 'asa-bp1c9djwrgxjyk31****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '74C4E313-8570-479F-8791-DC25360D****', 'title' => ''], ], - 'required' => false, - 'maxItems' => 20, + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'AlbServerGroup', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Details of the Application Load Balancer (ALB) server groups that you want to associate with the scaling group.', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'AlbServerGroupId' => [ - 'description' => 'The ID of ALB server group N.'."\n" - ."\n" - .'N specifies the serial number of the ALB server group. You can associate only a limited number of ALB server groups with a scaling group. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check the maximum number of ALB server groups that you can associate with a scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sgp-ddwb0y0g6y9bjm****', - ], - 'Weight' => [ - 'description' => 'The weight of an ECS instance after Auto Scaling adds the ECS instance to ALB server group N as a backend server. If you increase the weight of an ECS instance in ALB server group N, the number of access requests that are forwarded to the ECS instance also increases. If you set the **Weight **parameter of an ECS instance in ALB server group N to **0**, no access requests are forwarded to the ECS instance. Valid values: 0 to 100.'."\n" - ."\n" - .'N specifies the serial number of the ALB server group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port number that is used by an ECS instance after Auto Scaling adds the ECS instance to ALB server group N. Valid values: 1 to 65535.'."\n" - ."\n" - .'N specifies the serial number of the ALB server group.'."\n" - ."\n" - .'> If the N values are the same but the port numbers are different, Auto Scaling associates multiple ports of ALB server group N with the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '22', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 100, - ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1c9djwrgxjyk31****\\",\\n \\"RequestId\\": \\"74C4E313-8570-479F-8791-DC25360D****\\"\\n}","type":"json"}]', + 'title' => 'Add one or more load balancing server groups', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachServerGroups'], ], + ], + 'ramActions' => [ [ - 'name' => 'ServerGroup', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Details of the server groups.'."\n" - ."\n" - .'>You cannot use the AlbServerGroups parameter and the ServerGroups parameter to specify the same server group.', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ServerGroupId' => [ - 'description' => 'The ID of server group N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sgp-5yc3bd9lfyh*****', - ], - 'Type' => [ - 'description' => 'The type of server group N. Valid values:'."\n" - ."\n" - .'* ALB'."\n" - .'* NLB'."\n" - ."\n" - .'> Auto Scaling supports the following types of server groups: ALB server groups and NLB server groups.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ALB', - ], - 'Weight' => [ - 'description' => 'The weight of an ECS instance after Auto Scaling adds the ECS instance to server group N as a backend server. Valid values: 0 to 100.'."\n" - ."\n" - .'If you increase the weight of an ECS instance in server group N, the number of access requests that are forwarded to the ECS instance also increases. If you set the **Weight **parameter of an ECS instance in server group N to **0**, no access requests are forwarded to the ECS instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port number that is used by an ECS instance in the scaling group after Auto Scaling adds the ECS instance to server group N. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '22', - ], - ], - 'required' => false, + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, - 'maxItems' => 100, - ], - ], - [ - 'name' => 'AzBalance', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to evenly distribute instances in the scaling group across multiple zones. This parameter is available only if you set the `MultiAZPolicy` parameter to `COMPOSABLE`. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', ], ], + ], + ], + 'AttachVServerGroups' => [ + 'summary' => 'Adds one or more virtual service groups under a load balancing instance.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'AllocationStrategy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The allocation policy of instances. Auto Scaling selects instance types based on the allocation policy to create the required number of instances. The policy can be applied to pay-as-you-go instances and preemptible instances. This parameter is available only if you set the `MultiAZPolicy` parameter to `COMPOSABLE`. Valid values:'."\n" - ."\n" - .'* priority: Auto Scaling selects instance types based on the specified orders of the instance types to create the required number of instances.'."\n" - .'* lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPUs to create the required number of instances.'."\n" - ."\n" - .'Default value: priority.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'priority', - ], + 'AK' => [], ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92651', + 'abilityTreeNodes' => ['FEATUREess2GK585'], + ], + 'parameters' => [ [ - 'name' => 'SpotAllocationStrategy', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The allocation policy of preemptible instances. You can use this parameter to individually specify the allocation policy of preemptible instances. This parameter is available only if you set the `MultiAZPolicy` parameter to `COMPOSABLE`. Valid values:'."\n" - ."\n" - .'* priority: Auto Scaling selects instance types based on the specified orders of the instance types to create the required number of preemptible instances.'."\n" - .'* lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPUs to create the required number of preemptible instances.'."\n" - ."\n" - .'Default value: priority.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lowestPrice', - ], + 'schema' => ['description' => 'The ID of the region where the scaling group resides, such as ap-southeast-1. For more information, refer to [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'MaxInstanceLifetime', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum life span of an instance in the scaling group. Unit: seconds.'."\n" - ."\n" - .'Valid values: 86400 to the value of the `Integer.maxValue` parameter.'."\n" - ."\n" - .'Default value: null.'."\n" - ."\n" - .'> You cannot specify this parameter for scaling groups that manage elastic container instances or scaling groups whose ScalingPolicy parameter is set to recycle.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => 'null', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'CustomPolicyARN', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the custom scale-in policy (Function). This parameter is available only if you specify **CustomPolicy **as the value of the **RemovalPolicy.1** parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, refer to [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'ForceAttach', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group to which you want to add the scaling group.'."\n" - ."\n" - .'> If you specify this parameter, new scaling groups are added to the specified resource group. If you do not specify this parameter, new scaling groups are added to the default resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-123****', - ], + 'schema' => ['description' => 'Indicates whether to add the ECS instances or elastic container instances in the current scaling group to the new virtual service groups.'."\n" + ."\n" + .'- true: adds the instances.'."\n" + ."\n" + .'- false: does not add the instances.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], ], [ - 'name' => 'LoadBalancerConfig', + 'name' => 'VServerGroup', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ + 'description' => 'The collection of information about the virtual service groups associated with the scaling group.', 'type' => 'array', 'items' => [ + 'description' => 'The collection of information about the virtual service groups associated with the scaling group.', 'type' => 'object', 'properties' => [ - 'LoadBalancerId' => [ - 'type' => 'string', - 'required' => false, - 'description' => 'The ID of the SLB instance.'."\n", - 'example' => 'lb-2zefi4w0emxh131bg3l9b', - ], - 'Weight' => [ - 'type' => 'integer', - 'format' => 'int32', + 'VServerGroupAttribute' => [ + 'description' => 'The virtual service group properties.', + 'type' => 'array', + 'items' => [ + 'description' => 'The virtual service group properties.', + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => ['description' => 'The ID of the virtual service group. In this parameter:'."\n" + ."\n" + .'- The first N specifies the load balancing instance number. Valid values: 1 to 5.'."\n" + ."\n" + .'- The second N specifies the virtual service group number under the load balancing instance. Valid values: 1 to 5.', 'type' => 'string', 'required' => false, 'example' => 'rsp-bp1jp1rge****', 'title' => ''], + 'Weight' => ['description' => 'The weight that Auto Scaling sets when it adds ECS instances or elastic container instances to the virtual service group. Valid values: 0 to 100. In this parameter:'."\n" + ."\n" + .'- The first N specifies the load balancing instance number. Valid values: 1 to 5.'."\n" + ."\n" + .'- The second N specifies the virtual service group number under the load balancing instance. Valid values: 1 to 5.'."\n" + ."\n" + .'Default value: 50.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number that Auto Scaling uses when it adds ECS instances or elastic container instances to the virtual service group. Valid values: 1 to 65535. In this parameter:'."\n" + ."\n" + .'- The first N specifies the load balancing instance number. Valid values: 1 to 5.'."\n" + ."\n" + .'- The second N specifies the virtual service group number under the load balancing instance. Valid values: 1 to 5.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'description' => 'Auto Scaling adds an ECS instance to a Server Load Balancer CLB server group, and the ECS instance is used as the weight of the backend server. The higher the weight, the more access requests the ECS instance will be assigned. If the weight is 0, the ECS instance does not receive access requests.'."\n" - ."\n" - .'Value range: 0~100.', - 'example' => '10', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], + 'LoadBalancerId' => ['description' => 'The ID of the load balancing instance to which the virtual service group belongs. N specifies the load balancing instance number. Valid values: 1 to 5.', 'type' => 'string', 'required' => false, 'example' => 'lb-bp1u7etiogg38yvwz****', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], - 'required' => false, - 'maxItems' => 20, - 'description' => 'LoadBalancerConfig', - ], - ], - [ - 'name' => 'HealthCheckTypes', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + 'required' => true, 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'DBInstance', - 'in' => 'query', - 'style' => 'repeatList', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DBInstanceId' => [ - 'type' => 'string', - ], - 'Type' => [ - 'type' => 'string', - ], - 'AttachMode' => [ - 'type' => 'string', - ], - ], + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], - 'maxItems' => 5, + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'StopInstanceTimeout', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'AttachVServerGroups', + 'description' => '## Operation description'."\n" + ."\n" + .'- The following conditions must be met when you add virtual service groups to a scaling group:'."\n" + ."\n" + .' - The load balancing instance and the scaling group must belong to the same account.'."\n" + ."\n" + .' - The load balancing instance and the scaling group must be in the same region.'."\n" + ."\n" + .' - The load balancing instance must be in the Running state.'."\n" + ."\n" + .' - The load balancing instance must have at least one listener configured, and health check must be enabled.'."\n" + ."\n" + .' - If both the load balancing instance and the scaling group are in a VPC, they must be in the same VPC.'."\n" + ."\n" + .' - If the network type of the scaling group is VPC and the network type of the load balancing instance is classic network, and the virtual service group contains a VPC-connected instance, the instance must be in the same VPC as the scaling group.'."\n" + ."\n" + .' - The virtual service groups to be added must belong to the corresponding load balancing instance.'."\n" + ."\n" + .' - The number of virtual service groups in the scaling group cannot exceed the quota. For more information about the quota, refer to [Limits](~~40654~~).'."\n" + ."\n" + .'- When you add virtual service groups to a scaling group, you must specify the following properties:'."\n" + ."\n" + .' - Load balancing instance ID (LoadBalancerId)'."\n" + ."\n" + .' - Virtual service group ID (VServerGroupId)'."\n" + ."\n" + .' - Virtual service group port number (Port)'."\n" + ."\n" + .' >If you add the same virtual service group to a scaling group by using different port numbers, the virtual service group is considered as multiple virtual service groups in the scaling group. If the virtual service group ID and port number are both duplicated in the request parameters, the first configured group is used by default, and the remaining virtual service groups are ignored.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You have not granted Auto Scaling full permissions to call API operations.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in your account.|'."\n" + .'|404|InvalidLoadBalancerId.NotFound|The load balancer "%s" does not exist.|The specified load balancing instance does not exist in your account.|'."\n" + .'|400|InvalidLoadBalancerId.RegionMismatch|The load balancer "%s" and the specified scaling group are not in the same Region.|The load balancing instance and the scaling group are not in the same region.|'."\n" + .'|400|IncorrectLoadBalancerStatus|The instance status of the load balancer "%s" does not support this action.|The instance status of the load balancing instance does not support this operation.|'."\n" + .'|400|IncorrectLoadBalancerHealthCheck|The current health check type of the load balancer "%s" does not support this action.|Health check is not enabled for the load balancing instance.|'."\n" + .'|400|InvalidLoadBalancerId.VPCMismatch|The specified virtual switch and the instance in the load balancer "%s" are not in the same VPC.|The load balancing instance and the scaling group are not in the same VPC.|'."\n" + .'|400|InvalidVServerGroupId.ForLoadBalancer|Invalid VServerGroupId For LoadBalancer "%s".|The virtual service group specified by VServerGroupId does not belong to the specified load balancing instance.|'."\n" + .'|400|QuotaExceeded.VServerGroup|VServerGroup quota exceeded in the specified scaling group.|The number of virtual service groups in the scaling group has reached the upper limit.|', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachVServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachVServerGroups'], + ], + ], + ], + 'CancelInstanceRefresh' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'CapacityOptions', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '232214', + 'abilityTreeNodes' => ['FEATUREessPV8ZVU'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'OnDemandBaseCapacity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'OnDemandPercentageAboveBaseCapacity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'CompensateWithOnDemand' => [ - 'type' => 'boolean', - ], - 'SpotAutoReplaceOnDemand' => [ - 'type' => 'boolean', - ], - 'PriceComparisonMode' => [ - 'type' => 'string', - ], - ], - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'BalanceMode', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡模式', - 'type' => 'string', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], ], [ - 'name' => 'AutoRebalance', + 'name' => 'InstanceRefreshTaskId', 'in' => 'query', - 'schema' => [ - 'title' => '自动重新平衡设置', - 'type' => 'boolean', - ], + 'schema' => ['description' => 'The ID of the instance refresh task.', 'type' => 'string', 'required' => false, 'example' => 'ir-aca123sf****', 'title' => ''], ], ], 'responses' => [ @@ -1168,138 +1110,76 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asg-bp14wlu85wrpchm0****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'ResourceNotAvailable.VPCNetwork', - 'errorMessage' => 'The specified zone does not support vpc network or sold out.', + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], + ], + ], + 'title' => 'CancelInstanceRefresh', + 'summary' => 'Cancels an instance refresh task. Instances that have already been replaced or added during scale-out are retained.', + 'description' => '## Operation description'."\n" + .'An instance refresh task that is being rolled back cannot be canceled.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:CancelInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingGroupId\\": \\"asg-bp14wlu85wrpchm0****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n asg-bp14wlu85wrpchm0****\\n","errorExample":""}]', - 'title' => 'CreateScalingGroup', - 'description' => '## Description'."\n" - ."\n" - .'A scaling group is a group of Elastic Compute Service (ECS) instances that can be used in similar business scenarios.'."\n" - ."\n" - .'You can create only a limited number of scaling groups in a region. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check your quota of scaling groups.****'."\n" - ."\n" - .'A scaling group does not immediately take effect after you create the scaling group. You must call the [EnableScalingGroup](~~25939~~) operation to enable the scaling group. After you enable the scaling group, Auto Scaling can execute scaling rules to trigger scaling activities in the scaling group.'."\n" - ."\n" - .'The Classic Load Balancer (CLB) instances and ApsaraDB RDS instances that you want to associate with a scaling group must reside in the same region as the scaling group. CLB instances are formerly known as Server Load Balancer (SLB) instances. For more information, see the [Regions and zones](~~40654~~) topic.'."\n" - ."\n" - .'If you associate a CLB instance with a scaling group, Auto Scaling automatically adds ECS instances in the scaling group to the backend server groups of the associated CLB instance. You can specify a server group to which ECS instances can be added. You can add ECS instances to the following types of server groups:'."\n" - ."\n" - .'* Default server group: a group of ECS instances that are used to receive requests. If you do not specify a vServer group or a primary/secondary server group for a listener, requests are forwarded to the ECS instances in the default server group.'."\n" - ."\n" - .'* vServer group: If you want to forward requests to backend servers that are not in the default server group or configure domain name-based or URL-based forwarding rules, you can use vServer groups.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** If you specify the default server group and multiple vServer groups at the same time, ECS instances are added to all the specified server groups.'."\n" - ."\n" - .' The default weight of an ECS instance that is added as a backend server of a CLB instance is 50. The CLB instance that you want to associate with your scaling group must meet the following requirements:'."\n" - ."\n" - .'* The CLB instance must be in the **Active **state. You can call the [DescribeLoadBalancers](~~27582~~) operation to query the status of the CLB instance.'."\n" - ."\n" - .'* The health check feature must be enabled on all listener ports that are configured for the CLB instance. Otherwise, the scaling group cannot be created.'."\n" - ."\n" - .'If you associated an Application Load Balancer (ALB) or Network Load Balancer (NLB) server group with a scaling group, Auto Scaling automatically adds ECS instances in the scaling group to the ALB or NLB server group to process requests distributed by the ALB or NLB instance to which the associated server group belongs. You can specify multiple ALB or NLB server groups, but the server groups must belong to the same virtual private cloud (VPC) as the scaling group. For more information, see [AttachAlbServerGroups](~~266800~~) or [AttachServerGroups](~~600535~~).'."\n" - ."\n" - .'If you associated an ApsaraDB RDS instance with a scaling group, Auto Scaling automatically adds the private IP addresses of the ECS instances that are in the scaling group to the IP address whitelist of the ApsaraDB RDS instance. The ApsaraDB RDS instance that you want to associate with your scaling group must meet the following requirements:'."\n" - ."\n" - .'* The ApsaraDB RDS instance must be in the **Running **state. You can call the [DescribeDBInstances](~~26232~~) operation to query the status of the ApsaraDB RDS instance.'."\n" - .'* The number of IP addresses in the IP address whitelist of the ApsaraDB RDS instance cannot exceed the upper limit. For more information, see the [Configure IP address whitelists](~~43185~~) topic.'."\n" - ."\n" - .'If you set the `MultiAZPolicy` parameter of the scaling group to `COST_OPTIMIZED`, take note of the following items:'."\n" - ."\n" - .'* You can use the **OnDemandBaseCapacity**, **OnDemandPercentageAboveBaseCapacity**, and **SpotInstancePools **parameters to specify an instance allocation method based on the cost optimization policy. The specified instance allocation method is prioritized during scaling.'."\n" - .'* If you do not specify the **OnDemandBaseCapacity**, **OnDemandPercentageAboveBaseCapacity**, or **SpotInstancePools **parameter, the instance types that are provided at the lowest price are used to create instances based on the cost optimization policy.'."\n" - ."\n" - .'If you set the `Tag.N.Propagate` parameter of the scaling group to `true`, take note of the following items:'."\n" - ."\n" - .'* Tags that you add to the scaling group cannot be propagated to existing instances in the scaling group. Tags that you add to the scaling group are propagated to only new instances.'."\n" - .'* If you specify instance tags in the scaling configuration that is used to create instances and propagate the tags that you add to the scaling group to the instances, all tags exist at the same time.'."\n" - .'* If the tag key that you specify in a scaling configuration and the tag key that you add to the scaling group of the scaling configuration are the same, the tag value that you specify in the scaling configuration is preferentially used.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', ], - 'DeleteScalingGroup' => [ - 'summary' => 'Deletes a scaling group. ', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ChangeResourceGroup' => [ + 'summary' => 'Adds a scaling group as a resource to a resource group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '92667', - 'abilityTreeNodes' => [ - 'FEATUREess909XOL', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '163910', + 'abilityTreeNodes' => ['FEATUREessXN6KX4'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The ID of the region where the scaling group resides.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ForceDelete', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to forcibly delete the scaling group and remove and release Elastic Compute Service (ECS) instances in the scaling group when the ECS instances or ongoing scaling activities exist in the scaling group. Valid values:'."\n" - ."\n" - .'* true: The scaling group is disabled and new scaling requests are rejected. After all existing scaling requests are processed, the ECS instances in the scaling group are removed. Then, the scaling group is deleted. If the ECS instances are manually added to the scaling group, the ECS instances are removed. If the ECS instances are automatically created in the scaling group, the ECS instances are removed and released.'."\n" - ."\n" - .'* false: You can set this parameter to false if the following conditions are met:'."\n" - ."\n" - .' * No ongoing scaling activities exist in the scaling group.'."\n" - .' * The Total Capacity parameter is set to 0, which specifies that no ECS instances exist in the scaling group.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The resource type. Only scaling groups are supported. Set the value to scalinggroup.', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'ResourceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The ID of the scaling group whose resource group you want to change.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp17xb4x1vr29lgt****', 'title' => ''], + ], + [ + 'name' => 'NewResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the new resource group to which you want to move the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'rg-aek2ckjqe3****', 'title' => ''], ], ], 'responses' => [ @@ -1307,1228 +1187,1438 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'DeleteScalingGroup', - 'description' => '## Description'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Change the resource group of a scaling group', + 'description' => '## Operation description'."\n" ."\n" - .'Before you call the DeleteScalingGroup operation to delete a scaling group, take note of the following items:'."\n" + .'- A resource is a cloud service entity that you create on Alibaba Cloud. For example, a scaling group is a resource.'."\n" ."\n" - .'* If you delete a scaling group, the scaling configuration, scaling rules, scaling activities, and scaling requests related to the scaling group are also deleted.'."\n" - .'* If you delete a scaling group, the scheduled tasks and event-triggered tasks of the scaling group are not deleted. The Server Load Balancer (SLB) instances and ApsaraDB RDS instances with which the scaling group is associated are also not deleted.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'ModifyScalingGroup' => [ - 'summary' => 'Modifies a scaling group.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .'- A resource group is a mechanism for managing resources by group within an Alibaba Cloud account. Resource groups help you resolve complex issues related to resource grouping and authorization management within a single cloud account. For more information, see [What is Resource Management](~~94475~~).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ChangeResourceGroup'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ChangeResourceGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'CompleteLifecycleAction' => [ + 'summary' => 'Completes the wait state of a scaling activity ahead of schedule.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92709', - 'abilityTreeNodes' => [ - 'FEATUREessXN6KX4', - ], + 'abilityTreeCode' => '92652', + 'abilityTreeNodes' => ['FEATUREessKFTMD6'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'LifecycleHookId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group that you want to modify.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp1ffogfdauy0jw0****', - ], + 'schema' => ['description' => 'The ID of the lifecycle hook.', 'type' => 'string', 'required' => true, 'example' => 'ash-bp14g3ee6bt3sc98****', 'title' => ''], ], [ - 'name' => 'ScalingGroupName', + 'name' => 'LifecycleActionToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the scaling group. The name of each scaling group must be unique in a region. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter or a digit.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The token that indicates the wait state of the scaling activity. You can obtain this value from the MNS queue or MNS topic specified by the lifecycle hook.', 'type' => 'string', 'required' => true, 'example' => 'aaaa-bbbbb-cccc-ddddd', 'title' => ''], ], [ - 'name' => 'MinSize', + 'name' => 'LifecycleActionResult', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of ECS instances in the scaling group. When the number of ECS instances in the scaling group is less than the value of the MinSize parameter, Auto Scaling automatically adds ECS instances until the number of instances is equal to the value of the `MinSize` parameter.'."\n" - ."\n" - .'> The value of the `MinSize` parameter must be less than or equal to the value of the `MaxSize` parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The next action to take after the lifecycle hook wait state ends. Valid values:'."\n" + ."\n" + .'- CONTINUE: continues responding to a scale-out activity and adds ECS instances to the scaling group. Continues responding to a scale-down activity and removes ECS instances from the scaling group.'."\n" + .'- ABANDON: terminates the scale-out activity and releases the created ECS instances. Continues responding to the scale-down activity and removes ECS instances from the scaling group.'."\n" + .'- ROLLBACK: rejects the release of ECS instances during a scale-down activity and performs a rollback. For a scale-out activity, the effect is the same as ABANDON.'."\n" + ."\n" + .'If you do not specify this parameter, the next action after the lifecycle hook wait state ends remains the `DefaultResult` value configured for the lifecycle hook.'."\n" + ."\n" + .'When multiple lifecycle hooks in a scaling group are triggered simultaneously, the final next action is determined as follows:'."\n" + ."\n" + .'- For a scale-down activity, when the wait state triggered by a lifecycle hook of the `ABANDON` or `ROLLBACK` type ends, the wait states of subsequent lifecycle hooks are completed ahead of schedule.'."\n" + .'- For a `CONTINUE` type lifecycle hook that suspends a scale-down activity, or for a scale-out activity, subsequent lifecycle hooks continue to suspend the scaling activity until the wait state triggered by the last lifecycle hook ends. The final next action is determined by the type of the last lifecycle hook whose wait state ends.', 'type' => 'string', 'required' => false, 'example' => 'CONTINUE', 'title' => ''], ], [ - 'name' => 'MaxSize', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of ECS instances in the scaling group. When the number of ECS instances in the scaling group is greater than the value of the MaxSize parameter, Auto Scaling automatically removes ECS instances from the scaling group until the number of instances is equal to the value of the `MaxSize` parameter.'."\n" - ."\n" - .'The value range of the MaxSize parameter varies based on the instance quota. You can go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check the quota of instances that can be added to a scaling group.****'."\n" - ."\n" - .'For example, if the quota of instances that can be added to a scaling group is 2,000, the valid values of the `MaxSize` parameter range from 0 to 2000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '99', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'DefaultCooldown', + 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The cooldown time of the scaling group after a scaling activity is triggered. Valid values: 0 to 86400. Unit: seconds.'."\n" - ."\n" - .'During the cooldown time, Auto Scaling executes only scaling activities that are triggered by event-triggered tasks monitored by CloudMonitor.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '86400', - 'minimum' => '0', - 'example' => '600', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Complete the wait state of a scaling activity ahead of schedule', + 'description' => '## Operation description'."\n" + ."\n" + .'You can set the next action after the wait state ends to continue responding to the scaling activity (CONTINUE), abandon the scaling activity (ABANDON), or perform a rollback (ROLLBACK).', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidParamter|The specified value of parameter is invalid.|The specified parameter value is invalid.|'."\n" + .'|400|LifecycleHookIdAndLifecycleActionToken.Invalid|The specified lifecycleActionToken and lifecycleHookId you provided does not match any in process lifecycle action.|The specified LifecycleActionToken does not match the specified LifecycleHookId.|.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:CompleteLifecycleAction', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CompleteLifecycleAction'], + ], + ], + ], + 'CreateAlarm' => [ + 'summary' => 'Creates an event-triggered task.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'RemovalPolicy.1', + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '92653', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The first step to remove ECS instances from the scaling group. Valid values:'."\n" - ."\n" - .'* OldestInstance: removes ECS instances that are added at the earliest point in time to the scaling group.'."\n" - .'* NewestInstance: removes ECS instances that are most recently added to the scaling group.'."\n" - .'* OldestScalingConfiguration: removes ECS instances that are created based on the earliest scaling configuration.'."\n" - .'* CustomPolicy: removes ECS instances based on the custom scale-in policy (Function).'."\n" - ."\n" - .'> The scaling configuration source specified by OldestScalingConfiguration can be a scaling configuration or a launch template. The CustomPolicy setting is available only for the RemovalPolicy.1 parameter. If you set the RemovalPolicy.1 parameter to CustomPolicy, you must also specify the CustomPolicyARN parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'OldestScalingConfiguration', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'RemovalPolicy.2', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The second step to remove ECS instances from the scaling group. Valid values:'."\n" - ."\n" - .'* OldestInstance: removes ECS instances that are added at the earliest point in time to the scaling group.'."\n" - ."\n" - .'* NewestInstance: removes ECS instances that are most recently added to the scaling group.'."\n" - ."\n" - .'* OldestScalingConfiguration: removes ECS instances that are created based on the earliest scaling configuration.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** The scaling configuration source specified by OldestScalingConfiguration can be a scaling configuration or a launch template.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NewestInstance', - ], + 'schema' => ['description' => 'The name of the event-triggered task.', 'type' => 'string', 'required' => false, 'example' => 'TestAlarmTask', 'title' => ''], ], [ - 'name' => 'RemovalPolicy.3', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The third step to remove ECS instances from the scaling group. Valid values:'."\n" - ."\n" - .'* OldestInstance: removes ECS instances that are added at the earliest point in time to the scaling group.'."\n" - .'* NewestInstance: removes ECS instances that are most recently added to the scaling group.'."\n" - .'* OldestScalingConfiguration: removes ECS instances that are created based on the earliest scaling configuration.'."\n" - ."\n" - .'> The scaling configuration source specified by OldestScalingConfiguration can be a scaling configuration or a launch template.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'OldestInstance', - ], + 'schema' => ['description' => 'The description of the event-triggered task.', 'type' => 'string', 'required' => false, 'example' => 'Test alarm task.', 'title' => ''], ], [ - 'name' => 'ActiveScalingConfigurationId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the active scaling configuration in the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asc-bp17pelvl720x5ub****', - ], + 'schema' => ['description' => 'The ID of the scaling group associated with the event-triggered task.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'HealthCheckType', + 'name' => 'MetricName', 'in' => 'query', - 'schema' => [ - 'description' => 'The health check mode of the scaling group. Valid values:'."\n" - ."\n" - .'* NONE: Auto Scaling does not perform health checks on instances in the scaling group.'."\n" - .'* ECS: Auto Scaling performs health checks on ECS instances in the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ECS', - ], + 'schema' => ['description' => 'The name of the monitoring metric. Valid values vary based on the monitoring type of the event-triggered task:'."\n" + ."\n" + .'- If the event-triggered task is of the custom monitoring type (MetricType=custom), valid values are your custom monitoring metrics.'."\n" + ."\n" + .'- If the event-triggered task is of the system monitoring type (MetricType=system), valid values: '."\n" + .' - CpuUtilization: (ECS) CPU utilization (%).'."\n" + ."\n" + .' - ConcurrentConnections: (ECS) number of concurrent connections to an ECS instance.'."\n" + ."\n" + .' - IntranetTx: (ECS) outbound traffic over the internal network (Kbit/min).'."\n" + ."\n" + .' - IntranetRx: (ECS) inbound traffic over the internal network (Kbit/min).'."\n" + ."\n" + .' - VpcInternetTx: (ECS) outbound traffic over the Internet (Kbit/min).'."\n" + ."\n" + .' - VpcInternetRx: (ECS) inbound traffic over the Internet (Kbit/min).'."\n" + ."\n" + .' - SystemDiskReadBps: (ECS) system cloud disk read BPS (byte/s).'."\n" + ."\n" + .' - SystemDiskWriteBps: (ECS) system cloud disk write BPS (byte/s).'."\n" + ."\n" + .' - SystemDiskReadOps: (ECS) system cloud disk read IOPS (count/s).'."\n" + ."\n" + .' - SystemDiskWriteOps: (ECS) system cloud disk write IOPS (count/s).'."\n" + ."\n" + .' - CpuUtilizationAgent: (Agent) CPU utilization (%).'."\n" + ."\n" + .' - GpuUtilizationAgent: (Agent) GPU utilization (%).'."\n" + ."\n" + .' - GpuMemoryFreeUtilizationAgent: (Agent) GPU memory idle rate (%).'."\n" + ."\n" + .' - GpuMemoryUtilizationAgent: (Agent) GPU memory utilization (%).'."\n" + ."\n" + .' - MemoryUtilization: (Agent) memory utilization (%).'."\n" + ."\n" + .' - LoadAverage: (Agent) average system load.'."\n" + ."\n" + .' - TcpConnection: (Agent) total number of TCP connections.'."\n" + .' '."\n" + .' - TcpConnection: (Agent) number of established TCP connections.'."\n" + ."\n" + .' - PackagesNetOut: (Agent) number of packets sent by the internal NIC (count/s).'."\n" + ."\n" + .' - PackagesNetIn: (Agent) number of packets received by the internal NIC (count/s).'."\n" + .' '."\n" + .' - PackagesNetOut: (Agent) number of packets sent by the public NIC (count/s).'."\n" + ."\n" + .' - PackagesNetIn: (Agent) number of packets received by the public NIC (count/s).'."\n" + ."\n" + .' - EciPodCpuUtilization: CPU utilization (%).'."\n" + ."\n" + .' - EciPodMemoryUtilization: memory utilization (%).'."\n" + ."\n" + .' - LoadBalancerRealServerAverageQps: (ALB) average QPS per server in a server group (count/s).'."\n" + ."\n" + .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).', 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization', 'title' => ''], ], [ - 'name' => 'LaunchTemplateId', + 'name' => 'MetricType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the launch template that is used by Auto Scaling to create instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lt-m5e3ofjr1zn1aw7****', - ], + 'schema' => ['description' => 'The type of the monitoring metric. Valid values:'."\n" + .'- system: uses CloudMonitor system metrics.'."\n" + .'- custom: uses custom metrics reported to CloudMonitor.', 'type' => 'string', 'required' => false, 'default' => 'system', 'example' => 'system', 'title' => ''], ], [ - 'name' => 'LaunchTemplateVersion', + 'name' => 'Period', 'in' => 'query', - 'schema' => [ - 'description' => 'The version number of the launch template. Valid values:'."\n" - ."\n" - .'* A fixed template version number.'."\n" - .'* Default: the default template version.'."\n" - .'* Latest: the latest template version.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Default', - ], + 'schema' => ['description' => 'The statistical period for the monitoring metric data. Unit: seconds. Valid values:'."\n" + ."\n" + .'- 15'."\n" + .'- 60'."\n" + .'- 120'."\n" + .'- 300'."\n" + .'- 900'."\n" + ."\n" + .'> Only scaling groups of the ECS type support a statistical period of 15 seconds.'."\n" + ."\n" + .'Default value: 300.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '300', 'example' => '300', 'title' => ''], ], [ - 'name' => 'OnDemandBaseCapacity', + 'name' => 'Statistics', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of pay-as-you-go instances required in the scaling group. Valid values: 0 to 1000. If the number of pay-as-you-go instances is less than the value of this parameter, Auto Scaling preferentially creates pay-as-you-go instances.'."\n" - ."\n" - .'If the `MultiAZPolicy` parameter is set to `COMPOSABLE` Policy, the default value is 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - ], - ], - [ - 'name' => 'OnDemandPercentageAboveBaseCapacity', - 'in' => 'query', - 'schema' => [ - 'description' => 'The percentage of pay-as-you-go instances among the excess instances when the requirement on the minimum number of pay-as-you-go instances is met. Valid values: 0 to 100.'."\n" - ."\n" - .'If the `MultiAZPolicy` parameter is set to `COMPOSABLE` Policy, the default value is 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => 'The method used to aggregate the monitoring metric data. Valid values:'."\n" + ."\n" + .'- Average: average value.'."\n" + .'- Minimum: minimum value.'."\n" + .'- Maximum: maximum value.'."\n" + ."\n" + .'Default value: Average.', 'type' => 'string', 'required' => false, 'default' => 'Average', 'example' => 'Average', 'title' => ''], ], [ - 'name' => 'SpotInstanceRemedy', + 'name' => 'Threshold', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to supplement preemptible instances. If you set this parameter to true, Auto Scaling creates an instance to replace a preemptible instance when Auto Scaling receives a system message that indicates the preemptible instance is to be reclaimed.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The threshold of the monitoring metrics. An alert is triggered and the scaling rule is executed when the threshold expression is met for the specified number of times.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '80.0', 'title' => ''], ], [ - 'name' => 'CompensateWithOnDemand', + 'name' => 'ComparisonOperator', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to automatically create pay-as-you-go instances to meet the requirement on the number of ECS instances in the scaling group when the number of preemptible instances cannot be reached due to reasons such as costs and insufficient resources. This parameter takes effect only if you set the MultiAZPolicy parameter in the CreateScalingGroup operation to COST_OPTIMIZED. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The comparison operator between the aggregated value of the monitoring metric and the threshold. This parameter specifies the relationship under which the condition is met. Valid values:'."\n" + ."\n" + .'- The aggregated value is greater than or equal to the threshold. Value: >=.'."\n" + .'- The aggregated value is less than or equal to the threshold. Value: <=.'."\n" + .'- The aggregated value is greater than the threshold. Value: >.'."\n" + .'- The aggregated value is less than the threshold. Value: <.'."\n" + ."\n" + .'Default value: >=.', 'type' => 'string', 'required' => false, 'default' => '>=', 'example' => '>=', 'title' => ''], ], [ - 'name' => 'SpotInstancePools', + 'name' => 'EvaluationCount', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of instance types that you specify. Auto Scaling creates preemptible instances of multiple instance types that are provided at the lowest price. Valid values: 0 to 10.'."\n" - ."\n" - .'If the `MultiAZPolicy` parameter is set to `COMPOSABLE` Policy, the default value is 2.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], + 'schema' => ['description' => 'The number of consecutive times that the threshold expression must be met before the scaling rule is executed. For example, the average CPU utilization must be greater than or equal to 80% for three consecutive statistical periods.'."\n" + ."\n" + .'Default value: 3.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '3', 'example' => '3', 'title' => ''], ], [ - 'name' => 'DesiredCapacity', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The expected number of ECS instances in the scaling group. Auto Scaling automatically maintains the expected number of ECS instances that you specify. The expected number cannot be greater than the value of the MaxSize parameter and cannot be less than the value of the MinSize parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], + 'schema' => ['description' => 'The ID of the CloudMonitor application group to which the custom monitoring metric belongs. This parameter is required only when MetricType is set to custom.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4055401', 'title' => ''], ], [ - 'name' => 'GroupDeletionProtection', + 'name' => 'Effective', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable deletion protection for the scaling group. Valid values:'."\n" - ."\n" - .'* true: enables deletion protection for the scaling group. This way, the scaling group cannot be deleted.'."\n" - .'* false: disables deletion protection for the scaling group.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The effective period of the event-triggered task. By default, the event-triggered task is effective at all times.'."\n" + ."\n" + .'This parameter follows cron expressions. The default format is `X X X X X ?`, where:'."\n" + .'- X: a placeholder for a field, which represents seconds, minutes, hours, day of month, and month in sequence. X can be a specific value or a special character with logical meaning. For more information about the valid values of X, see [Cron expression](~~25907~~).'."\n" + ."\n" + .'- ?: specifies no value.'."\n" + ."\n" + .'> The value of this parameter is **in the UTC+8 time zone by default**. You can add the time zone information `TZ=+yy` before the cron expression to specify a time zone, where y represents the numeric value of the time zone. For example, `TZ=+00 * * 1-2 * * ?` specifies that the event-triggered task is effective between 01:00 and 02:59 in the UTC+0 time zone every day.'."\n" + ."\n" + .'Examples:'."\n" + ."\n" + .'- `* * * * * ? `: effective at all times.'."\n" + ."\n" + .'- `* * 17-18 * * ? `: effective between 17:00 and 18:59 in the UTC+8 time zone every day.'."\n" + ."\n" + .'- `TZ=+00 * * 1-2 * * ?`: effective between 01:00 and 02:59 in the UTC+0 time zone every day.', 'type' => 'string', 'required' => false, 'example' => 'TZ=+00 * * 1-2 * * ?', 'title' => ''], ], [ - 'name' => 'MultiAZPolicy', + 'name' => 'AlarmAction', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The scaling policy for the multi-zone scaling group that contains ECS instances. Valid values:'."\n" - ."\n" - .'* PRIORITY: The first vSwitch specified by using the VSwitchIds.N parameter has the highest priority. Auto Scaling scales instances in the zone where the vSwitch that has the highest priority resides. If the scaling fails, Auto Scaling scales instances in the zone where the vSwitch that has the next highest priority resides.'."\n" - ."\n" - .'* COST_OPTIMIZED: Auto Scaling creates ECS instances whose vCPUs are provided at the lowest price during scale-out activities and removes ECS instances whose vCPUs are provided at the highest price during scale-in activities. If preemptible instance types are specified in the active scaling configuration, Auto Scaling preferentially creates preemptible instances. You can use the `CompensateWithOnDemand` parameter to specify whether to automatically create pay-as-you-go instances when Auto Scaling fails to create preemptible instances.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** The COST_OPTIMIZED setting takes effect only when you specify multiple instance types or when you specify at least one preemptible instance type.'."\n" - ."\n" - .'* BALANCE: Auto Scaling evenly distributes ECS instances across zones that are specified for the scaling group. If ECS instances are unevenly distributed across zones due to insufficient resources, you can call the [RebalanceInstance](~~71516~~) operation to evenly distribute the instances across the zones.'."\n" - ."\n" - .'* COMPOSABLE: You can flexibly combine the preceding policies based on your business requirements.'."\n", - 'type' => 'string', + 'description' => 'The unique identifier of the scaling rule associated with the event-triggered task.', + 'type' => 'array', + 'items' => ['description' => 'The unique identifier of the scaling rule associated with the event-triggered task.', 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:1406926****:scalingrule/asr-bp163l21e07uhn****', 'title' => ''], 'required' => false, - 'example' => 'PRIORITY', + 'example' => 'ari:acs:ess:cn-hangzhou:1406926****:scalingrule/asr-bp163l21e07uhn****', + 'maxItems' => 5, + 'title' => '', ], ], [ - 'name' => 'VSwitchIds', + 'name' => 'Dimension', '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 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.', + 'description' => 'The list of dimensions associated with the monitoring metric.', 'type' => 'array', 'items' => [ - 'description' => 'The ID of vSwitch N. Valid values of N: 1 to 5.'."\n" - ."\n" - .'This parameter is available only if the network type of the scaling group is virtual private cloud (VPC). The specified vSwitches and the scaling group must reside in the same VPC.'."\n" - ."\n" - .'The vSwitches can reside in different zones. The vSwitches are sorted in ascending order based on the value of N. 1 specifies the highest priority. A greater value of N specifies a lower priority. If Auto Scaling fails to create ECS instances in the zone where the vSwitch that has the highest priority resides, Auto Scaling creates ECS instances in the zone where the vSwitch that has the next highest priority resides.'."\n", - 'type' => 'string', + 'description' => 'The list of dimensions associated with the monitoring metric.', + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => ['description' => 'The key of the dimension associated with the monitoring metric. Valid values vary based on the monitoring type of the event-triggered task:'."\n" + ."\n" + .'- If the event-triggered task is of the custom monitoring type (MetricType=custom), you can specify any value.'."\n" + ."\n" + .'- If the event-triggered task is of the system monitoring type (MetricType=system), valid values:'."\n" + ."\n" + .' - user_id: your account ID.'."\n" + .' - scaling_group: the scaling group to be monitored.'."\n" + .' - device: the type of the network interface controller (NIC) device.'."\n" + .' - state: the state of the TCP connection.'."\n" + .' - rulePool: the server group specified for the ALB QPS monitoring metrics node.', 'type' => 'string', 'required' => false, 'example' => 'device', 'title' => ''], + 'DimensionValue' => ['description' => 'The value of the dimension associated with the monitoring metric. Valid values are determined by Dimension.N.DimensionKey:'."\n" + ."\n" + .'- If Dimension.N.DimensionKey is a custom value, meaning the event-triggered task is of the custom monitoring type (MetricType=custom), you can specify any value.'."\n" + ."\n" + .'- If Dimension.N.DimensionKey is a system-specified value, meaning the event-triggered task is of the system monitoring type (MetricType=system), valid values:'."\n" + ."\n" + .' - user_id: automatically populated by the system.'."\n" + ."\n" + .' - scaling_group: automatically populated by the system.'."\n" + ."\n" + .' - device:'."\n" + ."\n" + .' - eth0: for classic network instances, eth0 represents the internal NIC. For VPC-connected instances, only the eth0 NIC exists.'."\n" + .' - eth1: for classic network instances, eth1 represents the public NIC.'."\n" + ."\n" + .' - state:'."\n" + ."\n" + .' - TCP_TOTAL: the total number of TCP connections.'."\n" + .' - ESTABLISHED: the number of established TCP connections.'."\n" + .' - rulePool: the ID of the ALB server group. Example: sgp-xxxxx.', 'type' => 'string', 'required' => false, 'example' => 'eth0', 'title' => ''], + ], 'required' => false, - 'example' => 'vsw-bp1oo2a7isyrb8igf****', + 'title' => '', + 'example' => '', ], 'required' => false, - 'example' => 'vsw-bp1oo2a7isyrb8igf****', - 'maxItems' => 8, + 'maxItems' => 5, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'LaunchTemplateOverride', + 'name' => 'Expression', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Details of the instance types that are specified in the extended configurations of the launch template.', + 'description' => 'The information about multi-metric alert rules.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The information about multi-metric alert rules.', 'type' => 'object', 'properties' => [ - 'InstanceType' => [ - 'description' => 'Instance type N. The instance type that is specified by using this parameter overrides the instance type that is specified in the launch template. If you want to scale instances in the scaling group based on the weighted capacity of instances, you must specify the LaunchTemplateOverride.N.InstanceType and LaunchTemplateOverride.N.WeightedCapacity parameters at the same time.'."\n" - ."\n" - .'You can specify N instance types by using the Extended Configurations feature of the launch template. Valid values of N: 1 to 10.'."\n" - ."\n" - .'> This parameter is available only if you specify the LaunchTemplateId parameter.'."\n" - ."\n" - .'For information about the valid values of InstanceType in InstanceTypeOverride.N.InstanceType, see [Overview of instance families](~~25378~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c5.xlarge', - ], - 'WeightedCapacity' => [ - 'description' => 'The weight of instance type N. The weight of an instance type specifies the capacity of a single instance of the instance type in the scaling group. If you want to scale instances in the scaling group based on the weighted capacity of instances, you must specify the LaunchTemplateOverride.N.WeightedCapacity parameter after you specify the LaunchTemplateOverride.N.InstanceType parameter. The values of N in the two parameters must be the same.'."\n" - ."\n" - .'A higher weight specifies that a smaller number of instances of the specified instance type are required to meet the expected capacity requirement.'."\n" - ."\n" - .'Performance metrics, such as the number of vCPUs and the memory size of each instance type, may vary. You can specify different weights for different instance types based on your business requirements.'."\n" - ."\n" - .'Example:'."\n" - ."\n" - .'* Current capacity: 0'."\n" - .'* Expected capacity: 6'."\n" - .'* Capacity of ecs.c5.xlarge: 4'."\n" - ."\n" - .'To meet the expected capacity requirement, Auto Scaling must create two ecs.c5.xlarge instances.'."\n" - ."\n" - .'> The capacity of the scaling group cannot exceed the sum of the maximum number of instances that is specified by the MaxSize parameter and the maximum weight of the instance type.'."\n" - ."\n" - .'Valid values of WeightedCapacity in the InstanceTypeOverride.N.WeightedCapacity parameter: 1 to 500.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], - 'SpotPriceLimit' => [ - 'description' => 'The maximum bid price of instance type N that is specified by the `LaunchTemplateOverride.N.InstanceType` parameter. You can specify N instance types by using the Extended Configurations feature of the launch template. Valid values of N: 1 to 10.'."\n" - ."\n" - .'> This parameter is available only if you specify the `LaunchTemplateId` parameter.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.025', - ], + 'MetricName' => ['description' => 'The name of the monitoring metric in the multi-metric alert rule. Valid values vary based on the monitoring type of the event-triggered task:'."\n" + .'- If the event-triggered task is of the custom monitoring type (MetricType=custom), valid values are your custom monitoring metrics.'."\n" + .'- If the event-triggered task is of the system monitoring type (MetricType=system), valid values:'."\n" + ."\n" + .' - CpuUtilization: (ECS) CPU utilization (%).'."\n" + ."\n" + .' - ConcurrentConnections: (ECS) number of concurrent connections to an ECS instance.'."\n" + ."\n" + .' - IntranetTx: (ECS) outbound traffic over the internal network (Kbit/min).'."\n" + ."\n" + .' - IntranetRx: (ECS) inbound traffic over the internal network (Kbit/min).'."\n" + ."\n" + .' - VpcInternetTx: (ECS) outbound traffic over the Internet (Kbit/min).'."\n" + ."\n" + .' - VpcInternetRx: (ECS) inbound traffic over the Internet (Kbit/min).'."\n" + ."\n" + .' - SystemDiskReadBps: (ECS) system cloud disk read BPS (byte/s).'."\n" + ."\n" + .' - SystemDiskWriteBps: (ECS) system cloud disk write BPS (byte/s).'."\n" + ."\n" + .' - SystemDiskReadOps: (ECS) system cloud disk read IOPS (count/s).'."\n" + ."\n" + .' - SystemDiskWriteOps: (ECS) system cloud disk write IOPS (count/s).'."\n" + ."\n" + .' - CpuUtilizationAgent: (Agent) CPU utilization (%).'."\n" + ."\n" + .' - GpuUtilizationAgent: (Agent) GPU utilization (%).'."\n" + ."\n" + .' - GpuMemoryFreeUtilizationAgent: (Agent) GPU memory idle rate (%).'."\n" + ."\n" + .' - GpuMemoryUtilizationAgent: (Agent) GPU memory utilization (%).'."\n" + ."\n" + .' - MemoryUtilization: (Agent) memory utilization (%).'."\n" + ."\n" + .' - LoadAverage: (Agent) average system load.'."\n" + ."\n" + .' - TcpConnection: (Agent) total number of TCP connections.'."\n" + .' '."\n" + .' - TcpConnection: (Agent) number of established TCP connections.'."\n" + ."\n" + .' - PackagesNetOut: (Agent) number of packets sent by the internal NIC (count/s).'."\n" + ."\n" + .' - PackagesNetIn: (Agent) number of packets received by the internal NIC (count/s).'."\n" + ."\n" + .' - PackagesNetOut: (Agent) number of packets sent by the public NIC (count/s).'."\n" + ."\n" + .' - PackagesNetIn: (Agent) number of packets received by the public NIC (count/s).'."\n" + .' '."\n" + .' - EciPodCpuUtilization: CPU utilization (%).'."\n" + ."\n" + .' - EciPodMemoryUtilization: memory utilization (%).'."\n" + ."\n" + .' - LoadBalancerRealServerAverageQps: (ALB) average QPS per server in a server group (count/s).'."\n" + ."\n" + .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).', 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization', 'title' => ''], + 'ComparisonOperator' => ['description' => 'The comparison operator between the aggregated value of the monitoring metric and the threshold in the multi-metric alert rule. This parameter specifies the relationship under which the condition is met. Valid values:'."\n" + ."\n" + .'- The aggregated value is greater than or equal to the threshold. Value: >=.'."\n" + .'- The aggregated value is less than or equal to the threshold. Value: <=.'."\n" + .'- The aggregated value is greater than the threshold. Value: >.'."\n" + .'- The aggregated value is less than the threshold. Value: <.'."\n" + ."\n" + .'Default value: >=.', 'type' => 'string', 'required' => false, 'example' => '>=', 'title' => ''], + 'Period' => ['description' => 'The statistical period for the monitoring metric data in the multi-metric alert rule. Unit: seconds. Valid values:'."\n" + ."\n" + .'- 15'."\n" + .'- 60'."\n" + .'- 120'."\n" + .'- 300'."\n" + .'- 900'."\n" + ."\n" + .'> Only scaling groups of the ECS type support a statistical period of 15 seconds.'."\n" + .'Default value: 300.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '900', 'title' => ''], + 'Statistics' => ['description' => 'The method used to aggregate the monitoring metric data in the multi-metric alert rule. Valid values:'."\n" + ."\n" + .'- Average: average value.'."\n" + .'- Minimum: minimum value.'."\n" + .'- Maximum: maximum value.'."\n" + ."\n" + .'Default value: Average.', 'type' => 'string', 'required' => false, 'example' => 'Average', 'title' => ''], + 'Threshold' => ['description' => 'The threshold of the monitoring metrics in the multi-metric alert rule. An alert is triggered and the scaling rule is executed when the threshold expression is met for the specified number of times.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '40.0', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 20, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'AzBalance', + 'name' => 'ExpressionsLogicOperator', 'in' => 'query', + 'schema' => ['description' => 'The relationship between multiple metric alert conditions. Valid values:'."\n" + ."\n" + .'- `&&`: an alert is triggered only when all monitoring metrics meet the alert conditions. An alert is triggered only when all expressions in the multi-metric alert rule evaluate to `true`.'."\n" + .'- `||`: an alert is triggered when any monitoring metric meets the alert condition.'."\n" + ."\n" + .'Default value: `&&`.', 'type' => 'string', 'required' => false, 'example' => '&&', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Specifies whether to evenly distribute instances in the scaling group across multiple zones. This parameter is available only if you set the `MultiAZPolicy` parameter to `COMPOSABLE`. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + 'type' => 'object', + 'properties' => [ + 'AlarmTaskId' => ['description' => 'The ID of the event-triggered task.', 'type' => 'string', 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Create an event-triggered task', + 'description' => '## Operation description'."\n" + ."\n" + .'- If you create an event-triggered task of the custom monitoring type (MetricType=custom), you must report custom monitoring metrics to CloudMonitor in advance. For more information, see [Event-triggered tasks of the custom monitoring type](~~74861~~).'."\n" + ."\n" + .'- When you create an event-triggered task, you must specify a monitoring metric (MetricName) and use dimension information (Dimension.N.DimensionKey and Dimension.N.DimensionValue) to determine the aggregation scope of the monitoring metric data in the scaling group. For example, you can specify user\\_id and scaling\\_group to aggregate the monitoring metric data of all ECS instances or elastic container instances in the scaling group of the specified user.'."\n" + .' - The monitoring metrics of event-triggered tasks of the custom monitoring type (MetricType=custom) depend on your custom monitoring metrics. '."\n" + .' - For more information about the monitoring metrics supported by event-triggered tasks of the system monitoring type (MetricType=system), see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n" + ."\n" + .'> In the dimension information, user_id and scaling_group are automatically populated by the system. You must manually specify device and state. For more information, see the Dimension.N.DimensionKey and Dimension.N.DimensionValue parameters.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidParameter|The specified value of parameter "%s" is not valid.|The specified value of parameter "%s" is invalid.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateAlarm'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + ], + 'CreateEciScalingConfiguration' => [ + 'summary' => 'Creates a scaling configuration of the Elastic Container Instance (ECI) type.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '92654', + 'abilityTreeNodes' => ['FEATUREessWJGIW5'], + ], + 'parameters' => [ [ - 'name' => 'AllocationStrategy', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The allocation policy of instances. Auto Scaling selects instance types based on the allocation policy to create instances. The policy can be applied to pay-as-you-go instances and preemptible instances. This parameter is available only if you set the `MultiAZPolicy` parameter to `COMPOSABLE`. Valid values:'."\n" - ."\n" - .'* priority: Auto Scaling selects instance types based on the specified orders of the instance types to create instances.'."\n" - .'* lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPU to create instances.'."\n" - ."\n" - .'Default value: priority.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'priority', - ], + 'schema' => ['description' => 'The ID of the scaling group to which the scaling configuration belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''], ], [ - 'name' => 'SpotAllocationStrategy', + 'name' => 'ScalingConfigurationName', 'in' => 'query', - 'schema' => [ - 'description' => 'The allocation policy of preemptible instances. You can use this parameter to individually specify the allocation policy of preemptible instances. This parameter is available only if you set the `MultiAZPolicy` parameter to `COMPOSABLE`. Valid values:'."\n" - ."\n" - .'* priority: Auto Scaling selects instance types based on the specified orders of the instance types to create preemptible instances.'."\n" - .'* lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPU to create preemptible instances.'."\n" - ."\n" - .'Default value: priority.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lowestPrice', - ], + 'schema' => ['description' => 'The name of the scaling configuration. The name must be 2 to 64 characters in length and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a digit, letter, or Chinese character.'."\n" + ."\n" + .'The scaling configuration name must be unique within a scaling group in a region. If you do not specify this parameter, the scaling configuration ID is used by default.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'scalingconfig****', 'title' => ''], ], [ - 'name' => 'MaxInstanceLifetime', + 'name' => 'SecurityGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum life span of the instance in the scaling group. Unit: seconds.'."\n" - ."\n" - .'Valid values: 86400 to `Integer.maxValue`. You can also set this parameter to 0. If you set this parameter to 0, the instance has an unlimited life span.'."\n" - ."\n" - .'Default value: null.'."\n" - ."\n" - .'> You cannot specify this parameter for scaling groups that contain elastic container instances or scaling groups whose ScalingPolicy is set to recycle.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => 'null', - ], + 'schema' => ['description' => 'ECI实例所属的安全组ID。同一个安全组内的ECI实例之间可以互相访问。'."\n" + ."\n" + .'如果没有指定安全组,系统将自动使用您选择的地域下的默认安全组,您需要确保该安全组的入方向规则中包含容器需要暴露的协议和端口。如果您在该地域下没有默认安全组,系统将自动创建一个默认安全组,并将您声明的容器协议和端口添加到该安全组的入方向规则中。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'sg-uf66jeqopgqa9hdn****', 'title' => ''], ], [ - 'name' => 'CustomPolicyARN', + 'name' => 'ContainerGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the custom scale-in policy (Function). This parameter is available only if you specify CustomPolicy as the first step of the instance removal policy.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name', - ], + 'schema' => ['description' => 'The name of the ECI instance, which is also the container group name.'."\n" + ."\n" + .'To set sequential names, use the format `name_prefix(AUTO_INCREMENT)[begin_number,bits]name_suffix`.'."\n" + ."\n" + .'- **name_prefix**: the prefix of the hostname.'."\n" + ."\n" + .'- **(AUTO_INCREMENT)**: a fixed value that indicates the sequential naming method.'."\n" + ."\n" + .'- **begin_number**: the start value of the sequential number. Valid values: `[0,999999]`.'."\n" + ."\n" + .'- **bits**: the number of digits of the sequential number. Valid values: `[1,6]`. If the number of digits of begin_number is greater than the value of bits, bits defaults to 6.'."\n" + .'> Set bits to at least 3. Otherwise, the sequential number may reach the upper limit. If the upper limit is reached and scale-out is still required, the scaling activity reports an error and stops the scale-out. In this case, you must reconfigure the hostname naming rule.'."\n" + ."\n" + .'- **name_suffix** (optional): the suffix of the hostname.'."\n" + ."\n" + .'> `[begin_number,bits]` cannot contain spaces. The system increments the sequential number by default. However, if an ECI instance fails to start during scale-out, the scaling group removes the instance and creates a new one. As a result, the hostnames of ECI instances in the scaling group may not be consecutive.'."\n" + ."\n" + .'**Example:** If you set this parameter to `nginx-test-(AUTO_INCREMENT)[0,3]`, the container group names are nginx-test-000, nginx-test-001, and nginx-test-002.'."\n" + ."\n" + .'The rules for setting sequential ECI instance names are the same as those for setting sequential ECS instance names. For more information, see [Configure sequential and unique instance names or hostnames](~~203831~~).', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'nginx-test[0,3]', 'title' => ''], ], [ - 'name' => 'DisableDesiredCapacity', + 'name' => 'RestartPolicy', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], + 'schema' => ['description' => 'The restart policy of the ECI instance. Valid values:'."\n" + ."\n" + .'- Always: always restarts the instance.'."\n" + .'- Never: never restarts the instance.'."\n" + .'- OnFailure: restarts the instance upon failure.'."\n" + ."\n" + .'Default value: Always.', 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], ], [ - 'name' => 'ScalingPolicy', + 'name' => 'Cpu', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The number of vCPUs at the instance level. Unit: cores.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], ], [ - 'name' => 'HealthCheckTypes', + 'name' => 'Memory', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The memory size at the instance level. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2.0', 'title' => ''], ], [ - 'name' => 'StopInstanceTimeout', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'example' => 'rg-uf66jeqopgqa9hdn****', 'title' => ''], ], [ - 'name' => 'CapacityOptions', + 'name' => 'DnsPolicy', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'OnDemandBaseCapacity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'OnDemandPercentageAboveBaseCapacity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'CompensateWithOnDemand' => [ - 'type' => 'boolean', - ], - 'SpotAutoReplaceOnDemand' => [ - 'type' => 'boolean', - ], - 'PriceComparisonMode' => [ - 'type' => 'string', - ], - ], - ], + 'schema' => ['description' => 'The DNS policy. Valid values:'."\n" + ."\n" + .'- None: uses the DNS configured by the DnsConfig field.'."\n" + .'- Default: inherits the DNS settings from the runtime environment.', 'type' => 'string', 'required' => false, 'example' => 'Default', 'title' => ''], ], [ - 'name' => 'BalanceMode', + 'name' => 'ImageSnapshotId', 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡模式', - 'type' => 'string', - ], + 'schema' => ['description' => 'The image cache ID.', 'type' => 'string', 'required' => false, 'example' => 'imc-2zebxkiifuyzzlhl****', 'title' => ''], ], [ - 'name' => 'AutoRebalance', + 'name' => 'RamRoleName', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], + 'schema' => ['description' => 'The name of the instance RAM role. ECI and ECS share the same instance RAM role. For more information, see [Instance RAM roles](~~61175~~).', 'type' => 'string', 'required' => false, 'example' => 'RamTestRole', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - ], + [ + 'name' => 'TerminationGracePeriodSeconds', + 'in' => 'query', + 'schema' => ['description' => 'The buffer time for the program to handle operations before shutdown. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '60', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'ModifyScalingGroup', - 'description' => '## Description'."\n" - ."\n" - .'* You cannot modify the settings of the following parameters:'."\n" - ."\n" - .' * RegionId'."\n" - ."\n" - .' * LoadBalancerId'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** If you want to disassociate your scaling group from a Classic Load Balancer (CLB) instance, you can call the [DetachLoadBalancers](~~85141~~) operation. If you want to associate your scaling group with another CLB instance, you can call the [AttachLoadBalancers](~~85125~~) operation.'."\n" - ."\n" - .' * DBInstanceId'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** If you want to disassociate your scaling group from an ApsaraDB RDS instance, you can call the [DetachDBInstances](~~85380~~) operation. If you want to associate your scaling group with another ApsaraDB RDS instance, you can call the [AttachDBInstances](~~85379~~) operation.'."\n" - ."\n" - .'* You can modify a scaling group only when the scaling group is in the Active or Inactive state.'."\n" - ."\n" - .'* If you enable a new scaling configuration, Elastic Compute Service (ECS) instances that are created based on the previous scaling configuration still run as expected in the scaling group.'."\n" - ."\n" - .'* If the total number of instances in the scaling group is greater than the allowed maximum number after you change the value of the MaxSize parameter, Auto Scaling automatically removes excess instances from the scaling group to ensure that the number of instances is within the new range.'."\n" - ."\n" - .'* If the total number of instances in the scaling group is less than the allowed minimum number after you change the value of the MinSize parameter, Auto Scaling automatically adds instances to the scaling group to ensure that the number of instances is within the new range.'."\n" - ."\n" - .'* If the total number of instances in the scaling group does not match the expected number of instances after you change the value of the DesiredCapacity parameter, Auto Scaling automatically adds instances to or removes instances from the scaling group to ensure that the number of instances matches the value of the DesiredCapacity parameter.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'EnableScalingGroup' => [ - 'summary' => '启用一个伸缩组', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'AutoMatchImageCache', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to automatically match the image cache. Valid values:'."\n" + .'- true'."\n" + .'- false'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92696', - 'abilityTreeNodes' => [ - 'FEATUREessUCEVTM', + [ + 'name' => 'Ipv6AddressCount', + 'in' => 'query', + 'schema' => ['description' => 'The number of IPv6 addresses.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'ActiveDeadlineSeconds', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp14wlu85wrpchm0****', - ], + 'schema' => ['description' => 'The validity period. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''], ], [ - 'name' => 'ActiveScalingConfigurationId', + 'name' => 'SpotStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling configuration that you need to put into the Active state.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asc-bp1ffogfdauy0nu5****', - ], + 'schema' => ['description' => 'The bidding policy for the instance. Valid values:'."\n" + ."\n" + .'- NoSpot: a pay-as-you-go instance.'."\n" + .'- SpotWithPriceLimit: a spot instance with a maximum price limit.'."\n" + .'- SpotAsPriceGo: a spot instance that uses the market price at the time of purchase as the bid price.'."\n" + ."\n" + .'Default value: NoSpot.', 'type' => 'string', 'required' => false, 'example' => 'SpotWithPriceLimit', 'title' => ''], ], [ - 'name' => 'LaunchTemplateId', + 'name' => 'SpotPriceLimit', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the launch template that you want to use to create instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lt-m5e3ofjr1zn1aw7****', - ], + 'schema' => ['description' => 'The maximum hourly price of the spot instance. The value can be accurate to three decimal places.'."\n" + ."\n" + .'This parameter is required when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.025', 'title' => ''], ], [ - 'name' => 'LaunchTemplateVersion', + 'name' => 'AutoCreateEip', 'in' => 'query', - 'schema' => [ - 'description' => 'The version number of the launch template. Valid values:'."\n" - ."\n" - .'* A fixed template version number.'."\n" - .'* Default: the default template version.'."\n" - .'* Latest: the latest template version.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Default', - ], + 'schema' => ['description' => 'Specifies whether to automatically create an elastic IP address (EIP) and associate it with the ECI instance.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'InstanceId', + 'name' => 'EipBandwidth', + 'in' => 'query', + 'schema' => ['description' => 'The bandwidth of the EIP. Default value: 5. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000000', 'minimum' => '0', 'example' => '5', 'title' => ''], + ], + [ + 'name' => 'HostName', + 'in' => 'query', + 'schema' => ['description' => 'The hostname, which is also the container group name.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + ], + [ + 'name' => 'IngressBandwidth', + 'in' => 'query', + 'schema' => ['description' => 'The maximum inbound bandwidth. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '1024000', 'title' => ''], + ], + [ + 'name' => 'EgressBandwidth', + 'in' => 'query', + 'schema' => ['description' => 'The maximum outbound bandwidth. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '1024000', 'title' => ''], + ], + [ + 'name' => 'CpuOptionsCore', + 'in' => 'query', + 'schema' => ['description' => 'The number of physical CPU cores. Only specific instance types support custom settings. For more information, see [Customize CPU options](~~197781~~).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '0', 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'CpuOptionsThreadsPerCore', + 'in' => 'query', + 'schema' => ['description' => 'The number of threads per core. Only specific instance types support custom settings. A value of 1 disables hyper-threading. For more information, see [Customize CPU options](~~197781~~).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'EphemeralStorage', + 'in' => 'query', + 'schema' => ['description' => 'The size of the ephemeral storage. ESSD PL1 cloud disks are used by default. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5000', 'minimum' => '0', 'example' => '20', 'title' => ''], + ], + [ + 'name' => 'LoadBalancerWeight', + 'in' => 'query', + 'schema' => ['description' => 'ECI实例作为负载均衡后端服务器时的权重,取值范围:1~100。'."\n" + ."\n" + .'默认值:50。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], + ], + [ + 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of instance N that you want to add to the scaling group after the scaling group is enabled. Valid values of N: 1 to 20.'."\n" - ."\n" - .'Before you add ECS instances to a scaling group, make sure that the instances meet the following requirements:'."\n" - ."\n" - .'* The instances and the scaling group must reside in the same region.'."\n" - .'* The instances are in the Running state.'."\n" - .'* The instances are not in other scaling groups.'."\n" - .'* The instances are billed on a subscription or pay-as-you-go basis, or the instances are preemptible instances.'."\n" - .'* If the VswitchID parameter is specified for the scaling group, the instances must reside in the same virtual private cloud (VPC) as the specified vSwitch. Instances reside in the classic network or other VPCs cannot be added to the scaling group.'."\n" - .'* If the VswitchID parameter is not specified for the scaling group, the ECS instances must not reside in VPCs.', + 'description' => 'The tags of the instance as key-value pairs.', 'type' => 'array', 'items' => [ - 'description' => 'The ID of instance N that you want to add to the scaling group after the scaling group is enabled. Valid values of N: 1 to 20.'."\n" - ."\n" - .'Before you add ECS instances to a scaling group, make sure that the instances meet the following requirements:'."\n" - ."\n" - .'* The instances and the scaling group must reside in the same region.'."\n" - .'* The instances are in the Running state.'."\n" - .'* The instances are not in other scaling groups.'."\n" - .'* The instances are billed on a subscription or pay-as-you-go basis, or the instances are preemptible instances.'."\n" - .'* If the VswitchID parameter is specified for the scaling group, the instances must reside in the same virtual private cloud (VPC) as the specified vSwitch. Instances reside in the classic network or other VPCs cannot be added to the scaling group.'."\n" - .'* If the VswitchID parameter is not specified for the scaling group, the ECS instances must not reside in VPCs.'."\n", - 'type' => 'string', + 'description' => 'The tags of the instance as key-value pairs.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the instance. Valid values of N: 1 to 20.'."\n" + ."\n" + .'The tag key cannot be an empty string. The tag key can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. The tag key cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'version', 'title' => ''], + 'Value' => ['description' => 'The tag value of the instance. Valid values of N: 1 to 20.'."\n" + ."\n" + .'The tag value can be an empty string. The tag value can be up to 128 characters in length and cannot start with `acs:`. The tag value cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => '3', 'title' => ''], + ], 'required' => false, - 'example' => 'i-283vv****', + 'title' => '', + 'example' => '', ], 'required' => false, - 'example' => 'i-283vv****', - 'maxItems' => 100, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'LoadBalancerWeight', + 'name' => 'ImageRegistryCredential', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The weight of instance N that serves as a backend server of the associated Server Load Balancer (SLB) instance. Valid values of N: 1 to 20. Valid values of this parameter: 1 to 100.'."\n" - ."\n" - .'Default value: 50.', + 'description' => 'The image repository information.', 'type' => 'array', 'items' => [ - 'description' => 'The weight of instance N that serves as a backend server of the associated Server Load Balancer (SLB) instance. Valid values of N: 1 to 20. Valid values of this parameter: 1 to 100.'."\n" - ."\n" - .'Default value: 50.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The image repository information.', + 'type' => 'object', + 'properties' => [ + 'Password' => ['description' => 'The password of the image repository.', 'type' => 'string', 'required' => false, 'example' => 'yourpassword', 'title' => ''], + 'Server' => ['description' => 'The address of the image repository.', 'type' => 'string', 'required' => false, 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com', 'title' => ''], + 'UserName' => ['description' => 'The username of the image repository.', 'type' => 'string', 'required' => false, 'example' => 'yourusername', 'title' => ''], + ], 'required' => false, - 'example' => '50', + 'title' => '', + 'example' => '', ], 'required' => false, - 'example' => '50', - 'maxItems' => 100, + 'maxItems' => 11, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'LaunchTemplateOverride', + 'name' => 'Container', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Details of the instance types that you specify by using the Extended Configurations feature of the launch template.', + 'description' => 'The container information of the instance.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The container information of the instance.', 'type' => 'object', 'properties' => [ - 'InstanceType' => [ - 'description' => 'If you want to scale instances in the scaling group based on the weighted capacity of instance types, you must specify the LaunchTemplateOverride.N.InstanceType and LaunchTemplateOverride.N.WeightedCapacity parameters at the same time.'."\n" - ."\n" - .'This parameter specifies instance type N that overrides the instance type specified in the launch template. You can specify N instance types in the extended configurations of the launch template. Valid values of N: 1 to 10.'."\n" + 'ReadinessProbe.TimeoutSeconds' => ['description' => '检查超时的时间,默认值为1秒,最小值为1秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], + 'ReadinessProbe.SuccessThreshold' => ['description' => '从上次检查失败后重新认定检查成功的检查次数阈值(必须是连续成功),默认值为1。当前值必须为1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'SecurityContext.Capability.Add' => [ + 'description' => '为容器内的进程授予某些特定的权限。目前仅支持配置为NET_ADMIN和NET_RAW。'."\n" ."\n" - .'> This parameter takes effect only when the LaunchTemplateId parameter is specified.'."\n" + .'> NET_RAW默认不支持,需提交工单申请。', + 'type' => 'array', + 'items' => ['description' => '为容器内的进程授予某些特定的权限。目前仅支持配置为NET_ADMIN和NET_RAW。'."\n" ."\n" - .'For information about the valid values of InstanceType in InstanceTypeOverride.N.InstanceType, see [Instance families](~~25378~~).'."\n", - 'type' => 'string', + .'> NET_RAW默认不支持,需提交工单申请。', 'type' => 'string', 'required' => false, 'example' => 'NET_ADMIN', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + 'ReadinessProbe.TcpSocket.Port' => ['description' => '使用TCP Socket方式进行健康检查时,TCP Socket检测的端口。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8000', 'title' => ''], + 'ReadinessProbe.HttpGet.Scheme' => ['description' => '使用HTTP请求方式进行健康检查时,HTTP Get请求对应的协议类型,取值范围:'."\n" + .'- HTTP。'."\n" + .'- HTTPS。', 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'LivenessProbe.PeriodSeconds' => ['description' => '检查执行的周期,默认值为10秒,最小值为1秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], + 'Port' => [ + 'description' => 'The exposed ports and protocols.', + 'type' => 'array', + 'items' => [ + 'description' => 'The exposed ports and protocols.', + 'type' => 'object', + 'properties' => [ + 'Protocol' => ['description' => 'The protocol type. Valid values:'."\n" + ."\n" + .'- TCP'."\n" + .'- UDP.', 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''], + 'Port' => ['description' => 'The port number. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'ecs.c5.xlarge', + 'maxItems' => 101, + 'title' => '', + 'example' => '', ], - 'WeightedCapacity' => [ - 'description' => 'If you want to scale instances in the scaling group based on the weighted capacity of instance types, you must specify the LaunchTemplateOverride.N.WeightedCapacity parameter after you specify the LaunchTemplateOverride.N.InstanceType parameter. The two parameters have a one-to-one correspondence. The value of N in the two parameters must be the same.'."\n" - ."\n" - .'This parameter specifies the weight of the instance type. The weight specifies the capacity of a single instance of the specified instance type in the scaling group. A higher weight specifies that a smaller number of instances of the specified instance type are required to meet the expected capacity.'."\n" - ."\n" - .'Performance metrics such as the number of vCPUs and the memory size of each instance type may vary. You can specify different weights for different instance types based on your business requirements.'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* Current capacity: 0'."\n" - .'* Expected capacity: 6'."\n" - .'* Capacity of ecs.c5.xlarge: 4'."\n" - ."\n" - .'To meet the expected capacity, Auto Scaling creates two ecs.c5.xlarge instances.'."\n" - ."\n" - .'> The capacity of the scaling group cannot exceed the sum of the maximum capacity that is specified by MaxSize and the maximum weight of the instance type.'."\n" - ."\n" - .'Valid values of WeightedCapacity in LaunchTemplateOverride.N.WeightedCapacity: 1 to 500.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'EnvironmentVar' => [ + 'description' => 'The environment variables.', + 'type' => 'array', + 'items' => [ + 'description' => 'The environment variables.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable. The name must be 1 to 128 characters in length and must match the format `[0-9a-zA-Z]` and underscores (\\_). The name cannot start with a digit.', 'type' => 'string', 'required' => false, 'example' => 'PATH', 'title' => ''], + 'Value' => ['description' => 'The value of the environment variable. The value can be up to 256 characters in length.', 'type' => 'string', 'required' => false, 'example' => '/usr/local/bin', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 301, + 'title' => '', + 'example' => '', + ], + 'LivenessProbe.TcpSocket.Port' => ['description' => '使用TCP Socket方式进行健康检查时,TCP Socket检测的端口。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8000', 'title' => ''], + 'Tty' => ['description' => 'Specifies whether to enable interaction. Valid values:'."\n" + .'- true: enabled.'."\n" + .'- false: disabled.'."\n" + ."\n" + .'Default value: false.'."\n" + ."\n" + .'Set this parameter to true when Command is set to /bin/bash.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'WorkingDir' => ['description' => 'The working directory of the container.', 'type' => 'string', 'required' => false, 'example' => '/usr/local/', 'title' => ''], + 'LivenessProbe.HttpGet.Scheme' => ['description' => '使用HTTP请求方式进行健康检查时,HTTP Get请求对应的协议类型,取值范围:'."\n" + ."\n" + .'- HTTP。'."\n" + .'- HTTPS。', 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'ReadinessProbe.HttpGet.Port' => ['description' => '使用HTTP请求方式进行健康检查时,HTTP Get请求检测的端口号。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8080', 'title' => ''], + 'Arg' => [ + 'description' => 'The arguments of the container startup command. A maximum of 10 arguments are supported.', + 'type' => 'array', + 'items' => ['description' => 'The arguments of the container startup command. A maximum of 10 arguments are supported.', 'type' => 'string', 'required' => false, 'example' => '100', 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'Gpu' => ['description' => 'The number of GPUs used by the container.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'ReadinessProbe.InitialDelaySeconds' => ['description' => '检查开始执行的时间,以容器启动完成为起点计算。单位为秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'Stdin' => ['description' => 'Specifies whether to allocate a buffer for standard input in the container runtime. If this parameter is not set, reads from standard input in the container result in EOF.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Memory' => ['description' => 'The memory size of the container. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''], + 'Name' => ['description' => 'The name of the container image.', 'type' => 'string', 'required' => false, 'example' => 'nginx', 'title' => ''], + 'Image' => ['description' => 'The container image.', 'type' => 'string', 'required' => false, 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', 'title' => ''], + 'LivenessProbe.InitialDelaySeconds' => ['description' => '检查开始执行的时间,以容器启动完成为起点计算。单位为秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], + 'VolumeMount' => [ + 'description' => 'The volume mount information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The volume mount information.', + 'type' => 'object', + 'properties' => [ + 'MountPropagation' => ['description' => 'The mount propagation setting of the volume. Mount propagation allows volumes mounted by a container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" + ."\n" + .'- None: the volume does not detect any subsequent mounts on this volume or its subdirectories.'."\n" + .'- HostToCotainer: the volume detects subsequent mounts on this volume or its subdirectories.'."\n" + .'- Bidirectional: similar to HostToCotainer, the volume detects mount operations. In addition, the volume is propagated back to the host and all containers of all pods that use the same volume.'."\n" + ."\n" + .'Default value: None.', 'type' => 'string', 'required' => false, 'example' => 'None', 'title' => ''], + 'MountPath' => ['description' => 'The directory in the container where the volume is mounted.'."\n" + ."\n" + .'> The content in the mount directory of the container is overwritten by the volume content. Use caution when you configure this parameter.', 'type' => 'string', 'required' => false, 'example' => '/pod/data', 'title' => ''], + 'ReadOnly' => ['description' => 'Specifies whether the volume is read-only. Valid values:'."\n" + .'- true'."\n" + .'- false'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Name' => ['description' => 'The name of the volume. This value is the same as the Name value in Volume.', 'type' => 'string', 'required' => false, 'example' => 'default-volume1', 'title' => ''], + 'SubPath' => ['description' => 'The subpath of the volume.', 'type' => 'string', 'required' => false, 'example' => 'data2/', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'LivenessProbe.FailureThreshold' => ['description' => '从上次检查成功后认定检查失败的检查次数阈值(必须是连续失败)。'."\n" + ."\n" + .'默认值:3。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'ReadinessProbe.Exec.Command' => [ + 'description' => '使用命令行方式进行健康检查时,在容器内执行的命令。', + 'type' => 'array', + 'items' => ['description' => '使用命令行方式进行健康检查时,在容器内执行的命令。', 'type' => 'string', 'required' => false, 'example' => 'cat /tmp/healthy', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + 'ReadinessProbe.FailureThreshold' => ['description' => '从上次检查成功后认定检查失败的检查次数阈值(必须是连续失败)。默认值:3。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'ImagePullPolicy' => ['description' => 'The image pull policy of the container. Valid values:'."\n" + ."\n" + .'- Always: always pulls the image.'."\n" + .'- IfNotPresent: pulls the image only if it is not available locally.'."\n" + .'- Never: never pulls the image. Only uses the local image.', 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], + 'StdinOnce' => ['description' => '当标准输入为true时,标准输入流将在多个附加会话中是否保持开启状态。'."\n" + ."\n" + .'如果StdinOnce设为true,标准输入在容器开启时被打开,在首个客户端附加到标准输入之前都为空,然后会一直保持开启状态,接收数据,直到客户端连接断开,此时标准输入被关闭,在容器重启前一直保持关闭状态。', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Cpu' => ['description' => 'The number of vCPUs of the container. Unit: cores.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.25', 'title' => ''], + 'LivenessProbe.HttpGet.Port' => ['description' => '使用HTTP请求方式进行健康检查时,HTTP Get请求检测的端口号。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8888', 'title' => ''], + 'LivenessProbe.HttpGet.Path' => ['description' => '使用HTTP请求方式进行健康检查时,HTTP Get请求检测的路径。', 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''], + 'LivenessProbe.SuccessThreshold' => ['description' => '从上次检查失败后重新认定检查成功的检查次数阈值(必须是连续成功),默认值为1。当前值必须为1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'ReadinessProbe.PeriodSeconds' => ['description' => '检查执行的周期,默认值为10秒,最小值为1秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'LivenessProbe.TimeoutSeconds' => ['description' => '检查超时的时间,默认值为1秒,最小值为1秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'Command' => [ + 'description' => 'The container startup commands. A maximum of 20 commands are supported. Each command can contain up to 256 characters.', + 'type' => 'array', + 'items' => ['description' => 'The container startup commands. A maximum of 20 commands are supported. Each command can contain up to 256 characters.', 'type' => 'string', 'required' => false, 'example' => 'sleep', 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'SecurityContext.RunAsUser' => ['description' => '设置运行容器的用户ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''], + 'ReadinessProbe.HttpGet.Path' => ['description' => '使用HTTP请求方式进行健康检查时,HTTP Get请求检测的路径。', 'type' => 'string', 'required' => false, 'example' => '/healthz', 'title' => ''], + 'LivenessProbe.Exec.Command' => [ + 'description' => '使用命令行方式进行健康检查时,在容器内执行的命令。', + 'type' => 'array', + 'items' => ['description' => '使用命令行方式进行健康检查时,在容器内执行的命令。', 'type' => 'string', 'required' => false, 'example' => 'cat/tmp/healthy', 'title' => ''], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', + ], + 'LifecyclePostStartHandlerHttpGetHost' => ['description' => 'The host address that receives the HTTP Get request when the HTTP request method is used to set the PostStart callback function.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetPort' => ['description' => 'The port number for the HTTP Get request when the HTTP request method is used to set the PostStart callback function.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5050', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetPath' => ['description' => 'The path for the HTTP Get request when the HTTP request method is used to set the PostStart callback function.', 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetScheme' => ['description' => 'The protocol type of the HTTP Get request when the HTTP request method is used to set the PostStart callback function. Valid values:'."\n" + ."\n" + .'- HTTP'."\n" + .'- HTTPS.', 'type' => 'string', 'required' => false, 'example' => 'HTTPS', 'title' => ''], + 'LifecyclePostStartHandlerExec' => [ + 'description' => 'The command executed in the container when the command-line method is used to set the PostStart callback function.', + 'type' => 'array', + 'items' => ['description' => 'The command executed in the container when the command-line method is used to set the PostStart callback function.', 'type' => 'string', 'required' => false, 'example' => '[ "/bin/sh", "-c", "echo Hello from the postStart handler /usr/share/message" ]', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + 'LifecyclePostStartHandlerTcpSocketHost' => ['description' => 'The host address for TCP Socket detection when the TCP Socket method is used to set the PostStart callback function.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePostStartHandlerTcpSocketPort' => ['description' => 'The port for TCP Socket detection when the TCP Socket method is used to set the PostStart callback function.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetHost' => ['description' => 'The host address that receives the HTTP Get request when the HTTP request method is used to set the PreStop callback function.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetPort' => ['description' => 'The port number for the HTTP Get request when the HTTP request method is used to set the PreStop callback function.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '88', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetPath' => ['description' => 'The path for the HTTP Get request when the HTTP request method is used to set the PreStop callback function.', 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetScheme' => ['description' => 'The protocol type of the HTTP Get request when the HTTP request method is used to set the PreStop callback function. Valid values:'."\n" + ."\n" + .'- HTTP'."\n" + .'- HTTPS.', 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'LifecyclePreStopHandlerExec' => [ + 'description' => 'The command executed in the container when the command-line method is used to set the PreStop callback function.', + 'type' => 'array', + 'items' => ['description' => 'The command executed in the container when the command-line method is used to set the PreStop callback function.', 'type' => 'string', 'required' => false, 'example' => '[ "/bin/sh", "-c", "echo Hello from the preStop handler /usr/share/message" ]', 'title' => ''], 'required' => false, - 'example' => '4', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], + 'LifecyclePreStopHandlerTcpSocketHost' => ['description' => 'The host address for TCP Socket detection when the TCP Socket method is used to set the PreStop callback function.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePreStopHandlerTcpSocketPort' => ['description' => 'The port for TCP Socket detection when the TCP Socket method is used to set the PreStop callback function.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '90', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 10, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'RegionId', + 'name' => 'Volume', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + 'description' => 'The volume information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The volume information.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the volume. Valid values:'."\n" + ."\n" + .'- EmptyDirVolume: an EmptyDir volume that represents an empty directory.'."\n" + .'- NFSVolume: an NFS volume that represents a Network File System.'."\n" + .'- ConfigFileVolume: a ConfigFile volume that represents a configuration file.'."\n" + .'- FlexVolume: a FlexVolume that uses the FlexVolume plugin to extend storage types and supports mounting cloud disks.'."\n" + .'- HostPathVolume: a HostPath volume that represents a file or directory on the host node.'."\n" + .'- DiskVolume (not recommended): a cloud disk volume. We recommend that you use FlexVolume to mount cloud disks.', 'type' => 'string', 'required' => false, 'example' => 'ConfigFileVolume', 'title' => ''], + 'DiskVolume.DiskSize' => ['description' => 'DiskVolume的大小。单位:GiB。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '15', 'title' => ''], + 'NFSVolume.Path' => ['description' => 'NFS数据卷路径。', 'type' => 'string', 'required' => false, 'example' => '/share', 'title' => ''], + 'FlexVolume.FsType' => ['description' => '挂载的文件系统类型,默认取决于FlexVolume的script。', 'type' => 'string', 'required' => false, 'example' => 'ext4', 'title' => ''], + 'DiskVolume.FsType' => ['description' => '该系统类型不推荐使用,建议您使用`FlexVolume.FsType`参数。', 'type' => 'string', 'required' => false, 'example' => 'xfs', 'title' => ''], + 'HostPathVolume.Type' => ['description' => 'Host目录的类型。例如:File、Directory、Socket等。', 'type' => 'string', 'required' => false, 'example' => 'Directory', 'title' => ''], + 'NFSVolume.ReadOnly' => ['description' => 'NFS数据卷是否只读。取值范围:'."\n" + .'- true:是。'."\n" + .'- false:否。'."\n" + ."\n" + .'默认值:false。', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'HostPathVolume.Path' => ['description' => 'Host上的绝对路径。', 'type' => 'string', 'required' => false, 'example' => '/xx/xx/path', 'title' => ''], + 'FlexVolume.Options' => ['description' => 'FlexVolume对象选项列表。为KV形式,采用JSON传递。'."\n" + ."\n" + .'例如:通过FlexVolume挂载云盘时,Options的格式为`{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}`。', 'type' => 'string', 'required' => false, 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}', 'title' => ''], + 'FlexVolume.Driver' => ['description' => '用于FlexVolume的驱动程序名称。', 'type' => 'string', 'required' => false, 'example' => 'flexvolume', 'title' => ''], + 'ConfigFileVolumeDefaultMode' => ['description' => 'The default permissions of the ConfigFileVolume.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0644', 'title' => ''], + 'NFSVolume.Server' => ['description' => 'NFS服务器地址。', 'type' => 'string', 'required' => false, 'example' => '3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com', 'title' => ''], + 'DiskVolume.DiskId' => ['description' => 'DiskVolume的ID。', 'type' => 'string', 'required' => false, 'example' => 'd-xx', 'title' => ''], + 'Name' => ['description' => 'The name of the volume.', 'type' => 'string', 'required' => false, 'example' => 'default-volume1', 'title' => ''], + 'EmptyDirVolume.Medium' => ['description' => 'EmptyDirVolume的存储媒介,默认为空,使用node文件系统;支持memory,表示使用内存。', 'type' => 'string', 'required' => false, 'example' => 'memory', 'title' => ''], + 'ConfigFileVolumeConfigFileToPath' => [ + 'description' => 'The list of configuration file paths.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of configuration file paths.', + 'type' => 'object', + 'properties' => [ + 'Path' => ['description' => 'The relative file path of the configuration file.', 'type' => 'string', 'required' => false, 'example' => 'PATH', 'title' => ''], + 'Mode' => ['description' => 'The permissions of the ConfigFileVolume directory.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0644', 'title' => ''], + 'Content' => ['description' => 'The content of the configuration file (32 KB).', 'type' => 'string', 'required' => false, 'example' => 'bGl1bWk=', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 90, + 'title' => '', + 'example' => '', + ], + 'EmptyDirVolume.SizeLimit' => ['description' => 'EmptyDir数据卷的大小。取值时请带上单位,建议使用Gi或Mi。', 'type' => 'string', 'required' => false, 'example' => '256 Mi', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', ], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'EnableScalingGroup', - 'description' => '## Description'."\n" - ."\n" - .'You can call this operation to enable a scaling group that is in the Inactive state and has an instance configuration source. The instance configuration source can be a scaling configuration, a launch template, or Elastic Compute Service (ECS) instances that you specified when you created the scaling group. If a scaling group is not in the Inactive state or does not have an instance configuration source, you cannot call this operation to enable the scaling group.'."\n" - ."\n" - .'> A scaling group can have only one active instance configuration source at a time. When you call this operation to enable a scaling group, you can specify a scaling configuration or a launch template for the scaling group. If an instance configuration source is configured for the scaling group before you call this operation, the scaling configuration or launch template that you specify in the request overwrites the original configuration or template.'."\n" - ."\n" - .'If you specify a value for the InstanceId.N parameter when you call the operation, Auto Scaling checks whether the total number of ECS instances is within the range allowed for the scaling group after you call the operation.'."\n" - ."\n" - .'* If the total number of ECS instances is less than the minimum number of instances allowed in the scaling group after you call the operation, Auto Scaling automatically creates the required number of pay-as-you-go ECS instances to reach the minimum number. For example, if the minimum number of instances allowed in your scaling group is five, and you specify the InstanceId.N parameter to add two created ECS instances to the scaling group, Auto Scaling automatically creates three instances in the scaling group after the two instances are added.'."\n" - .'* If the total number of instances is greater than the maximum number of instances allowed in the scaling group, the operation fails to be called.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DisableScalingGroup' => [ - 'summary' => '停用一个伸缩组', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92694', - 'abilityTreeNodes' => [ - 'FEATUREessUCEVTM', - ], - ], - 'parameters' => [ - [ - 'name' => 'ScalingGroupId', + 'name' => 'InitContainer', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'description' => 'The list of init containers.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of init containers.', + 'type' => 'object', + 'properties' => [ + 'InitContainerEnvironmentVar' => [ + 'description' => 'The environment variable information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The environment variable information.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable. The name must be 1 to 128 characters in length and must match the format `[0-9a-zA-Z]` and underscores (\\_). The name cannot start with a digit.', 'type' => 'string', 'required' => false, 'example' => 'Path', 'title' => ''], + 'Value' => ['description' => 'The value of the environment variable. The value can be up to 256 characters in length.', 'type' => 'string', 'required' => false, 'example' => '/usr/bin/', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 301, + 'title' => '', + 'example' => '', + ], + 'SecurityContext.Capability.Add' => [ + 'description' => '为容器内的进程授予某些特定的权限。目前仅支持配置为NET_ADMIN和NET_RAW。'."\n" + ."\n" + .'> NET_RAW默认不支持,需提交工单申请。', + 'type' => 'array', + 'items' => ['description' => '为容器内的进程授予某些特定的权限。目前仅支持配置为NET_ADMIN和NET_RAW。'."\n" + ."\n" + .'> NET_RAW默认不支持,需提交工单申请。', 'type' => 'string', 'required' => false, 'example' => 'NET_ADMIN', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + 'Image' => ['description' => 'The image used by the container.', 'type' => 'string', 'required' => false, 'example' => 'nginx', 'title' => ''], + 'InitContainerVolumeMount' => [ + 'description' => 'The volume mount information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The volume mount information.', + 'type' => 'object', + 'properties' => [ + 'MountPropagation' => ['description' => 'The mount propagation setting of the volume. Mount propagation allows volumes mounted by a container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" + ."\n" + .'- None: the volume does not detect any subsequent mounts on this volume or its subdirectories.'."\n" + .'- HostToCotainer: the volume detects subsequent mounts on this volume or its subdirectories.'."\n" + .'- Bidirectional: similar to HostToCotainer, the volume detects mount operations. In addition, the volume is propagated back to the host and all containers of all pods that use the same volume.', 'type' => 'string', 'required' => false, 'example' => 'None', 'title' => ''], + 'MountPath' => ['description' => 'The mount directory. The content in the mount directory of the container is overwritten by the volume content.', 'type' => 'string', 'required' => false, 'example' => '/usr/share/', 'title' => ''], + 'ReadOnly' => ['description' => 'Specifies whether the mount path is read-only.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Name' => ['description' => 'The name of the mounted volume.', 'type' => 'string', 'required' => false, 'example' => 'test-empty', 'title' => ''], + 'SubPath' => ['description' => 'The subdirectory of the volume. This allows a pod to mount different directories of the same volume to different directories in the container.', 'type' => 'string', 'required' => false, 'example' => '/usr/sub/', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'ImagePullPolicy' => ['description' => 'The image pull policy.', 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], + 'Cpu' => ['description' => 'The number of vCPUs of the container. Unit: cores.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''], + 'WorkingDir' => ['description' => 'The working directory.', 'type' => 'string', 'required' => false, 'example' => '/usr/local', 'title' => ''], + 'Command' => [ + 'description' => 'The container startup command.', + 'type' => 'array', + 'items' => ['description' => 'The container startup command.', 'type' => 'string', 'required' => false, 'example' => 'sleep', 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'Arg' => [ + 'description' => 'The container startup arguments.', + 'type' => 'array', + 'items' => ['description' => 'The container startup arguments.', 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'SecurityContext.RunAsUser' => ['description' => '设置运行容器的用户ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '587', 'title' => ''], + 'Gpu' => ['description' => 'The number of GPUs used by the container.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'Memory' => ['description' => 'The memory size. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], + 'Name' => ['description' => 'The container name.', 'type' => 'string', 'required' => false, 'example' => 'test-init', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'DisableScalingGroup', - 'description' => '## Description'."\n" - ."\n" - .'When you disable a scaling group, take note of the following items:'."\n" - ."\n" - .'* If scaling activities are being executed in the specified scaling group when you call this operation, these activities will continue until they are complete. However, scaling activities that are triggered after this operation is called will be rejected.'."\n" - .'* This operation can be called only when the scaling group is in the Active state.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'SetGroupDeletionProtection' => [ - 'summary' => '为伸缩组开启或关闭删除保护', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92717', - 'abilityTreeNodes' => [ - 'FEATUREessF87COY', - ], - ], - 'parameters' => [ [ - 'name' => 'GroupDeletionProtection', + 'name' => 'DnsConfigNameServer', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to enable deletion protection for the scaling group. Valid values:'."\n" - ."\n" - .'* true: enables deletion protection. After deletion protection is enabled, you cannot delete the scaling group by using the console or by calling an API operation. Before you delete a scaling group, you must disable deletion protection for the scaling group.'."\n" - .'* false: disables deletion protection.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => true, - 'example' => 'true', + 'description' => 'The list of IP addresses of DNS servers.', + 'type' => 'array', + 'items' => ['description' => 'The list of IP addresses of DNS servers.', 'type' => 'string', 'required' => false, 'example' => '172.10.*.**', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'DnsConfigSearch', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', + 'description' => 'The list of DNS search domains.', + 'type' => 'array', + 'items' => ['description' => 'The list of DNS search domains.', 'type' => 'string', 'required' => false, 'example' => 'svc.local.kubenetes', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'RegionId', + 'name' => 'DnsConfigOption', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CCC29E24-3AEC-4F2C-8A14-78B14FA738B7', + 'description' => 'The list of object options. Each object consists of a Name and an optional Value.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of object options. Each object consists of a Name and an optional Value.', + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The value of the object variable.', 'type' => 'string', 'required' => false, 'example' => 'value', 'title' => ''], + 'Name' => ['description' => 'The name of the object variable.', 'type' => 'string', 'required' => false, 'example' => 'name', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CCC29E24-3AEC-4F2C-8A14-78B14FA7****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n CCC29E24-3AEC-4F2C-8A14-78B14FA7****\\n","errorExample":""}]', - 'title' => 'SetGroupDeletionProtection', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=SetGroupDeletionProtection\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'AttachLoadBalancers' => [ - 'summary' => 'Associates one or more Classic Load Balancer (CLB) instances with a scaling group.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92650', - '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 all instances in the specified scaling group as backend servers to the SLB instance. Valid values:'."\n" - ."\n" - .'* true: adds all instances.'."\n" - .'* false: does not add all instances.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', 'required' => false, - 'example' => 'false', - 'default' => 'false', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ClientToken', + 'name' => 'HostAliase', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The client token that is used to guarantee the idempotence of the request. You can use the client to generate the value, but you must make sure that the value is unique among different requests. The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', + 'description' => 'The custom hostname mapping for a container in the instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The custom hostname mapping for a container in the instance.', + 'type' => 'object', + 'properties' => [ + 'Ip' => ['description' => 'The IP address to add.', 'type' => 'string', 'required' => false, 'example' => '1.1.1.1', 'title' => ''], + 'Hostname' => [ + 'description' => 'The hostname to add.', + 'type' => 'array', + 'items' => ['description' => 'The hostname to add.', 'type' => 'string', 'required' => false, 'example' => 'hehe.com', 'title' => ''], + 'required' => false, + 'maxItems' => 51, + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', + 'maxItems' => 101, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Async', + 'name' => 'SecurityContextSysctl', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to use asynchronous calls when you associate an SLB instance with the scaling group. Asynchronous calls ensure the transactional nature of operations, which means that all operations are successfully performed or the execution results do not take effect if some operations fail. We recommend that you use asynchronous calls.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* true: asynchronous calls. The request returns the ID of the scaling activity.'."\n" - .'* false: synchronous calls.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', + 'description' => 'The system information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The system information.', + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => '实例运行的安全上下文的变量值。', 'type' => 'string', 'required' => false, 'example' => '65536', 'title' => ''], + 'Name' => ['description' => 'The system name of the security context in which the instance runs.', 'type' => 'string', 'required' => false, 'example' => 'kernel.msgmax', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'false', + 'maxItems' => 11, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'LoadBalancer', + 'name' => 'NtpServer', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the CLB instances.', + 'description' => 'The NTP server.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The ID of SLB instance N. Valid values of N: 1 to 5.'."\n", - 'example' => 'lb-2zeur05gfs****', - ], + 'items' => ['description' => 'The NTP server.', 'type' => 'string', 'required' => false, 'example' => 'ntp.cloud.aliyuncs.com', 'title' => ''], 'required' => false, - 'example' => 'lb-2zeur05gfs****', - 'maxItems' => 5, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'LoadBalancerConfig', + 'name' => 'AcrRegistryInfo', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ + 'description' => 'ACR企业版实例信息。', 'type' => 'array', 'items' => [ + 'description' => 'ACR企业版实例信息。', 'type' => 'object', 'properties' => [ - 'LoadBalancerId' => [ - 'type' => 'string', - ], - 'Weight' => [ - 'type' => 'integer', - 'format' => 'int32', + 'Domain' => [ + 'description' => 'ACR企业版实例的域名。默认为相应实例的所有域名。支持指定个别域名,多个以半角逗号(,)分隔。', + 'type' => 'array', + 'items' => ['description' => 'ACR企业版实例的域名。默认为相应实例的所有域名。支持指定个别域名,多个以半角逗号(,)分隔。', 'type' => 'string', 'required' => false, 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], + 'InstanceName' => ['description' => 'ACR企业版实例的名称。', 'type' => 'string', 'required' => false, 'example' => 'acr-test', 'title' => ''], + 'InstanceId' => ['description' => 'ACR企业版实例ID。', 'type' => 'string', 'required' => false, 'example' => 'cri-nwj395hgf6f3****', 'title' => ''], + 'RegionId' => ['description' => 'ACR企业版实例所属地域。', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'maxItems' => 20, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity.'."\n" - ."\n" - .'This parameter value is returned only when Async is set to true. You can call the [DescribeScalingActivities](~~25961~~) operation to query the IDs of returned scaling activities and view the execution status of the scaling activities.'."\n", - 'type' => 'string', - 'example' => 'asa-bp140qd7mak8k63f****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp140qd7mak8k63f****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n asa-bp140qd7mak8k63f****\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'AttachLoadBalancers', - 'description' => '## Description'."\n" - ."\n" - .'Before you associate an SLB instance with a scaling group, make sure that the following requirements are met:'."\n" - ."\n" - .'* The SLB instance and the scaling group must be in the same account.'."\n" - .'* The SLB instance and the scaling group must be in the same region.'."\n" - .'* The SLB instance must be in the Running state.'."\n" - .'* The SLB instance must be configured with at least one listener. Health check is enabled for the SLB instance.'."\n" - .'* The SLB instance and the scaling group must be in the same VPC if their network type is VPC.'."\n" - .'* If the network type of the scaling group is VPC, the network type of the SLB instance is classic network, and the SLB backend server contains VPC-type instances, the instance and the scaling group must be in the same VPC.'."\n" - .'* The number of SLB instances cannot exceed the quota for SLB instances that can be associated with the scaling group. For more information about the quota, see [Limits](~~25863~~).'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DetachLoadBalancers' => [ - 'summary' => '移除一个或多个负载均衡CLB实例', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92691', - 'abilityTreeNodes' => [ - 'FEATUREess2GK585', + 'name' => 'CostOptimization', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => ['description' => 'Specifies whether to enable cost optimization. Valid values:'."\n" + .'- true: enabled.'."\n" + .'- false: disabled.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'InstanceFamilyLevel', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp1ffogfdauy0jw0****', - ], + 'schema' => ['description' => 'The level of the instance family, which is used to filter instance types that meet the requirements. This parameter takes effect only when CostOptimization is enabled. Valid values:'."\n" + ."\n" + .'- EntryLevel: shared instance types. Lower cost but no guaranteed stability of computing performance. Suitable for scenarios with low CPU utilization. For more information, see [Shared instance families](~~108489~~).'."\n" + .'- EnterpriseLevel: enterprise-level instance types. Stable performance with dedicated resources. Suitable for scenarios that require high stability. For more information, see [Instance families](~~25378~~).'."\n" + .'- CreditEntryLevel: burstable instance types. CPU credits are used to ensure computing performance. Suitable for scenarios with low average CPU utilization and occasional bursts. For more information, see [Overview of burstable instances](~~59977~~).', 'type' => 'string', 'required' => false, 'example' => 'EnterpriseLevel', 'title' => ''], ], [ - 'name' => 'ForceDetach', + 'name' => 'InstanceType', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to remove Elastic Compute Service (ECS) instances in the scaling group from the backend server groups of the SLB instance. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', + 'description' => 'The specified ECS instance types. You can specify up to five instance types.', + 'type' => 'array', + 'items' => ['description' => 'The specified ECS instance type. You can specify up to five instance types. For more information, see [Create instances by specifying ECS instance types](~~114664~~).', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], 'required' => false, - 'example' => 'false', - 'default' => 'false', + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ClientToken', + 'name' => 'DataCacheBucket', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that it is unique among different requests.'."\n" - ."\n" - .'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The data cache bucket.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], ], [ - 'name' => 'Async', + 'name' => 'DataCachePL', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to perform asynchronous calls when you disassociates an SLB instance from the scaling group. Asynchronous calls ensure the transactional nature of operations. This means that the execution results take effect only if all operations are successfully performed. We recommend that you perform asynchronous calls.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* true: performs asynchronous calls. The request returns the ID of the scaling activity.'."\n" - .'* false: does not perform asynchronous calls.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The performance level (PL) of the cloud disk used for data caching. We recommend that you use ESSDs. Valid values for ESSD performance levels:'."\n" + ."\n" + .'- PL0: a maximum of 10,000 random read/write IOPS per disk.'."\n" + .'- PL1: a maximum of 50,000 random read/write IOPS per disk.'."\n" + .'- PL2: a maximum of 100,000 random read/write IOPS per disk.'."\n" + .'- PL3: a maximum of 1,000,000 random read/write IOPS per disk.'."\n" + ."\n" + .'Default value: PL1.'."\n" + .'> For more information about ESSDs, see [ESSDs](~~122389~~).', 'type' => 'string', 'required' => false, 'example' => 'PL1', 'title' => ''], ], [ - 'name' => 'LoadBalancer', + 'name' => 'DataCacheProvisionedIops', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the CLB instances. You can specify up to five instance IDs.', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of SLB instance N. You can disassociate up to five SLB instances from a scaling group at a time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-2zeur05gfs****', - ], - 'required' => true, - 'example' => 'lb-2zeur05gfs****', - 'maxItems' => 5, - ], + 'schema' => ['description' => 'The provisioned read/write IOPS of the ESSD AutoPL disk used for data caching. Valid values: 0 to min{50000, 1000 × Capacity - Baseline Performance}, where Baseline Performance = min{1800 + 50 × Capacity, 50000}.'."\n" + ."\n" + .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '40000', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'DataCacheBurstingEnabled', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'Specifies whether to enable burst (performance bursting) for the ESSD AutoPL disk used for data caching. Valid values:'."\n" + ."\n" + .'- true: enabled.'."\n" + .'- false: disabled.'."\n" + ."\n" + .'Default value: false.'."\n" + ."\n" + .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~122389~~).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'GpuDriverVersion', + 'in' => 'query', + 'schema' => ['description' => 'The GPU driver version. Valid values:'."\n" + .'- tesla=470.82.01 (default)'."\n" + .'- tesla=525.85.12'."\n" + ."\n" + .'> Only specific instance types support switching GPU driver versions. For more information, see [Create instances by specifying GPU instance types](~~2579486~~).', 'type' => 'string', 'required' => false, 'example' => 'tesla=525.85.12', 'title' => ''], ], ], 'responses' => [ @@ -2536,125 +2626,168 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity.'."\n" - ."\n" - .'A value of this parameter is returned only when Async is set to true. You can call the [DescribeScalingActivities](~~25961~~) operation to query the returned IDs of the scaling activities and view the execution status of the scaling activities.'."\n", - 'type' => 'string', - 'example' => 'asa-bp140qd7mak8k63f****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'ScalingConfigurationId' => ['description' => 'The ID of the scaling configuration.', 'type' => 'string', 'example' => 'asc-uf6fonnghi50u374****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '89945DD3-9072-47D0-A318-353284CF****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp140qd7mak8k63f****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n asa-bp140qd7mak8k63f****\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'DetachLoadBalancers', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DetachLoadBalancers\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DetachDBInstances' => [ - 'summary' => '移除一个或多个RDS实例', - 'methods' => [ - 'post', - 'get', + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'Forbidden.RiskControl', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingConfigurationId\\": \\"asc-uf6fonnghi50u374****\\",\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CF****\\"\\n}","type":"json"}]', + 'title' => 'Create a scaling configuration', + 'description' => '## Operation description'."\n" + ."\n" + .'A scaling configuration specifies the ECI instance template used for elastic scale-out.'."\n" + ."\n" + .'The Cpu and Memory parameters specify the range of instance types by defining the CPU and memory requirements. Auto Scaling determines the available instance types based on factors such as I/O optimization and zones, and then creates instances at the lowest price by sorting the instance types by price. This method applies only when the scaling group uses the cost optimization policy and no instance type is specified in the scaling configuration.', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InstanceType.Mismatch|The specified scaling configuration and existing active scaling configuration have different instance type.|The instance type of the specified scaling configuration does not match the instance type of the active scaling configuration.|'."\n" + .'|404|InvalidDataDiskSnapshotId.NotFound|Snapshot "XXX" does not exist.|The specified snapshot does not exist.|'."\n" + .'|400|InvalidDataDiskSnapshotId.SizeNotSupported|The capacity of snapshot "XXX" exceeds the size limit of the specified disk category.|The size of the specified snapshot exceeds the disk size limit.|'."\n" + .'|403|InvalidDevice.InUse|Device "XXX" has been occupied.|The data cloud disk mount point is duplicated.|'."\n" + .'|400|InvalidImageId.InstanceTypeMismatch|The specified image does not support the specified instance type.|The specified image cannot be used with the specified instance type.|'."\n" + .'|404|InvalidImageId.NotFound|The specified image does not exist.|The specified image does not exist in this account.|'."\n" + .'|400|InvalidKeyPairName.NotFound|The specified KeyPairName does not exist in our records.|The specified KeyPairName does not exist.|'."\n" + .'|400|InvalidNetworkType.ForRAMRole|RAMRole can\'t be used For classic instance.|The RamRoleName parameter is not supported for classic network instances.|'."\n" + .'|400|InvalidParameter|The specified value of parameter KeyPairName is not valid.|The KeyPairName parameter is not supported for Windows operating systems.|'."\n" + .'|400|InvalidParameter.Conflict|The value of parameter SystemDisk.Category and parameter DataDisk.N.Category are conflict.|The specified system cloud disk type conflicts with the data cloud disk type.|'."\n" + .'|400|InvalidRamRole.NotFound|The specified RamRoleName does not exist.|The specified RamRoleName does not exist.|'."\n" + .'|400|InvalidScalingConfigurationName.Duplicate|The specified value of parameter ScalingConfigurationName is duplicated.|A scaling configuration with the same name already exists.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in this account.|'."\n" + .'|400|InvalidSecurityGroupId.IncorrectNetworkType|The network type of specified security Group does not support this action.|The network type of the specified security group does not match the network type of the scaling group.|'."\n" + .'|404|InvalidSecurityGroupId.NotFound|The specified security group does not exist.|The specified security group does not exist in this account.|'."\n" + .'|400|InvalidSecurityGroupId.VPCMismatch|The specified security group and the specified virtual switch are not in the same VPC.|The specified security group and the vSwitch do not belong to the same VPC.|'."\n" + .'|403|InvalidSnapshot.TooOld|This operation is denied because the specified snapshot is created before 2013-07-15.|The specified snapshot was created on or before July 15, 2013. The request is denied.|'."\n" + .'|403|InvalidSystemDiskCategory.ValueUnauthorized|The system disk category is not authorized.|You are not authorized to create a system cloud disk of the ephemeral disk type.|'."\n" + .'|400|InvalidUserData.Base64FormatInvalid|The specified parameter UserData must be base64 encoded.|The UserData value does not comply with the Base64 encoding specification.|'."\n" + .'|400|InvalidUserData.SizeExceeded|The specified parameter UserData exceeds the size.|The specified UserData value is too long.|'."\n" + .'|403|QuotaExceeded.EphemeralDiskSize|Ephemeral disk size quota exceeded.|The total capacity of ephemeral data cloud disks exceeds 2 TiB (2048 GiB).|'."\n" + .'|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateEciScalingConfiguration'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateEciScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'CreateLifecycleHook' => [ + 'summary' => 'Creates one or more lifecycle hooks for a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92689', - 'abilityTreeNodes' => [ - 'FEATUREessJZ6DNF', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '92655', + 'abilityTreeNodes' => ['FEATUREessZQ2TYX'], ], 'parameters' => [ [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1eyv4qn8ssgv43****', 'title' => ''], ], [ - 'name' => 'ForceDetach', + 'name' => 'LifecycleHookName', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove the private IP addresses of instances in the scaling group from the whitelist that manages access to the ApsaraDB RDS instance with which the scaling group is associated. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'The name of the lifecycle hook. The name must be unique within the scaling group. The name must be 2 to 64 characters in length and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter, digit, or Chinese character.'."\n" + ."\n" + .'Default value: the value of LifecycleHookId.', 'type' => 'string', 'required' => false, 'example' => 'lifecyclehook****', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'LifecycleTransition', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests.'."\n" - ."\n" - .'The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The type of scaling activity to which the lifecycle hook applies. Valid values:'."\n" + ."\n" + .'- SCALE_OUT: scale-out activity of the scaling group.'."\n" + .'- SCALE_IN: scale-down activity of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'SCALE_OUT', 'title' => ''], ], [ - 'name' => 'DBInstance', + 'name' => 'DefaultResult', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the ApsaraDB RDS instances. You can specify up to five ApsaraDB RDS instances.', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of ApsaraDB RDS instance N. You can disassociate up to five ApsaraDB RDS instances from a scaling group at a time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rm-bp12cy3****', - ], - 'required' => true, - 'example' => 'rm-bp12cy3****', - 'maxItems' => 5, - ], + 'schema' => ['description' => 'The action to take after the wait state ends. Valid values:'."\n" + ."\n" + .'- CONTINUE: continues to response to the scale-out or scale-down activity.'."\n" + .'- ABANDON: releases the ECS instances that are created during the scale-out activity, or removes the ECS instances from the scaling group during the scale-down activity.'."\n" + .'- ROLLBACK: for a scale-down activity, the system deny the release of ECS instances and performs a rollback. For a scale-out activity, the system releases the created ECS instances, which has the same effect as ABANDON.'."\n" + ."\n" + .'When a scale-down activity (SCALE_IN) triggers multiple lifecycle hooks in a scaling group, if the DefaultResult of one lifecycle hook is set to ABANDON or ROLLBACK and the wait state of that hook ends, the wait states of the other lifecycle hooks end early. In other cases, the action to take is determined by the last lifecycle hook whose wait state ends.'."\n" + ."\n" + .'Default value: CONTINUE.', 'type' => 'string', 'required' => false, 'example' => 'CONTINUE', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'HeartbeatTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The wait period that the lifecycle hook sets for the scaling group activity. After the wait state times out, the next action is performed. Valid values: 30 to 21600. Unit: seconds.'."\n" + ."\n" + .'After a lifecycle hook is created, you can call [RecordLifecycleActionHeartbeat](~~73846~~) to extend the wait period of an ECS instance, or call [CompleteLifecycleAction](~~73847~~) to end the wait state of a scaling activity early.'."\n" + ."\n" + .'Default value: 600.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '600', 'title' => ''], ], [ - 'name' => 'RemoveSecurityGroup', + 'name' => 'NotificationMetadata', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], + 'schema' => ['description' => 'The notification information that is pushed to NotificationArn (the notification recipient) when the lifecycle hook suspends a scaling activity. This parameter helps you manage and tag notification information of different categories. You must also specify NotificationArn. The value can be up to 4,096 characters in length.'."\n" + ."\n" + .'If NotificationArn is set to an OOS template, including a public template or a custom template, NotificationMetadata must be set to a JSON string that matches the parameters of the OOS template.'."\n" + ."\n" + .'For example, `{"dbInstanceId": "dds-bp17661e0135****", "modifyMode": "Append"}`, where `dbInstanceId` and `modifyMode` are parameters defined in the OOS template. Some parameters of the OOS template have default values. NotificationMetadata must specify parameters that do not have default values. If you specify parameters that have default values, the specified values overwrite the original default values. However, keep the default values for the following parameters, which are used to retrieve relevant information during scaling activities:'."\n" + ."\n" + .'- regionId: the region where the scaling activity is performed. Default value: ${regionId}.'."\n" + ."\n" + .'- instanceIds: the list of instances associated with the scaling activity. Default value: ${instanceIds}.'."\n" + ."\n" + .'- lifecycleHookId: the lifecycle hook ID. Default value: ${lifecycleHookId}.'."\n" + ."\n" + .'- lifecycleActionToken: the identifier of the wait state for the scaling activity, which is used to end the current suspended activity early. Default value: ${lifecycleActionToken}.'."\n" + ."\n" + .'- scalingGroupId: the ID of the scaling group to which the scaling activity belongs. Default value: ${scalingGroupId}.'."\n" + ."\n" + .'- lifecycleActionResult: the action to take after the lifecycle hook wait state ends, which is used to end the current suspended activity early when the OOS template fails. When DefaultResult is set to ROLLBACK, the default value is ROLLBACK. In other cases, the default value is ABANDON.'."\n" + .'>- You can set the value of lifecycleActionResult to overwrite the current default value. Valid values: ABANDON, CONTINUE, ROLLBACK, and ${lifecycleActionResult}. ${lifecycleActionResult} indicates that the value of lifecycleActionResult is consistent with the value of DefaultResult.'."\n" + .'- You can obtain detailed information about the parameters of the corresponding template in the [OOS console](https://oos.console.aliyun.com/).', 'type' => 'string', 'required' => false, 'example' => 'Test lifecycle hook.', 'title' => ''], + ], + [ + 'name' => 'NotificationArn', + 'in' => 'query', + 'schema' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient of the lifecycle hook. If this parameter is not set, no notification is sent. The following notification methods are supported when you set this parameter:'."\n" + ."\n" + .'- MNS queue. The value is in the format of `acs:mns:{region-id}:{account-id}:queue/{queuename}`.'."\n" + .'- MNS topic. The value is in the format of `acs:mns:{region-id}:{account-id}:topic/{topicname}`.'."\n" + .'- OOS template. The value is in the format of `acs:oos:{region-id}:{account-id}:template/{templatename}`.'."\n" + .'- EventBridge. The value is in the format of `acs:eventbridge:{region-id}:{account-id}:eventbus/default`.'."\n" + ."\n" + .'The variables in the format have the following meanings:'."\n" + ."\n" + .'- region-id: the region ID of the scaling group.'."\n" + .'- account-id: the Alibaba Cloud account ID. The account ID of a Resource Access Management (RAM) user is not supported.'."\n" + .'- queuename: the name of the MNS queue.'."\n" + .'- topicname: the name of the MNS topic.'."\n" + .'- templatename: the name of the OOS template.', 'type' => 'string', 'required' => false, 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****', 'title' => ''], ], ], 'responses' => [ @@ -2662,125 +2795,132 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'LifecycleHookId' => ['description' => 'The ID of the lifecycle hook.', 'type' => 'string', 'example' => 'ash-bp1at9ufhmcf9cmy****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'DetachDBInstances', - 'description' => '## Debugging'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"LifecycleHookId\\": \\"ash-bp1at9ufhmcf9cmy****\\"\\n}","type":"json"}]', + 'title' => 'Create one or more lifecycle hooks for a scaling group', + 'description' => '## Operation description'."\n" + ."\n" + .'- A scaling group can have a maximum of 6 lifecycle hooks. When a scaling activity occurs in a scaling group that has lifecycle hooks, the lifecycle hooks pause the scaling activity for an epoch. You can specify the wait epoch by using the HeartbeatTimeout parameter. During the wait epoch, you can perform operations such as initialization of ECS instance configurations and retrieving ECS instance data.'."\n" + ."\n" + .'- During a scale-out activity, ECS instances enter the wait state after they are added to the RDS instance whitelist, and are added to the backend server group of the SLB instance after the wait state ends. During a scale-down activity, ECS instances enter the wait state after they are removed from the backend server group of the SLB instance, and are removed from the RDS instance whitelist after the wait state ends.'."\n" + ."\n" + .'- You can configure notification methods for lifecycle hooks. The supported notification methods include MNS topics, MNS queues, and OOS templates. If you configure an OOS template, create a RAM role for the OOS service. For more information, see [Settings RAM permissions for OOS](~~120810~~).'."\n" ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DetachDBInstances\\&type=RPC\\&version=2014-08-28)'."\n", + .'> If the scaling group has existing ECS instances and the configured OOS template is used to add or remove instances from the whitelist of a database other than RDS, you must manually add the existing ECS instances to the whitelist of the database.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'AttachDBInstances' => [ - 'summary' => '添加一个或多个RDS实例', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidParamter|The specified value of parameter is not valid.|The specified parameter value is invalid.|'."\n" + .'|400|InvalidNotificationArn|The specified parameter notificationArn is invalid.|The specified NotificationArn is invalid.|'."\n" + .'|400|UnsupportedNotificationType.CurrentRegion|The notificationType is not supported in the special region which scalingGroup belongs to.|The notification method is not supported in the region of the scaling group.|'."\n" + .'|400|QueueNotExist|The specified queue does not exist.|The specified MNS queue does not exist.|'."\n" + .'|400|TopicNotExist|The specified topic does not exist.|The specified MNS topic does not exist.|'."\n" + .'|400|InvalidLifecycleHookName.Duplicate|The specified value of parameter lifecycleHookName is duplicated.|A lifecycle hook with the same name already exists.|'."\n" + .'|400|QuotaExceeded.LifecycleHook|Lifecycle hook quota exceeded in the specified scaling group.|A maximum of 6 lifecycle hooks can be created for a scaling group.|.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateLifecycleHook', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateLifecycleHook'], + ], ], + ], + 'CreateNotificationConfiguration' => [ + 'summary' => 'Creates auto scaling event and resource change notifications.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92648', - 'abilityTreeNodes' => [ - 'FEATUREessJZ6DNF', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92656', + 'abilityTreeNodes' => ['FEATUREess6E26FJ', 'FEATUREessFY8KDA'], ], 'parameters' => [ [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1avr6ensitts3w****', - ], - ], - [ - 'name' => 'ForceAttach', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to add the internal IP addresses of all instances in the specified scaling group to the whitelist that manages access to the ApsaraDB RDS instance. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'NotificationArn', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests.'."\n" - ."\n" - .'The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The identifier of the notification recipient. The following notification methods are supported:'."\n" + ."\n" + .'- CloudMonitor. Format: `acs:ess:{region-id}:{account-id}:cloudmonitor`.'."\n" + .'- MNS queue. Format: `acs:mns:{region-id}:{account-id}:queue/{queuename}`.'."\n" + .'- MNS topic. Format: `acs:mns:{region-id}:{account-id}:topic/{topicname}`.'."\n" + ."\n" + .'The variables in the format are described as follows:'."\n" + .'- `region-id`: the region ID of the scaling group.'."\n" + .'- `account-id`: the Alibaba Cloud account ID.'."\n" + .'- `queuename`: the name of the MNS queue.'."\n" + .'- `topicname`: the name of the MNS topic.', 'type' => 'string', 'required' => true, 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****', 'title' => ''], ], [ - 'name' => 'DBInstance', + 'name' => 'NotificationType', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the ApsaraDB RDS instances. You can specify up to five ApsaraDB RDS instances.', + 'description' => 'One or more types of Auto Scaling event and resource change notifications. Valid values of N: 1 to 8. Specify multiple values in a repeated list format.', 'type' => 'array', - 'items' => [ - 'description' => 'The ID of ApsaraDB RDS instance N. Valid values of N: 1 to 5.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rm-bp12cy3****', - ], + 'items' => ['description' => 'One or more types of auto scaling event and resource change notifications. Valid values of N: 1 to 8. Specify multiple values in a repeated list format.'."\n" + ."\n" + .'You can call the [DescribeNotificationTypes](~~71117~~) operation to query the valid values of this query parameter.', 'type' => 'string', 'required' => false, 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', 'title' => ''], 'required' => true, - 'example' => 'rm-bp12cy3****', - 'maxItems' => 5, + 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', + 'maxItems' => 12, + 'title' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], ], [ - 'name' => 'AttachMode', + 'name' => 'TimeZone', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The time zone for message notifications. The time zone is expressed as an offset from Coordinated Universal Time (UTC), such as UTC+8 or UTC-7.', 'type' => 'string', 'required' => false, 'example' => 'UTC+8', 'title' => ''], ], [ - 'name' => 'Type', + 'name' => 'MessageEncoding', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The encoding method for the notification content. Valid values:'."\n" + ."\n" + .'- PlainText: no encoding. The content is transmitted in plaintext.'."\n" + .'- Base64: Base64 encoding.'."\n" + ."\n" + .'Default value: Base64.'."\n" + ."\n" + .'> This parameter is supported only for MNS notification recipients.', 'type' => 'string', 'required' => false, 'example' => 'PlainText', 'title' => ''], ], ], 'responses' => [ @@ -2788,10455 +2928,1152 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'AttachDBInstances', - 'description' => '## Description'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Create Auto Scaling event and resource change notifications', + 'description' => '## Operation description'."\n" ."\n" - .'Before you associate an ApsaraDB RDS instance with a scaling group, make sure that the ApsaraDB RDS instance meets the following requirements:'."\n" + .'- You can configure CloudMonitor system events, Message Service (MNS) queues, or MNS topics to receive notifications. When a specified type of scaling event or resource change occurs in a scaling group, Auto Scaling sends notifications to CloudMonitor or MNS.'."\n" ."\n" - .'* The ApsaraDB RDS instance and the scaling group must be within the same account.'."\n" - .'* The ApsaraDB RDS instance must be unlocked. For more information about the lock policy, see [Limits](~~41872~~).'."\n" - .'* The ApsaraDB RDS instance must be in the Running state.'."\n" + .'- Different event notifications within the same scaling group cannot share the same recipient.'."\n" ."\n" - .'After an ApsaraDB RDS instance is associated with the scaling group, the default whitelist that manages access to the ApsaraDB RDS instance can contain no more than 1,000 IP addresses. For more information, see the "Configure IP address whitelists for the RDS instance" section in the [Use a database client or the CLI to connect to an ApsaraDB RDS for MySQL instance](~~43185~~) topic.'."\n", + .' For example, different event notifications cannot use the same CloudMonitor instance, the same MNS topic, or the same MNS queue.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'AttachVServerGroups' => [ - 'summary' => '添加负载均衡实例下虚拟服务器组', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidNotificationArn|The specified parameter notificationArn is invalid.|The specified NotificationArn is invalid.|'."\n" + .'|400|InvalidNotificationTypes|The specified notification type is invalid.|The specified NotificationType.N is invalid.|'."\n" + .'|400|NotificationConfigurationExist|The specified notification configuration already exist for the scalingGroup.|The specified event notification already exists in the scaling group.|'."\n" + .'|400|NotificationConfigurationQuotaExceed.ForScalingGroup|NotificationConfiguration num exceed for the specified scalingGroup.|The number of notification configurations for the scaling group exceeds the upper limit.|'."\n" + .'|400|QueueNotExist|The specified queue queuename does not exist.|The specified MNS queue does not exist.|'."\n" + .'|400|TopicNotExist|The specified topic topicname does not exist.|The specified MNS topic does not exist.|'."\n" + .'|400|UnsupportedNotificationType.CurrentRegion|The NotificationType is not supported in the special region which scaling group belongs to.|The notification method is not supported in the region of the scaling group.|'."\n" + .'|400|InvalidParameter.TimeZone|The specified parameter TimeZone is not valid.|The specified TimeZone parameter is invalid.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateNotificationConfiguration'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateNotificationConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'CreateScalingConfiguration' => [ + 'summary' => 'Creates an ECS-type scaling configuration for a scaling group by calling the CreateScalingConfiguration operation with the scaling group ID, instance type, instance image, and other information specified.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92651', - 'abilityTreeNodes' => [ - 'FEATUREess2GK585', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92657', + 'abilityTreeNodes' => ['FEATUREessWJGIW5'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group. Example: cn-hangzhou or cn-shanghai. For more information, see [Regions and zones](~~40654~~).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the scaling group to which the scaling configuration belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'ImageId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The ID of the image file used for automatic creation of instances.'."\n" + ."\n" + .'>This parameter has the same effect as the `ImageName` parameter. You can choose one of the two settings. If you set the ImageName parameter, the ImageId parameter is ignored (optional).', 'type' => 'string', 'required' => false, 'example' => 'centos6u5_64_20G_aliaegis****.vhd', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'ImageName', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests. The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The name of the image file. Image names are unique within a region. You cannot use this parameter to specify images from Alibaba Cloud Marketplace.'."\n" + .'> This parameter has the same effect as the `ImageId` parameter. You can set only one of them. If you set the `ImageId` parameter, the `ImageName` parameter is ignored (optional).', 'type' => 'string', 'required' => false, 'example' => 'image****', 'title' => ''], ], [ - 'name' => 'ForceAttach', + 'name' => 'InstanceType', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to add the ECS instances in the specified scaling group to the new VServer group.'."\n" - ."\n" - .'* true: adds the ECS instances to the VServer group.'."\n" - .'* false: does not add the ECS instances to the VServer group.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'An instance type of the ECS instance. For more information, see [Instance families](~~25378~~).'."\n" + .'> The four methods InstanceType, InstanceTypes, InstanceTypeOverrides, and Cpu and Memory cannot be specified simultaneously. However, InstanceType can be specified together with InstancePatternInfo. In this case, Auto Scaling preferentially uses the instance types you specified for scale-out. When the specified instance types are out of stock, instance types that match the InstancePatternInfo configuration are used.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], ], [ - 'name' => 'VServerGroup', + 'name' => 'Cpu', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Details of the vServer groups.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'VServerGroupAttribute' => [ - 'description' => 'Details of the vServer group attributes.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The ID of VServer group M. N specifies the number of the SLB instance. Valid values of N: 1 to 5.'."\n" - ."\n" - .'M specifies the number of the VServer group that is associated with SLB instance N. Valid values of M: 1 to 5.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-bp1jp1rge****', - ], - 'Weight' => [ - 'description' => 'The weight set for the ECS instances that are added to VServer group M. Valid values: 0 to 100.'."\n" - ."\n" - .'N specifies the number of the SLB instance. Valid values of N: 1 to 5.'."\n" - ."\n" - .'M specifies the number of the VServer group that is associated with SLB instance N. Valid values of M: 1 to 5.'."\n" - ."\n" - .'Default value: 50.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port number that is used by Auto Scaling to add the ECS instances to VServer group M. Valid values: 1 to 65535.'."\n" - ."\n" - .'N specifies the number of the SLB instance. Valid values of N: 1 to 5.'."\n" - ."\n" - .'M specifies the number of the VServer group that is associated with SLB instance N. Valid values of M: 1 to 5.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '22', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 100, - ], - 'LoadBalancerId' => [ - 'description' => 'The ID of SLB instance N with which the VServer group is associated. N specifies the number of the SLB instance. Valid values of N: 1 to 5.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp1u7etiogg38yvwz****', - ], - ], - 'required' => false, - 'description' => '', - ], - 'required' => true, - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The number of vCPUs. Unit: cores.'."\n" + ."\n" + .'Specifying both CPU and Memory defines the range of instance types. For example, CPU=2 and Memory=16 defines all instance types with 2 vCPUs and 16 GiB of memory. Auto Scaling determines the set of available instance types based on factors such as I/O optimization and zones, and creates instances with the lowest price based on price sorting.'."\n" + ."\n" + .'> This range configuration takes effect only in cost optimization mode when no instance type is specified in the scaling configuration.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - ], + [ + 'name' => 'Memory', + 'in' => 'query', + 'schema' => ['description' => 'The memory size. Unit: GiB.'."\n" + ."\n" + .'Specifying both CPU and Memory defines the range of instance types. For example, CPU=2 and Memory=16 defines all instance types with 2 vCPUs and 16 GiB of memory. Auto Scaling determines the set of available instance types based on factors such as I/O optimization and zones, and creates instances with the lowest price based on price sorting.'."\n" + ."\n" + .'> This range configuration takes effect only in cost optimization mode when no instance type is specified in the scaling configuration.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '16', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'AttachVServerGroups', - 'description' => '## Description'."\n" - ."\n" - .'Before you add a VServer group to a scaling group, make sure that the following requirements are met:'."\n" - ."\n" - .'* The SLB instance and the scaling group must be in the same account.'."\n" - .'* The SLB instance and the scaling group must be in the same region.'."\n" - .'* The SLB instance must be in the Running state.'."\n" - .'* The SLB instance must be configured with at least one listener. Health check is enabled for the SLB instance.'."\n" - .'* The SLB instance and the scaling group must be in the same VPC if the network type of both of them is VPC.'."\n" - .'* If the network type of the scaling group is VPC, the network type of the SLB instance is classic network, and the VServer group contains VPC-type instances, the instance and the scaling group must be in the same VPC.'."\n" - .'* The VServer group to be added to the scaling group must be associated with the SLB instance.'."\n" - .'* The number of VServer groups cannot exceed the quota for VServer groups in the scaling group. For more information about the quota, see [Limits](~~25863~~).'."\n" - ."\n" - .'You must set the following parameters to specify the VServer groups to be added:'."\n" - ."\n" - .'* VServerGroup.N.LoadBalancerId: the ID of the SLB instance'."\n" - .'* VServerGroup.N.VServerGroupAttribute.N.VServerGroupId: the ID of the VServer group'."\n" - .'* VServerGroup.N.VServerGroupAttribute.N.Port: the port number of the VServer group'."\n" - ."\n" - .'If you use different ports to add a VServer group to a scaling group, Auto Scaling considers that multiple VServer groups are added to the scaling group. If multiple VServer groups with the same group ID and port number are specified in the request parameters, only the first VServer group is used. The other VServer groups are ignored.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DetachVServerGroups' => [ - 'summary' => '移除一个或者多个虚拟服务器组', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'DeploymentSetId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the deployment set to which the ECS instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'ds-bp1frxuzdg87zh4pz****', 'title' => ''], ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92692', - 'abilityTreeNodes' => [ - 'FEATUREess2GK585', + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the security group to which the ECS instance belongs. ECS instances in the same security group can access each other.', 'type' => 'string', 'required' => false, 'example' => 'sg-280ih****', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'IoOptimized', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group. Example: cn-hangzhou or cn-shanghai. For more information, see [Regions and zones](~~40654~~).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'Specifies whether the instance is I/O optimized. Valid values:'."\n" + ."\n" + .'- none: non-I/O optimized.'."\n" + .'- optimized: I/O optimized.'."\n" + ."\n" + .'The default I/O optimized instances of [retired instance types](~~55263~~) is none. The default I/O optimized instances of other instance types is optimized.', 'type' => 'string', 'required' => false, 'example' => 'optimized', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'InternetChargeType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1fo0dbtsbmqa9h****', - ], + 'schema' => ['description' => 'The billing method for network usage. Valid values:'."\n" + ."\n" + .'- PayByBandwidth: pay-by-bandwidth. The value of InternetMaxBandwidthOut is used as the fixed bandwidth value.'."\n" + .'- PayByTraffic: pay-by-traffic. The value of InternetMaxBandwidthOut is used as the maximum bandwidth. Billing is based on the actual network traffic.'."\n" + ."\n" + .'If this parameter is not specified, the default value is PayByBandwidth for the classic network and PayByTraffic for VPC.', 'type' => 'string', 'required' => false, 'example' => 'PayByTraffic', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'InternetMaxBandwidthIn', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests. The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The maximum inbound public bandwidth. Unit: Mbit/s. Valid values:'."\n" + ."\n" + .'- If the maximum outbound public bandwidth is less than or equal to 10 Mbit/s: 1 to 10. Default value: 10.'."\n" + .'- If the maximum outbound public bandwidth is greater than 10 Mbit/s: 1 to the value of `InternetMaxBandwidthOut`. Default value: the value of `InternetMaxBandwidthOut`.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'ForceDetach', + 'name' => 'InternetMaxBandwidthOut', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove the ECS instances in the specified scaling group from the VServer group to be removed.'."\n" - ."\n" - .'* true: removes the ECS instances.'."\n" - .'* false: does not remove the ECS instances.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'The maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 0 to 100.'."\n" + ."\n" + .'Default value: 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'VServerGroup', + 'name' => 'SystemDisk.Category', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Details of the vServer groups.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'VServerGroupAttribute' => [ - 'description' => 'Details of the vServer group attributes.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The ID of VServer group M.'."\n" - ."\n" - .'N specifies the number of the SLB instance. Valid values of N: 1 to 5.'."\n" - ."\n" - .'M specifies the number of the VServer group that is associated with SLB instance N. Valid values of M: 1 to 5.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-bp1jp1rge****', - ], - 'Port' => [ - 'description' => 'The port number that is used by Auto Scaling to add the ECS instances to VServer group M. Valid values: 1 to 65535.'."\n" - ."\n" - .'N specifies the number of the SLB instance. Valid values of N: 1 to 5.'."\n" - ."\n" - .'M specifies the number of the VServer group that is associated with the SLB instance. Valid values of M: 1 to 5.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '22', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 100, - ], - 'LoadBalancerId' => [ - 'description' => 'The ID of SLB instance N with which the VServer group is associated.'."\n" - ."\n" - .'N specifies the number of the SLB instance. Valid values of N: 1 to 5.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp1p90y3ya9h8s62d****', - ], - ], - 'required' => false, - ], - 'required' => true, - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The category of the system cloud disk. Valid values:'."\n" + ."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.'."\n" + ."\n" + .'This parameter cannot be specified together with `SystemDiskCategories.N`. If neither this parameter nor `SystemDiskCategories.N` is specified, a default value is used. If the InstanceType is a Series I instance type and the instance is a non-I/O optimized instance, the default value is cloud. Otherwise, the default value is cloud_efficiency.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssd', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - ], + [ + 'name' => 'SystemDisk.Size', + 'in' => 'query', + 'schema' => ['description' => 'The size of the system cloud disk. Unit: GiB. Valid values:'."\n" + ."\n" + .'- Basic cloud disk: 20 to 500.'."\n" + .'- ESSD:'."\n" + .' - PL0: 1 to 2048.'."\n" + .' - PL1: 20 to 2048.'."\n" + .' - PL2: 461 to 2048.'."\n" + .' - PL3: 1261 to 2048.'."\n" + .'- ESSD AutoPL cloud disk: 1 to 2048.'."\n" + .'- Other cloud disk types: 20 to 2048.'."\n" + ."\n" + .'The value of this parameter must be greater than or equal to max{1, ImageSize}.'."\n" + ."\n" + .'Default value: max{40, ImageSize}.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'DetachVServerGroups', - 'description' => '## Description'."\n" - ."\n" - .'You must set the following parameters to specify the VServer groups to be removed:'."\n" - ."\n" - .'* VServerGroup.N.LoadBalancerId: the ID of the SLB instance'."\n" - .'* VServerGroup.N.VServerGroupAttribute.N.VServerGroupId: the ID of the VServer group'."\n" - .'* VServerGroup.N.VServerGroupAttribute.N.Port: the port number of the VServer group'."\n" - ."\n" - .'If the VServer groups specified in the request parameters match VServer groups in the scaling group, the matched VServer groups are removed. If no VServer groups specified in the request parameters match VServer groups in the scaling group, the request is ignored and no error is reported.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DescribeScalingGroups' => [ - 'summary' => '查询伸缩组列表', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'SystemDisk.DiskName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the system cloud disk. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (_), and hyphens (-). It must start with a letter or a Chinese character and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssdSystem', 'title' => ''], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92683', - 'abilityTreeNodes' => [ - 'FEATUREess7569XW', + [ + 'name' => 'SystemDisk.Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the system cloud disk. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Test system disk.', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'SystemDisk.AutoSnapshotPolicyId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The ID of the automatic snapshot policy applied to the system cloud disk.', 'type' => 'string', 'required' => false, 'example' => 'sp-bp12m37ccmxvbmi5****', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'SystemDisk.PerformanceLevel', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The performance level (PL) of the system cloud disk when the cloud disk is an ESSD. Valid values:'."\n" + ."\n" + .'- PL0: a single cloud disk can deliver up to 10,000 random read/write IOPS.'."\n" + .'- PL1: a single cloud disk can deliver up to 50,000 random read/write IOPS.'."\n" + .'- PL2: a single cloud disk can deliver up to 100,000 random read/write IOPS.'."\n" + .'- PL3: a single cloud disk can deliver up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'Default value: PL1.'."\n" + .'> For more information about how to select an ESSD performance level, see [ESSDs](~~122389~~).', 'type' => 'string', 'required' => false, 'example' => 'PL1', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'ScalingConfigurationName', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Maximum value: 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'enumValueTitles' => [ - 10 => '10', - ], - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'The name of the scaling configuration. The name must be 2 to 64 characters in length and can contain letters, digits, underscores (_), hyphens (-), and periods (.). It must start with a digit, letter, or Chinese character.'."\n" + ."\n" + .'The scaling configuration name must be unique within a scaling group in the same region. If you do not specify this parameter, the scaling configuration ID is used by default.', 'type' => 'string', 'required' => false, 'example' => 'scalingconfig****', 'title' => ''], ], [ - 'name' => 'ScalingGroupName', + 'name' => 'LoadBalancerWeight', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The weight of the ECS instance as a backend server of the associated load balancing instance. Valid values: 1 to 100.'."\n" + ."\n" + .'Default value: 50.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.1', + 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.1 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The tags of the ECS instance. Tags are specified as key-value pairs. You can specify up to 20 tags. The following limits apply to tag keys and values:'."\n" + .' '."\n" + .'- A tag key can be up to 64 characters in length and cannot start with aliyun or acs:. It cannot contain `http://` or `https://`. A tag key cannot be an empty string.'."\n" + .'- A tag value can be up to 128 characters in length and cannot start with aliyun or acs:. It cannot contain `http://` or `https://`. A tag value can be an empty string.', 'type' => 'string', 'required' => false, 'example' => '{"key1":"value1","key2":"value2", ... "key5":"value5"}', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.2', + 'name' => 'UserData', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.2 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The user data of the ECS instance. The data must be encoded in Base64. The maximum size of the raw data before encoding is 32 KB.', 'type' => 'string', 'required' => false, 'example' => 'ZWNobyBoZWxsbyBlY3Mh', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.3', + 'name' => 'KeyPairName', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.3 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The name of the key pair used to log on to the ECS instance.'."\n" + .' '."\n" + .'- For Windows instances, this parameter is ignored and is empty by default.'."\n" + .'- For Linux instances, password-based logon is disabled during initialization.', 'type' => 'string', 'required' => false, 'example' => 'KeyPairTest', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.4', + 'name' => 'RamRoleName', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.4 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The name of the RAM role associated with the ECS instance. The name is provided and maintained by Resource Access Management (RAM). You can call [ListRoles](~~28713~~) to query available RAM roles. For more information about how to create a RAM role, see [CreateRole](~~28710~~).', 'type' => 'string', 'required' => false, 'example' => 'ramrole****', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.5', + 'name' => 'SecurityEnhancementStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.5 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'Specifies whether to enable security hardening. Valid values:'."\n" + ."\n" + .'- Active: enables security hardening. This value is applicable only to public images.'."\n" + .'- Deactive: disables security hardening. This value is applicable to all image types.', 'type' => 'string', 'required' => false, 'example' => 'Active', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.6', + 'name' => 'InstanceName', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.6 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The name of the ECS instance that is created through automatic creation based on this scaling configuration.', 'type' => 'string', 'required' => false, 'example' => 'instance****', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.7', + 'name' => 'HostName', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.7 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The hostname of the ECS instance. A period (.) or a hyphen (-) cannot be used as the first or last character, and consecutive periods (.) or hyphens (-) are not allowed. Naming conventions vary by instance type:'."\n" + ."\n" + .'- Windows instances: The hostname must be 2 to 15 characters in length and can contain letters, digits, and hyphens (-). It cannot contain periods (.) or consist entirely of digits.'."\n" + .'- Other instances (such as Linux): The hostname must be 2 to 64 characters in length and can contain multiple periods (.). Each segment between two periods (.) can contain letters, digits, and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'host****', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.8', + 'name' => 'SpotStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.8 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The preemption policy for pay-as-you-go instances. Valid values:'."\n" + .' '."\n" + .'- NoSpot: a regular pay-as-you-go instance.'."\n" + .'- SpotWithPriceLimit: a spot instance with a user-defined maximum hourly price.'."\n" + .'- SpotAsPriceGo: a spot instance priced at the market price at the time of purchase.'."\n" + ."\n" + .'Default value: NoSpot.', 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.9', + 'name' => 'PasswordInherit', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.9 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'Specifies whether to use the password preset in the image. To use this parameter, make sure that a password is configured for the image. Valid values:'."\n" + ."\n" + .'- true: uses the password preset in the image.'."\n" + .'- false: does not use the password preset in the image.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.10', + 'name' => 'Password', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.10 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The password of the ECS instance. The password must be 8 to 30 characters in length and must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. The following special characters are supported:'."\n" + ."\n" + .'```()` ~!@#$%^&*-_+=\\|{}[]:;\'<>,.?/```'."\n" + ."\n" + .'For Windows instances, the password cannot start with a forward slash (/).'."\n" + ."\n" + .'> If you specify the Password parameter, use HTTPS to send the request to prevent password leaks.', 'type' => 'string', 'required' => false, 'example' => '123abc****', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.11', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.11 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The ID of the resource group to which the ECS instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-resource****', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.12', + 'name' => 'HpcClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.12 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The ID of the HPC cluster to which the ECS instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'hpc-clusterid', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.13', + 'name' => 'InstanceDescription', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.13 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The description of the ECS instance. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Test instance.', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.14', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.14 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'Generate a value from your client that is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.15', + 'name' => 'Ipv6AddressCount', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.15 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The number of randomly generated IPv6 addresses allocated to the elastic network interface (ENI).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.16', + 'name' => 'CreditSpecification', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.16 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The performance pattern of the burstable instance. Valid values:'."\n" + ."\n" + .'- Standard: standard pattern.'."\n" + ."\n" + .'- Unlimited: unlimited pattern.'."\n" + ."\n" + .'For more information, see the performance schema section in [Overview of burstable instances](~~59977~~).', 'type' => 'string', 'required' => false, 'example' => 'Standard', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.17', + 'name' => 'ImageFamily', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.17 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The name of the image family. You can set this parameter to obtain the latest available image from the specified image family for instance creation. If you have set the `ImageId` parameter, you cannot set this parameter.', 'type' => 'string', 'required' => false, 'example' => 'hangzhou-daily-update', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.18', + 'name' => 'ZoneId', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.18 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The zone ID of the ECS instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-g', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.19', + 'name' => 'DedicatedHostId', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.19 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'Specifies whether to create the ECS instance on a dedicated host. Because dedicated hosts do not support the creation of spot instances, the SpotStrategy and SpotPriceLimit settings in the request are automatically ignored when DedicatedHostId is specified.'."\n" + ."\n" + .'You can call [DescribeDedicatedHosts](~~134242~~) to query the list of dedicated host IDs.', 'type' => 'string', 'required' => false, 'example' => 'dh-bp67acfmxazb4p****', 'title' => ''], ], [ - 'name' => 'ScalingGroupName.20', + 'name' => 'Affinity', 'in' => 'query', - 'schema' => [ - 'description' => 'ScalingGroupName.20 is the name of the scaling group that you want to query. The query result does not contain the names of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'Specifies whether the instance on a dedicated host is associated with the dedicated host. Valid values:'."\n" + ."\n" + .'- default: the instance is not associated with the dedicated host. When an instance that has the economical mode enabled is restarted, the instance may be placed on another dedicated host in the automatic deployment resource pool if the original dedicated host has insufficient available resources.'."\n" + ."\n" + .'- host: the instance is associated with the dedicated host. When an instance that has the economical mode enabled is restarted, the instance remains on the original dedicated host. If the original dedicated host has insufficient available resources, the instance fails to restart.'."\n" + ."\n" + .'Default value: default.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], ], [ - 'name' => 'GroupType', + 'name' => 'Tenancy', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the instances that are managed by the scaling group. Valid values:'."\n" - ."\n" - .'* ECS: Elastic Compute Service (ECS) instances'."\n" - .'* ECI: elastic container instances'."\n" - ."\n" - .'Default value: ECS.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ECS', - ], + 'schema' => ['description' => 'Specifies whether to create the instance on a dedicated host. Valid values:'."\n" + ."\n" + .'- default: creates a non-dedicated host instance.'."\n" + ."\n" + .'- host: creates a dedicated host instance. If you do not specify DedicatedHostId, Alibaba Cloud automatically selects a dedicated host for the instance.'."\n" + ."\n" + .'Default value: default.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'SchedulerOptions', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the scaling groups that you want to query.'."\n" + 'style' => 'json', + 'schema' => ['description' => 'The scheduler options.', 'type' => 'object', 'required' => false, 'example' => '["testManagedPrivateSpaceId****"]', 'title' => ''], + ], + [ + 'name' => 'PrivatePoolOptions.MatchCriteria', + 'in' => 'query', + 'schema' => ['description' => 'The private pool option for instance startup. A private pool is generated after an elasticity assurance or capacity reservation takes effect. You can select a private pool when you start an instance. Valid values:'."\n" + ."\n" + .'- Open: open mode. The system automatically matches an open private pool. If no matching private pool is available, the public pool is used to start the instance. You do not need to set the PrivatePoolOptions.Id parameter in this mode.'."\n" + ."\n" + .'- Target: specified mode. A specified private pool is used to start the instance. If the specified private pool is unavailable, the instance fails to start. In this mode, you must specify the private pool ID. The PrivatePoolOptions.Id parameter is required.'."\n" + ."\n" + .'- None: no private pool is used. The instance does not use any private pool capacity for startup.', 'type' => 'string', 'required' => false, 'example' => 'Open', 'title' => ''], + ], + [ + 'name' => 'PrivatePoolOptions.Id', + 'in' => 'query', + 'schema' => ['description' => 'The private pool ID, which is the ID of the elasticity assurance or capacity reservation.', 'type' => 'string', 'required' => false, 'example' => 'eap-bp67acfmxazb4****', 'title' => ''], + ], + [ + 'name' => 'SpotDuration', + 'in' => 'query', + 'schema' => ['description' => 'The protection period of the spot instance. Unit: hours. Valid values:'."\n" + .'- 1: After the instance is created, Alibaba Cloud ensures that the instance is not automatically released within 1 hour. After 1 hour, the system automatically compares the bid price with the marketplace price and checks the resource inventory to determine whether to retain or revoke the instance.'."\n" + .'- 0: After the instance is created, Alibaba Cloud does not ensure that the instance runs for 1 hour. The system automatically compares the bid price with the marketplace price and checks the resource inventory to determine whether to retain or revoke the instance.'."\n" + .'> Alibaba Cloud sends an ECS system event notification 5 minutes before the instance is revoked. Spot instances are billed by second. Select an appropriate protection period based on the execution duration of your specific tasks.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'SpotInterruptionBehavior', + 'in' => 'query', + 'schema' => ['description' => 'The interruption mode of the spot instance. Only Terminate (default) is supported, which directly releases the instance.', 'type' => 'string', 'required' => false, 'example' => 'Terminate', 'title' => ''], + ], + [ + 'name' => 'InstanceTypes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The instance types.', + 'type' => 'array', + 'items' => ['description' => 'The instance types. Valid values of N: 1 to 20. You can specify up to 20 instance types in a scaling configuration.'."\n" ."\n" - .'The query result does not contain the IDs of inactive scaling groups, and no errors are returned.', + .'N represents the priority of the instance type in the current scaling configuration. Instance type 1 has the highest priority. The priority decreases as the number increases. When an instance cannot be created by using the instance type with a higher priority, Auto Scaling automatically selects the instance type with the next priority to create the instance.'."\n" + ."\n" + .'> The four methods InstanceType, InstanceTypes, InstanceTypeOverrides, and Cpu and Memory cannot be specified simultaneously. However, InstanceTypes can be specified together with InstancePatternInfo. In this case, Auto Scaling preferentially uses the instance types you specified for scale-out. When the specified instance types are out of stock, instance types that match the InstancePatternInfo configuration are used.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], + 'required' => false, + 'example' => 'ecs.g6.large', + 'maxItems' => 20, + 'title' => '', + ], + ], + [ + 'name' => 'InstanceTypeOverride', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The instance type information.', 'type' => 'array', 'items' => [ - 'description' => 'The ID of scaling group N that you want to query. Valid values of N: 1 to 20. The query result does not contain the IDs of inactive scaling groups, and no errors are returned.'."\n", - 'type' => 'string', + 'description' => 'The instance type information.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'To specify the capacity of an instance type in the scaling configuration, specify both this parameter and InstanceTypeOverride.N.WeightedCapacity.'."\n" + ."\n" + .'This parameter specifies the instance type. You can specify N values for this parameter. Combined with the InstanceTypeOverride.N.WeightedCapacity parameter, this extends multi-instance-type support with custom weights. Valid values of N: 1 to 20.'."\n" + ."\n" + .'> You cannot specify this parameter together with InstanceTypes.N or InstanceType.'."\n" + ."\n" + .'Valid values of InstanceType: ECS instance types that are available for purchase. For more information, see [Instance families](~~25378~~).', 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.xlarge', 'title' => ''], + 'WeightedCapacity' => ['description' => 'To specify the capacity of an instance type in the scaling configuration, first specify InstanceTypeOverride.N.InstanceType, and then specify this parameter. The two parameters must correspond one-to-one, and N must be consistent.'."\n" + ."\n" + .'This parameter specifies the weight of the instance type, which represents the capacity of a single instance of this type in the scaling group. A larger weight means fewer instances of this type are needed to meet the expected capacity.'."\n" + ."\n" + .'Because performance metrics such as the number of vCPUs and memory size vary by instance type, you can configure different weights for different instance types based on your requirements.'."\n" + ."\n" + .' Example:'."\n" + ."\n" + .'- Current capacity: 0.'."\n" + .'- Expected number of instances: 6.'."\n" + .'- Capacity of ecs.c5.xlarge: 4.'."\n" + ."\n" + .'To meet the expected capacity, the scaling group scales out two ecs.c5.xlarge instances.'."\n" + ."\n" + .'> During scale-out, the capacity of the scaling group cannot exceed the sum of the maximum capacity (MaxSize) and the maximum weight of the instance types.'."\n" + ."\n" + .'Valid values of WeightedCapacity: 1 to 500.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], + ], 'required' => false, - 'example' => 'asg-bp14wlu85wrpchm0****', + 'title' => '', + 'example' => '', ], 'required' => false, - 'example' => 'asg-bp14wlu85wrpchm0****', 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'DataDisk', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The data cloud disk information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The data cloud disk information.', + 'type' => 'object', + 'properties' => [ + 'PerformanceLevel' => ['description' => 'The performance level (PL) of the data cloud disk when the cloud disk is an ESSD. The value of N must be consistent with the N in DataDisk.N.Category=cloud_essd. Valid values:'."\n" + ."\n" + .'- PL0: a single cloud disk can deliver up to 10,000 random read/write IOPS.'."\n" + .'- PL1: a single cloud disk can deliver up to 50,000 random read/write IOPS.'."\n" + .'- PL2: a single cloud disk can deliver up to 100,000 random read/write IOPS.'."\n" + .'- PL3: a single cloud disk can deliver up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'Default value: PL1.'."\n" + .'> For more information about how to select an ESSD performance level, see [ESSDs](~~122389~~).', 'type' => 'string', 'required' => false, 'example' => 'PL1', 'title' => ''], + 'AutoSnapshotPolicyId' => ['description' => 'The ID of the automatic snapshot policy applied to the data cloud disk. Valid values of N: 1 to 16.', 'type' => 'string', 'required' => false, 'example' => 'sp-bp19nq9enxqkomib****', 'title' => ''], + 'Encrypted' => ['description' => 'Specifies whether data cloud disk N is encrypted. Valid values of N: 1 to 16. Valid values:'."\n" + ."\n" + .'- true: encrypted.'."\n" + .'- false: not encrypted.'."\n" + ."\n" + .'Default value: false.', 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''], + 'Description' => ['description' => 'The description of the data cloud disk. Valid values of N: 1 to 16. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Test data disk.', 'title' => ''], + 'SnapshotId' => ['description' => 'The ID of the snapshot used to create the data cloud disk. Valid values of N: 1 to 16. After this parameter is specified, DataDisk.N.Size is ignored, and the size of the created cloud disk is the size of the specified snapshot.'."\n" + ."\n" + .'If the snapshot was created on or before July 15, 2013, the call is rejected and the error message InvalidSnapshot.TooOld is returned.', 'type' => 'string', 'required' => false, 'example' => 's-280s7****', 'title' => ''], + 'Categories' => [ + 'description' => 'The disk types of data cloud disk N. The first N indicates the Nth data cloud disk. Valid values: 1 to 16. The second N indicates the Nth disk type for the data cloud disk. Valid values: 1 to 4. You can specify up to 4 disk types for a data cloud disk in a scaling configuration. A smaller N value indicates a higher priority. When a disk type with a higher priority cannot be used, Auto Scaling automatically attempts the next-priority disk type to create the data cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance property of a basic cloud disk created with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.'."\n" + .'- cloud_regional_disk_auto: regional ESSD.'."\n" + ."\n" + .'> You cannot specify this parameter together with `DataDisk.N.Category`.', + 'type' => 'array', + 'items' => ['description' => 'The disk types of data cloud disk N. The first N indicates the Nth data cloud disk. Valid values: 1 to 16. The second N indicates the Nth disk type for the data cloud disk. Valid values: 1 to 4. You can specify up to 4 disk types for a data cloud disk in a scaling configuration. A smaller N value indicates a higher priority. When a disk type with a higher priority cannot be used, Auto Scaling automatically attempts the next-priority disk type to create the data cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance property of a basic cloud disk created with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.'."\n" + .'- cloud_regional_disk_auto: regional ESSD.'."\n" + ."\n" + .'> You cannot specify this parameter together with `DataDisk.N.Category`.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''], + 'required' => false, + 'example' => 'cloud', + 'maxItems' => 10, + 'title' => '', + ], + 'Size' => ['description' => 'The size of data cloud disk N. Valid values of N: 1 to 16. Unit: GiB. Valid values:'."\n" + ."\n" + .'- cloud: 5 to 2000.'."\n" + .'- cloud_efficiency: 20 to 32768.'."\n" + .'- cloud_ssd: 20 to 32768.'."\n" + .'- cloud_essd: 20 to 32768.'."\n" + .'- ephemeral_ssd: 5 to 800.'."\n" + ."\n" + .'After this parameter is specified, the cloud disk size must be greater than or equal to the snapshot size (the snapshot is specified by SnapshotId).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'Device' => ['description' => 'The mount point of the data cloud disk. Valid values of N: 1 to 16. If you do not specify this parameter, the system allocates a mount point by default during automatic creation of ECS instances. The mount points start from /dev/xvdb and end at /dev/xvdz.', 'type' => 'string', 'required' => false, 'example' => '/dev/xvdb', 'title' => ''], + 'DiskName' => ['description' => 'The name of data cloud disk N. Valid values of N: 1 to 16. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (_), and hyphens (-). It must start with a letter or a Chinese character and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssdData', 'title' => ''], + 'Category' => ['description' => 'The category of data cloud disk N. Valid values of N: 1 to 16. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance property of a basic cloud disk created with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.'."\n" + .'- cloud_regional_disk_auto: regional ESSD.'."\n" + ."\n" + .'This parameter cannot be specified together with `DataDisk.N.Categories.N`. If neither this parameter nor `DataDisk.N.Categories.N` is specified, the default value is used:'."\n" + ."\n" + .'- For I/O optimized instances, the default value is cloud_efficiency.'."\n" + ."\n" + .'- For non-I/O optimized instances, the default value is cloud.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssd', 'title' => ''], + 'DeleteWithInstance' => ['description' => 'Specifies whether data cloud disk N is released with the instance. Valid values of N: 1 to 16. Valid values:'."\n" + ."\n" + .'- true: the cloud disk is released with the instance.'."\n" + .'- false: the cloud disk is retained when the instance is released.'."\n" + ."\n" + .'This parameter can be set only for independent cloud disks (DataDisk.N.Category is cloud, cloud_efficiency, cloud_ssd, cloud_essd, or cloud_auto). Otherwise, an error is returned.'."\n" + ."\n" + .'Default value: true.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'KMSKeyId' => ['description' => 'The ID of the KMS key for data cloud disk N. Valid values of N: 1 to 16.', 'type' => 'string', 'required' => false, 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'title' => ''], + 'ProvisionedIops' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metrics of the data cloud disk.'."\n" + ."\n" + .'> IOPS (Input/Output Operations Per Second) measures the number of I/O operations that can be processed per second, representing the read/write capability of block storage. The unit is operations per second.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100', 'title' => ''], + 'BurstingEnabled' => ['description' => 'Specifies whether to enable the burst (performance burst) feature for the data cloud disk. Valid values:'."\n" + ."\n" + .'- true: enabled.'."\n" + .'- false: disabled.'."\n" + .'> This parameter is supported only when `DataDisk.Category` is set to `cloud_auto`.'."\n" + ."\n" + .'For more information, see [ESSD AutoPL cloud disks](~~368372~~).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 16, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'SpotPriceLimit', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The spot instance information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The spot instance information.', + 'type' => 'object', + 'properties' => [ + 'PriceLimit' => ['description' => 'The bid price for the spot instance. Valid values of N: 1 to 20. This parameter takes effect only when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type of the spot instance. Valid values of N: 1 to 20. This parameter takes effect only when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'SecurityGroupIds', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the resource group to which the scaling group that you want to query belongs.'."\n" + 'description' => 'The IDs of the security groups to which the ECS instance is added. The valid values of N depend on the maximum number of security groups to which an instance can belong. For more information, see the security group section in [Limits](~~25412~~).'."\n" ."\n" - .'> If the specified resource group does not contain scaling groups, null is returned.'."\n", - 'type' => 'string', + .'> You cannot specify both SecurityGroupId and SecurityGroupIds.N.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of the security groups to which the ECS instance is added. The valid values of N depend on the maximum number of security groups to which an instance can belong. For more information, see the security group section in [Limits](~~25412~~).'."\n" + ."\n" + .'> You cannot specify both SecurityGroupId and SecurityGroupIds.N.', 'type' => 'string', 'required' => false, 'example' => 'sg-bp18kz60mefs****', 'title' => ''], 'required' => false, - 'example' => 'rg-123****', + 'example' => 'sg-bp18kz60mefs****', + 'maxItems' => 16, + 'title' => '', ], ], [ - 'name' => 'Tag', + 'name' => 'InstancePatternInfo', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ + 'description' => 'The instance type information in intelligent mode.', 'type' => 'array', 'items' => [ + 'description' => 'The instance type information in intelligent mode.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'type' => 'string', + 'Cores' => ['description' => 'The number of vCPU cores of the instance type in intelligent configuration mode, used to filter instance types that meet the requirements. For more information, see [Instance families](~~25378~~). Valid values of N: 1 to 10.'."\n" + ."\n" + .'Note the following:'."\n" + ."\n" + .'- The InstancePatternInfo.N parameter applies only to scaling groups whose network type is VPC.'."\n" + ."\n" + .'- You must specify both InstancePatternInfo.N.Cores and InstancePatternInfo.N.Memory for the InstancePatternInfo.N parameter.'."\n" + ."\n" + .'- If you have specified instance types by using the InstanceType or InstanceTypes.N parameter, Auto Scaling preferentially uses the specified instance types for scale-out. When the specified instance types are out of stock, Auto Scaling uses the instance type with the lowest price among those that match the InstancePatternInfo.N parameter values.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'InstanceFamilyLevel' => ['description' => 'The instance family level in intelligent configuration mode, used to filter instance types that meet the requirements. Valid values:'."\n" + ."\n" + .'- EntryLevel: entry level, which refers to shared instance types. These types are more cost-effective but cannot guarantee stable instance computing performance. They are suitable for scenarios with low average CPU utilization. For more information, see [Shared instance types](~~108489~~).'."\n" + .'- EnterpriseLevel: enterprise level. These types provide stable performance and dedicated resources. They are suitable for scenarios that require high stability. For more information, see [Instance families](~~25378~~).'."\n" + .'- CreditEntryLevel: credit-based entry level, which refers to burstable instances. These types use CPU credits to ensure computing performance. They are suitable for scenarios with low average CPU utilization and occasional CPU usage spikes. For more information, see [Overview of burstable instances](~~59977~~).'."\n" + ."\n" + .'Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'EnterpriseLevel', 'title' => ''], + 'MaxPrice' => ['description' => 'The maximum acceptable hourly price for pay-as-you-go or spot instances in intelligent configuration mode, used to filter instance types that meet the requirements. Valid values of N: 1 to 10.'."\n" + ."\n" + .'> This parameter is required when SpotStrategy is set to SpotWithPriceLimit. In other cases, this parameter is optional.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2', 'title' => ''], + 'Memory' => ['description' => 'The memory size of the instance type in intelligent configuration mode. Unit: GiB. This parameter is used to filter instance types that meet the requirements. For more information, see [Instance families](~~25378~~). Valid values of N: 1 to 10.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'ExcludedInstanceType' => [ + 'description' => 'The instance types to exclude. You can use wildcard characters (*) to exclude a single instance type or an entire instance family. Examples:'."\n" + .'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n" + .'- ecs.c6.*: excludes the entire c6 instance family.', + 'type' => 'array', + 'items' => ['description' => 'The instance types to exclude. You can use wildcard characters (*) to exclude a single instance type or an entire instance family. Examples:'."\n" + .'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n" + .'- ecs.c6.*: excludes the entire c6 instance family.', 'type' => 'string', 'required' => false, 'example' => 'ecs.n1.small/ecs.n1.*/*7*', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + 'Architecture' => [ + 'description' => 'The architecture types of the instance type. Valid values:'."\n" + .'- X86: X86 computing.'."\n" + .'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n" + .'- BareMetal: ECS Bare Metal Instance.'."\n" + .'- Arm: Arm computing.'."\n" + ."\n" + .'Default value: all architecture types are included.', + 'type' => 'array', + 'items' => ['description' => 'The architecture type of the instance type. Valid values:'."\n" + .'- X86: X86 computing.'."\n" + .'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n" + .'- BareMetal: ECS Bare Metal Instance.'."\n" + .'- Arm: Arm computing.'."\n" + ."\n" + .'Default value: all architecture types are included.', 'type' => 'string', 'required' => false, 'example' => 'X86', 'title' => ''], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', + ], + 'BurstablePerformance' => ['description' => 'Specifies whether to include burstable instance types. Valid values:'."\n" + .'- Exclude: excludes burstable instance types.'."\n" + .'- Include: includes burstable instance types.'."\n" + .'- Required: includes only burstable instance types.'."\n" + ."\n" + .'Default value: Include.'."\n" + .'[_single.params.InstancePatternInfo.items.InstanceTyp', 'type' => 'string', 'required' => false, 'example' => 'Include', 'title' => ''], + 'InstanceTypeFamilies' => [ + 'description' => 'The instance families to query. N indicates that you can set multiple instance families. Valid values of N: 1 to 10.', + 'type' => 'array', + 'items' => ['description' => 'The instance family. N indicates that you can set multiple instance families. Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', + ], + 'MinimumCpuCoreCount' => ['description' => 'The minimum number of vCPU cores of the instance type.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MaximumCpuCoreCount' => ['description' => 'The maximum number of vCPU cores of the instance type.'."\n" + ."\n" + .'> The value of `MaximumCpuCoreCount` cannot exceed 4 times the value of `MinimumCpuCoreCount`.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], + 'GpuSpecs' => [ + 'description' => 'The GPU types.', + 'type' => 'array', + 'items' => ['description' => 'The GPU type.', 'type' => 'string', 'required' => false, 'example' => 'NVIDIA V100', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', + ], + 'InstanceCategories' => [ + 'description' => 'The instance categories. Valid values:'."\n" + .'> N indicates that you can set multiple instance categories. Valid values of N: 1 to 10.'."\n" + ."\n" + .'- General-purpose: general-purpose.'."\n" + .'- Compute-optimized: compute-optimized.'."\n" + .'- Memory-optimized: memory-optimized.'."\n" + .'- Big data: big data.'."\n" + .'- Local SSDs: local SSD.'."\n" + .'- High Clock Speed: high clock speed.'."\n" + .'- Enhanced: enhanced.'."\n" + .'- Shared: shared.'."\n" + .'- Compute-optimized with GPU: GPU-accelerated compute-optimized.'."\n" + .'- Visual Compute-optimized: visual compute-optimized.'."\n" + .'- Heterogeneous Service: heterogeneous service.'."\n" + .'- Compute-optimized with FPGA: FPGA-accelerated compute-optimized.'."\n" + .'- Compute-optimized with NPU: NPU-accelerated compute-optimized.'."\n" + .'- ECS Bare Metal: ECS Bare Metal Instance.'."\n" + .'- High Performance Compute: high-performance computing.', + 'type' => 'array', + 'items' => ['description' => 'The instance category. Valid values:'."\n" + .'> N indicates that you can set multiple instance categories. Valid values of N: 1 to 10.'."\n" + ."\n" + .'- General-purpose: general-purpose.'."\n" + .'- Compute-optimized: compute-optimized.'."\n" + .'- Memory-optimized: memory-optimized.'."\n" + .'- Big data: big data.'."\n" + .'- Local SSDs: local SSD.'."\n" + .'- High Clock Speed: high clock speed.'."\n" + .'- Enhanced: enhanced.'."\n" + .'- Shared: shared.'."\n" + .'- Compute-optimized with GPU: GPU-accelerated compute-optimized.'."\n" + .'- Visual Compute-optimized: visual compute-optimized.'."\n" + .'- Heterogeneous Service: heterogeneous service.'."\n" + .'- Compute-optimized with FPGA: FPGA-accelerated compute-optimized.'."\n" + .'- Compute-optimized with NPU: NPU-accelerated compute-optimized.'."\n" + .'- ECS Bare Metal: ECS Bare Metal Instance.'."\n" + .'- High Performance Compute: high-performance computing.', 'type' => 'string', 'required' => false, 'example' => 'Compute-optimized with GPU', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', ], - 'Value' => [ - 'type' => 'string', + 'CpuArchitectures' => [ + 'description' => 'The CPU architectures of the instance. Valid values:'."\n" + .'>N indicates that you can set multiple CPU architectures. Valid values of N: 1 to 2.'."\n" + ."\n" + .'- X86.'."\n" + .'- ARM.', + 'type' => 'array', + 'items' => ['description' => 'The CPU architecture of the instance. Valid values:'."\n" + .'>N indicates that you can set multiple CPU architectures. Valid values of N: 1 to 2.'."\n" + ."\n" + .'- X86.'."\n" + .'- ARM.', 'type' => 'string', 'required' => false, 'example' => 'X86', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', ], + 'PhysicalProcessorModels' => [ + 'description' => 'The processor models of the instance. N indicates that you can set multiple processor models. Valid values of N: 1 to 10.', + 'type' => 'array', + 'items' => ['description' => 'The processor model of the instance. N indicates that you can set multiple processor models. Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'Intel Xeon(Ice Lake) Platinum 8369B", "Intel Xeon(Skylake) Platinum 8163", … "Intel Xeon(Cascade Lake) Platinum 8269CY', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', + ], + 'MinimumEniQuantity' => ['description' => 'The minimum number of ENIs that the instance supports.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MinimumEniPrivateIpAddressQuantity' => ['description' => 'The minimum number of IPv4 addresses per ENI of the instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MinimumEniIpv6AddressQuantity' => ['description' => 'The minimum number of IPv6 addresses per ENI of the instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'MinimumInitialCredit' => ['description' => 'The minimum initial vCPU credits for burstable instances (t5 and t6).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12', 'title' => ''], + 'MinimumBaselineCredit' => ['description' => 'The minimum baseline vCPU computing performance (sum of all vCPUs) for burstable instances (t5 and t6).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12', 'title' => ''], + 'MinimumMemorySize' => ['description' => 'The minimum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'MaximumMemorySize' => ['description' => 'The maximum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'MinimumGpuAmount' => ['description' => 'The minimum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MaximumGpuAmount' => ['description' => 'The maximum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'maxItems' => 20, + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'SystemDiskCategories', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalCount' => [ - 'description' => 'The total number of scaling groups.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', + 'description' => 'The disk types of the system cloud disk. Valid values of N: 1 to 4. You can specify up to 4 disk types for the system cloud disk in a scaling configuration. A smaller N value indicates a higher priority. When a disk type with a higher priority cannot be used, Auto Scaling automatically attempts the next-priority disk type to create the system cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + ."\n" + .'> You cannot specify this parameter together with `SystemDisk.Category`.', + 'type' => 'array', + 'items' => ['description' => 'The disk types of the system cloud disk. Valid values of N: 1 to 4. You can specify up to 4 disk types for the system cloud disk in a scaling configuration. A smaller N value indicates a higher priority. When a disk type with a higher priority cannot be used, Auto Scaling automatically attempts the next-priority disk type to create the system cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + ."\n" + .'> You cannot specify this parameter together with `SystemDisk.Category`.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''], + 'required' => false, + 'example' => 'cloud', + 'maxItems' => 10, + 'title' => '', + ], + ], + [ + 'name' => 'SystemDisk.Encrypted', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to encrypt the system cloud disk. Valid values:'."\n" + ."\n" + .'- true: encrypted.'."\n" + .'- false: not encrypted.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'SystemDisk.KMSKeyId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the KMS key used by the system cloud disk.', 'type' => 'string', 'required' => false, 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'title' => ''], + ], + [ + 'name' => 'SystemDisk.EncryptAlgorithm', + 'in' => 'query', + 'schema' => ['description' => 'The encryption algorithm used by the system cloud disk. Valid values:'."\n" + ."\n" + .'- AES-256.'."\n" + .'- SM4-128.'."\n" + ."\n" + .'Default value: AES-256.', 'type' => 'string', 'required' => false, 'example' => 'AES-256', 'title' => ''], + ], + [ + 'name' => 'SystemDisk.ProvisionedIops', + 'in' => 'query', + 'schema' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metric of the system cloud disk.'."\n" + ."\n" + .'> IOPS (Input/Output Operations Per Second) measures the number of read and write (output/input) operations that block storage can process per second.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100', 'title' => ''], + ], + [ + 'name' => 'SystemDisk.BurstingEnabled', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the burst (performance burst) feature for the system cloud disk. Valid values:'."\n" + ."\n" + .'- true: enabled.'."\n" + .'- false: disabled.'."\n" + .'> This parameter is supported only when `SystemDisk.Category` is set to `cloud_auto`.'."\n" + ."\n" + .'For more information, see [ESSD AutoPL cloud disks](~~368372~~).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'ImageOptions.LoginAsNonRoot', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the ECS instance uses the `ecs-user` user for logon. For more information, see [Manage the logon name of an ECS instance](~~388447~~). Valid values:'."\n" + ."\n" + .'- true: yes.'."\n" + .'- false: no.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'DeletionProtection', + 'in' => 'query', + 'schema' => ['description' => 'The release protection property of the ECS instance. This property applies only to pay-as-you-go instances and specifies whether the instance can be directly released from the ECS console or by calling the DeleteInstance operation. Valid values:'."\n" + .'- true: enables release protection. The instance cannot be directly released from the ECS console or by calling the API. This prevents instances scaled out by Auto Scaling from being accidentally deleted.'."\n" + .'- false: disables release protection. The instance can be directly released from the ECS console or by calling the API.'."\n" + ."\n" + .'Default value: false.'."\n" + ."\n" + .'> This property does not affect normal scale-in activities of Auto Scaling. Pay-as-you-go instances with release protection enabled can still be released during scale-in activities.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'StorageSetId', + 'in' => 'query', + 'schema' => ['description' => 'The storage set ID.', 'type' => 'string', 'required' => false, 'example' => 'ss-bp67acfmxazb4p****', 'title' => ''], + ], + [ + 'name' => 'StorageSetPartitionNumber', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of partitions in the storage set. The value must be an integer that is greater than or equal to 2.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'CustomPriorities', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The custom priorities of **ECS instance type + vSwitch** combinations.'."\n" + ."\n" + .'> This parameter takes effect only when the `scaling policy` of the scaling group is set to `priority policy`.'."\n" + ."\n" + .'When an ECS instance cannot be created by using the **ECS instance type + vSwitch** combination with a higher priority, Auto Scaling automatically selects the **ECS instance type + vSwitch** combination with the next priority to create the ECS instance.'."\n" + ."\n" + .'> If you specify custom priorities for only some **ECS instance type + vSwitch** combinations, the unspecified combinations have lower priorities than the specified ones. The unspecified combinations are still prioritized based on the vSwitch order of the scaling group and the instance type order of the scaling configuration. For example, if the vSwitch order of the scaling group is vsw1 and vsw2, and the instance type order of the scaling configuration is type1 and type2, and the custom priority order is `["vsw2+type2", "vsw1+type2"]`, the final priority is `vsw2+type2` > `vsw1+type2` > `vsw1+type1` > `vsw2+type1`.', + 'type' => 'array', + 'items' => [ + 'description' => 'The custom priority of an **ECS instance type + vSwitch** combination.'."\n" + ."\n" + .'>This parameter takes effect only when the `scaling policy` of the scaling group is set to `priority policy`.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The `CustomPriorities` field specifies the custom priority of an **ECS instance type + vSwitch** combination. The `CustomPriorities.N.InstanceType` parameter specifies the instance type of the ECS instance in the custom priority.'."\n" + ."\n" + .'> This parameter takes effect only when the `scaling policy` of the scaling group is set to `priority policy`. The instance type (InstanceType) must be included in the instance type list of the scaling configuration.'."\n" + ."\n" + .'When an ECS instance cannot be created by using the **ECS instance type + vSwitch** combination with a higher priority, Auto Scaling automatically selects the **ECS instance type + vSwitch** combination with the next priority to create the ECS instance.'."\n" + ."\n" + .'> If you specify custom priorities for only some **ECS instance type + vSwitch** combinations, the unspecified combinations have lower priorities than the specified ones. The unspecified combinations are still prioritized based on the vSwitch order of the scaling group and the instance type order of the scaling configuration. For example, if the vSwitch order of the scaling group is vsw1 and vsw2, and the instance type order of the scaling configuration is type1 and type2, and the custom priority order is `["vsw2+type2", "vsw1+type2"]`, the final priority is `vsw2+type2` > `vsw1+type2` > `vsw1+type1` > `vsw2+type1`.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], + 'VswitchId' => ['description' => 'The `CustomPriorities.N.VswitchId` parameter specifies the ID of the vSwitch in the custom priority.'."\n" + ."\n" + .'> This parameter takes effect only when the `scaling policy` of the scaling group is set to `priority policy`. The vSwitch must be included in the vSwitch list of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp14zolna43z266bq****', 'title' => ''], ], - 'ScalingGroups' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ScalingGroup' => [ - 'description' => 'Details of the scaling groups.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'The ID of the virtual private cloud (VPC) in which the scaling group resides.'."\n", - 'type' => 'string', - 'example' => 'vpc-bp1vwnn14rqpyiczj****', - ], - 'CreationTime' => [ - 'description' => 'The time when the scaling group was created. The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mm:ssZ format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2014-08-14T10:58Z', - ], - 'TotalInstanceCount' => [ - 'description' => 'The total number of ECS instances in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScalingGroupName' => [ - 'description' => 'The name of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'dyrSuvBOtO1dEdIlIbp****', - ], - 'SpotInstancePools' => [ - 'description' => 'The number of instance types that are specified. Auto Scaling creates preemptible instances of multiple instance types that are provided at the lowest price. Valid values: 0 to 10.'."\n" - ."\n" - .'If you set the `MultiAZPolicy` parameter to `COMPOSABLE`, the default value of this parameter is 2.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'StoppedCapacity' => [ - 'description' => 'The number of instances that were stopped in Economical Mode in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'OnDemandPercentageAboveBaseCapacity' => [ - 'description' => 'The percentage of pay-as-you-go instances in the excess instances when the minimum number of pay-as-you-go instances is reached. The **OnDemandBaseCapacity** parameter specifies the minimum number of pay-as-you-go instances that must be contained in the scaling group. Valid values: 0 to 100.'."\n" - ."\n" - .'If you set the `MultiAZPolicy` parameter to `COMPOSABLE`, the default value of this parameter is 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'ModificationTime' => [ - 'description' => 'The time when the scaling group was modified. The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mm:ssZ format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2014-08-14T10:58Z', - ], - 'MinSize' => [ - 'description' => 'The minimum number of ECS instances that must be contained in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asg-bp14wlu85wrpchm0****', - ], - 'CompensateWithOnDemand' => [ - 'description' => 'Indicates whether pay-as-you-go instances can be automatically created to meet the requirement on the number of ECS instances when the expected capacity of preemptible instances cannot be provided due to reasons such as cost-related issues and insufficient resources. This parameter is available only if you set the `MultiAZPolicy` parameter to `COST_OPTIMIZED`. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ScalingPolicy' => [ - 'description' => 'The reclaim mode of the scaling group. Valid values:'."\n" - ."\n" - .'* recycle: economical mode'."\n" - .'* release: release mode'."\n" - ."\n" - .'For information about how to remove instances, see the [RemoveInstances](~~25955~~) topic.'."\n", - 'type' => 'string', - 'example' => 'recycle', - ], - 'RemovingWaitCapacity' => [ - 'description' => 'The number of ECS instances that are in the **Pending Remove** state in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ActiveCapacity' => [ - 'description' => 'The number of ECS instances that are in the **In Service** state in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'OnDemandBaseCapacity' => [ - 'description' => 'The minimum number of pay-as-you-go instances that must be contained in the scaling group. Valid values: 0 to 1000. If the number of pay-as-you-go instances in the scaling group is less than the value of this parameter, Auto Scaling preferentially creates pay-as-you-go instances.'."\n" - ."\n" - .'If you set the `MultiAZPolicy` parameter to `COMPOSABLE`, the default value of this parameter is 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'ProtectedCapacity' => [ - 'description' => 'The number of ECS instances that are in the **Protected** state in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'HealthCheckType' => [ - 'description' => 'The health check mode of the scaling group. Valid values:'."\n" - ."\n" - .'* NONE: Auto Scaling does not perform health checks.'."\n" - .'* ECS: Auto Scaling performs health checks on ECS instances in the scaling group.'."\n", - 'type' => 'string', - 'example' => 'ECS', - ], - 'LifecycleState' => [ - 'description' => 'The status of the scaling group. Valid values:'."\n" - ."\n" - .'* Active: The scaling group is active. Scaling groups that are in the **Active** state can receive requests to execute scaling rules and trigger scaling activities.'."\n" - .'* Inactive: The scaling group is inactive. Scaling groups that are in the **Inactive** state cannot receive requests to execute scaling rules.'."\n" - .'* Deleting: The scaling group is being deleted. Scaling groups that are being deleted cannot receive requests to execute scaling rules. In addition, the parameter settings of the scaling groups cannot be modified.'."\n", - 'type' => 'string', - 'example' => 'Active', - ], - 'GroupDeletionProtection' => [ - 'description' => 'Indicates whether deletion protection is enabled for the scaling group. Valid values:'."\n" - ."\n" - .'* true: Deletion protection is enabled for the scaling group. The scaling group cannot be deleted.'."\n" - .'* false: Deletion protection is disabled for the scaling group.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ActiveScalingConfigurationId' => [ - 'description' => 'The ID of the active scaling configuration in the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asc-bp1et2qekq3ojr33****', - ], - 'GroupType' => [ - 'description' => 'The type of the instances that are managed by the scaling group.'."\n", - 'type' => 'string', - 'example' => 'ECS', - ], - 'MultiAZPolicy' => [ - 'description' => 'The scaling policy for the multi-zone scaling group that contains ECS instances. Valid values:'."\n" - ."\n" - .'* PRIORITY: ECS instances are created based on the value of the VSwitchIds.N parameter. If Auto Scaling fails to create ECS instances in the zone where the vSwitch that has the highest priority resides, Auto Scaling creates ECS instances in the zone where the vSwitch that has the next highest priority resides.'."\n" - ."\n" - .'* COST_OPTIMIZED: ECS instances are created based on the unit price of vCPUs. Auto Scaling preferentially creates ECS instances whose vCPUs have the lowest price. If you specified preemptible instance types in the scaling configuration, Auto Scaling preferentially creates preemptible instances. You can use the **CompensateWithOnDemand** parameter to specify whether to automatically create pay-as-you-go instances when preemptible instances cannot be created due to insufficient resources.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** The COST_OPTIMIZED setting takes effect only when multiple instance types are specified or preemptible instances are used.'."\n" - ."\n" - .'* BALANCE: ECS instances are evenly distributed across the zones that are specified for the scaling group. If ECS instances are unevenly distributed across zones due to insufficient resources, you can call the [RebalanceInstance](~~71516~~) operation to evenly redistribute the instances across the zones.'."\n" - ."\n" - .'* COMPOSABLE: You can combine the preceding policies based on your business requirements.'."\n", - 'type' => 'string', - 'example' => 'PRIORITY', - ], - 'RemovingCapacity' => [ - 'description' => 'The number of ECS instances that are being removed from the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'PendingWaitCapacity' => [ - 'description' => 'The number of ECS instances in the **Pending Add** state in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'StandbyCapacity' => [ - 'description' => 'The number of instances that are in the **Standby** state in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PendingCapacity' => [ - 'description' => 'The number of ECS instances that are being added to the scaling group and still being configured.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'LaunchTemplateId' => [ - 'description' => 'The ID of the launch template that is used by the scaling group.'."\n", - 'type' => 'string', - 'example' => 'lt-m5e3ofjr1zn1aw7****', - ], - 'TotalCapacity' => [ - 'description' => 'The total weighted capacity of all ECS instances in the scaling group if the **WeightedCapacity** parameter is specified. In other cases, the value of this parameter indicates the total number of ECS instances in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'DesiredCapacity' => [ - 'description' => 'The expected number of ECS instances in the scaling group. Auto Scaling automatically maintains the expected number of ECS instances in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'SpotInstanceRemedy' => [ - 'description' => 'Indicates whether preemptible instances can be supplemented. If this parameter is set to true, Auto Scaling creates an instance to replace a preemptible instance when Auto Scaling receives a system message which indicates that the preemptible instance is to be reclaimed.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'LaunchTemplateVersion' => [ - 'description' => 'The version of the launch template that is used by the scaling group.'."\n", - 'type' => 'string', - 'example' => 'Default', - ], - 'RegionId' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'cn-qingdao', - ], - 'VSwitchId' => [ - 'description' => 'The ID of the vSwitch that is associated with the scaling group.'."\n", - 'type' => 'string', - 'example' => 'vsw-bp1whw2u46cn8zubm****', - ], - 'MaxSize' => [ - 'description' => 'The maximum number of ECS instances that can be contained in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'DefaultCooldown' => [ - 'description' => 'The cooldown period of the scaling group. During the cooldown period, Auto Scaling executes only the scaling activities that are triggered by [CloudMonitor](~~35170~~) event-triggered tasks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'VServerGroups' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'VServerGroup' => [ - 'description' => 'The backend vServer groups.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'LoadBalancerId' => [ - 'description' => 'The ID of the Server Load Balancer (SLB) instance to which the backend vServer group belongs.'."\n", - 'type' => 'string', - 'example' => '147b46d767c-cn-qingdao-cm5****', - ], - 'VServerGroupAttributes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'VServerGroupAttribute' => [ - 'description' => 'The attributes of the backend vServer groups.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The ID of the backend vServer group.'."\n", - 'type' => 'string', - 'example' => 'rsp-bp12bjrny****', - ], - 'Weight' => [ - 'description' => 'The weight of the backend vServer group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Port' => [ - 'description' => 'The port number that is used by the SLB instance to provide external services.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '22', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'LaunchTemplateOverrides' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'LaunchTemplateOverride' => [ - 'description' => 'The information about the instance types that are specified by using the Extended Configurations feature of the launch template.', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'WeightedCapacity' => [ - 'description' => 'The weight of the instance type. The value of this parameter indicates the capacity of a single instance of the specified instance type in the scaling group. A greater weight indicates that a smaller number of instances of the specified instance type are required to meet the expected capacity requirement.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'InstanceType' => [ - 'description' => 'The instance type. The instance type that is specified by this parameter overrides the instance type that is specified in the launch template.', - 'type' => 'string', - 'example' => 'ecs.c5.xlarge', - ], - 'SpotPriceLimit' => [ - 'description' => 'The maximum bid price of the instance type that is specified by the ``InstanceType`` parameter. You can specify 1 to 10 instance types by using the Extended Configurations feature of the launch template.'."\n" - ."\n" - .'>This parameter is available only if you specify the LaunchTemplateId parameter.', - 'type' => 'number', - 'format' => 'float', - 'example' => '0.025', - ], - ], - ], - ], - ], - ], - 'AlbServerGroups' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'AlbServerGroup' => [ - 'description' => 'Details of Application Load Balancer (ALB) server groups.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'AlbServerGroupId' => [ - 'description' => 'The ID of the ALB server group.'."\n", - 'type' => 'string', - 'example' => 'sgp-ddwb0y0g6y9bjm****', - ], - 'Weight' => [ - 'description' => 'The weight of an ECS instance after Auto Scaling adds the ECS instance to the ALB server group as a backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port number that is used by an ECS instance after Auto Scaling adds the ECS instance to the ALB server group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - ], - ], - ], - ], - ], - 'ServerGroups' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ServerGroup' => [ - 'description' => 'The ID of the server group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ServerGroupId' => [ - 'description' => 'The ID of the backend vServer group.', - 'type' => 'string', - 'example' => 'sgp-i9ouakeaerr*****', - ], - 'Type' => [ - 'description' => 'The type of the vulnerability. Set the value to **cve**, which indicates image vulnerabilities.'."\n", - 'type' => 'string', - 'example' => 'ALB', - ], - 'Weight' => [ - 'description' => 'The weight of the backend vServer group.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port number that is used by the SLB instance to provide external services.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - ], - ], - ], - ], - ], - 'RemovalPolicies' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'RemovalPolicy' => [ - 'description' => 'The instance removal policies. Valid values:'."\n" - ."\n" - .'* OldestInstance: removes ECS instances that are added at the earliest point in time to the scaling group.'."\n" - .'* NewestInstance: removes ECS instances that are most recently added to the scaling group.'."\n" - .'* OldestScalingConfiguration: removes ECS instances that are created based on the earliest scaling configuration.'."\n" - .'* CustomPolicy: removes ECS instances based on the custom scale-in policy (Function).'."\n" - ."\n" - .'The scaling configuration source specified by the OldestScalingConfiguration setting can be a scaling configuration or a launch template. The CustomPolicy setting takes effect only if you specify it as the first step to remove instances. If you specify CustomPolicy, you must also specify the CustomPolicyARN parameter.'."\n" - ."\n" - .'> The removal of ECS instances from a scaling group is also affected by the value of the MultiAZPolicy parameter. For more information, see the [Configure a combination policy for removing instances](~~254822~~) topic.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instance removal policies. Valid values:'."\n" - ."\n" - .'* OldestInstance: removes ECS instances that are added at the earliest point in time to the scaling group.'."\n" - .'* NewestInstance: removes ECS instances that are most recently added to the scaling group.'."\n" - .'* OldestScalingConfiguration: removes ECS instances that are created based on the earliest scaling configuration.'."\n" - .'* CustomPolicy: removes ECS instances based on the custom scale-in policy (Function).'."\n" - ."\n" - .'The scaling configuration source specified by the OldestScalingConfiguration setting can be a scaling configuration or a launch template. The CustomPolicy setting takes effect only if you specify it as the first step to remove instances. If you specify CustomPolicy, you must also specify the CustomPolicyARN parameter.'."\n" - ."\n" - .'> The removal of ECS instances from a scaling group is also affected by the value of the MultiAZPolicy parameter. For more information, see the [Configure a combination policy for removing instances](~~254822~~) topic.'."\n", - 'type' => 'string', - 'example' => 'OldestScalingConfiguration', - ], - ], - ], - ], - 'DBInstanceIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DBInstanceId' => [ - 'description' => 'The IDs of the ApsaraDB RDS instances that you want to associate with the scaling group. The value can be a JSON array that contains multiple ApsaraDB RDS instance IDs. Separate multiple IDs with commas (,).'."\n" - ."\n" - .'You can associate only a limited number of ApsaraDB RDS instances with a scaling group. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check the maximum number of ApsaraDB RDS instances that you can associate with a scaling group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of the ApsaraDB RDS instances that you want to associate with the scaling group. The value can be a JSON array that contains multiple ApsaraDB RDS instance IDs. Separate multiple IDs with commas (,).'."\n" - ."\n" - .'You can associate only a limited number of ApsaraDB RDS instances with a scaling group. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check the maximum number of ApsaraDB RDS instances that you can associate with a scaling group.'."\n", - 'type' => 'string', - 'example' => 'rm-bp15556qzebg1****', - ], - ], - ], - ], - 'LoadBalancerIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'LoadBalancerId' => [ - 'description' => 'The IDs of the SLB instances that are associated with the scaling group.', - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of the SLB instances that are associated with the scaling group.', - 'type' => 'string', - 'example' => 'lb-bp19byhscefk3x0li****', - ], - ], - ], - ], - 'VSwitchIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'VSwitchId' => [ - 'description' => 'The IDs of the vSwitches that are associated with the scaling group. If you specify the VSwitchIds parameter, the VSwitchId parameter is ignored.', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the vSwitch that is associated with the scaling group. If you specify the VSwitchIds parameter, the VSwitchId parameter is ignored.', - 'type' => 'string', - 'example' => 'vsw-bp1whw2u46cn8zubm****', - ], - ], - ], - ], - 'SuspendedProcesses' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SuspendedProcess' => [ - 'description' => 'The processes that are suspended. If no process is suspended, null is returned. Valid values:'."\n" - ."\n" - .'- ScaleIn: scale-in'."\n" - .'- ScaleOut: scale-out'."\n" - .'- HealthCheck: health check'."\n" - .'- AlarmNotification: event-triggered task'."\n" - .'- ScheduledAction: scheduled task', - 'type' => 'array', - 'items' => [ - 'description' => 'The processes that are suspended. If no process is suspended, null is returned. Valid values:'."\n" - ."\n" - .'- ScaleIn: scale-in'."\n" - .'- ScaleOut: scale-out'."\n" - .'- HealthCheck: health check'."\n" - .'- AlarmNotification: event-triggered task'."\n" - .'- ScheduledAction: scheduled task', - 'type' => 'string', - 'example' => 'ScaleIn', - ], - ], - ], - ], - 'SystemSuspended' => [ - 'description' => 'Indicates whether Auto Scaling stops executing scaling activities in the scaling group. Valid values:'."\n" - ."\n" - .'- true: If the scaling activities fail for more than seven consecutive days, Auto Scaling stops executing scaling activities in the scaling group. You must modify the scaling group or scaling configuration to resume the execution of the scaling activities.'."\n" - .'- false: Auto Scaling does not stop executing scaling activities in the scaling group.', - 'type' => 'boolean', - 'example' => 'true', - ], - 'MonitorGroupId' => [ - 'description' => 'The ID of the CloudMonitor application group that is associated with the scaling group.', - 'type' => 'string', - 'example' => '1497****', - ], - 'AzBalance' => [ - 'description' => 'Specifies whether to evenly distribute instances in the scaling group across zones. This parameter is available only if you set the `MultiAZPolicy` parameter to `COMPOSABLE`. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.', - 'type' => 'boolean', - 'example' => 'false', - ], - 'AllocationStrategy' => [ - 'description' => 'The allocation policy of instances. Auto Scaling selects instance types based on the allocation policy to create the required number of instances. The policy can be applied to pay-as-you-go instances and preemptible instances. This parameter takes effect only when you set the `MultiAZPolicy` parameter to `COMPOSABLE`. Valid values:'."\n" - ."\n" - .'* priority: Auto Scaling selects instance types based on the specified order of the instance types to create the required number of instances.'."\n" - .'* lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPUs to create the required number of instances.'."\n" - ."\n" - .'Default value: priority.'."\n", - 'type' => 'string', - 'example' => 'priority', - ], - 'SpotAllocationStrategy' => [ - 'description' => 'The allocation policy of preemptible instances. You can use this parameter to individually specify the allocation policy of preemptible instances. This parameter takes effect only if you set the `MultiAZPolicy` parameter to `COMPOSABLE`. Valid values:'."\n" - ."\n" - .'* priority: Auto Scaling selects instance types based on the specified order of the instance types to create the required number of preemptible instances.'."\n" - .'* lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPUs to create the required number of preemptible instances.'."\n" - ."\n" - .'Default value: priority.'."\n", - 'type' => 'string', - 'example' => 'lowestPrice', - ], - 'MaxInstanceLifetime' => [ - 'description' => 'The maximum life span of an instance in the scaling group. Unit: seconds.'."\n" - ."\n" - .'Valid values: 86400 to the value of the Integer.maxValue parameter.'."\n" - ."\n" - .'Default value: null.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'null', - ], - 'CustomPolicyARN' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the custom scale-in policy (Function). This parameter is available only if you specify CustomPolicy as the first step to remove instances.'."\n", - 'type' => 'string', - 'example' => 'acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name', - ], - 'InitCapacity' => [ - 'description' => 'The number of instances that are in the Initialized state before the instances are added to the scaling group.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group to which the ECS instance belongs.'."\n", - 'type' => 'string', - 'example' => 'rg-123****', - ], - 'LoadBalancerConfigs' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'LoadBalancerConfig' => [ - 'description' => 'List of CLB (formerly SLB) configurations.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'LoadBalancerId' => [ - 'type' => 'string', - 'example' => 'lb-2zetlvztvf8952wt8m106', - 'description' => 'The IDs of the SLB instances that are associated with the scaling group.', - ], - 'Weight' => [ - 'type' => 'integer', - 'format' => 'int32', - 'description' => 'The weight of an ECS instance after Auto Scaling adds the ECS instance to the ALB server group as a backend server.', - 'example' => '100', - ], - ], - ], - ], - ], - ], - 'EnableDesiredCapacity' => [ - 'type' => 'boolean', - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'TagKey' => [ - 'type' => 'string', - ], - 'TagValue' => [ - 'type' => 'string', - ], - 'Propagate' => [ - 'type' => 'boolean', - ], - ], - ], - ], - ], - ], - 'HealthCheckTypes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'HealthCheckType' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - 'DBInstances' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DBInstance' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DBInstanceId' => [ - 'type' => 'string', - ], - 'Type' => [ - 'type' => 'string', - ], - 'SecurityGroupIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SecurityGroupId' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'SpotCapacity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'StopInstanceTimeout' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'CapacityOptions' => [ - 'type' => 'object', - 'properties' => [ - 'OnDemandBaseCapacity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'OnDemandPercentageAboveBaseCapacity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'CompensateWithOnDemand' => [ - 'type' => 'boolean', - ], - 'SpotAutoReplaceOnDemand' => [ - 'type' => 'boolean', - ], - 'PriceComparisonMode' => [ - 'type' => 'string', - ], - ], - ], - 'BalanceMode' => [ - 'title' => '负载均衡模式', - 'type' => 'string', - ], - 'AutoRebalance' => [ - 'title' => '自动平衡伸缩组', - 'type' => 'boolean', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1,\\n \\"ScalingGroups\\": {\\n \\"ScalingGroup\\": [\\n {\\n \\"VpcId\\": \\"vpc-bp1vwnn14rqpyiczj****\\",\\n \\"CreationTime\\": \\"2014-08-14T10:58Z\\",\\n \\"TotalInstanceCount\\": 1,\\n \\"ScalingGroupName\\": \\"dyrSuvBOtO1dEdIlIbp****\\",\\n \\"SpotInstancePools\\": 5,\\n \\"StoppedCapacity\\": 1,\\n \\"OnDemandPercentageAboveBaseCapacity\\": 20,\\n \\"ModificationTime\\": \\"2014-08-14T10:58Z\\",\\n \\"MinSize\\": 1,\\n \\"ScalingGroupId\\": \\"asg-bp14wlu85wrpchm0****\\",\\n \\"CompensateWithOnDemand\\": true,\\n \\"ScalingPolicy\\": \\"recycle\\",\\n \\"RemovingWaitCapacity\\": 1,\\n \\"ActiveCapacity\\": 1,\\n \\"OnDemandBaseCapacity\\": 30,\\n \\"ProtectedCapacity\\": 1,\\n \\"HealthCheckType\\": \\"ECS\\",\\n \\"LifecycleState\\": \\"Active\\",\\n \\"GroupDeletionProtection\\": true,\\n \\"ActiveScalingConfigurationId\\": \\"asc-bp1et2qekq3ojr33****\\",\\n \\"GroupType\\": \\"ECS\\",\\n \\"MultiAZPolicy\\": \\"PRIORITY\\",\\n \\"RemovingCapacity\\": 0,\\n \\"PendingWaitCapacity\\": 1,\\n \\"StandbyCapacity\\": 1,\\n \\"PendingCapacity\\": 0,\\n \\"LaunchTemplateId\\": \\"lt-m5e3ofjr1zn1aw7****\\",\\n \\"TotalCapacity\\": 1,\\n \\"DesiredCapacity\\": 5,\\n \\"SpotInstanceRemedy\\": true,\\n \\"LaunchTemplateVersion\\": \\"Default\\",\\n \\"RegionId\\": \\"cn-qingdao\\",\\n \\"VSwitchId\\": \\"vsw-bp1whw2u46cn8zubm****\\",\\n \\"MaxSize\\": 2,\\n \\"DefaultCooldown\\": 60,\\n \\"VServerGroups\\": {\\n \\"VServerGroup\\": [\\n {\\n \\"LoadBalancerId\\": \\"147b46d767c-cn-qingdao-cm5****\\",\\n \\"VServerGroupAttributes\\": {\\n \\"VServerGroupAttribute\\": [\\n {\\n \\"VServerGroupId\\": \\"rsp-bp12bjrny****\\",\\n \\"Weight\\": 1,\\n \\"Port\\": 22\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"LaunchTemplateOverrides\\": {\\n \\"LaunchTemplateOverride\\": [\\n {\\n \\"WeightedCapacity\\": 4,\\n \\"InstanceType\\": \\"ecs.c5.xlarge\\",\\n \\"SpotPriceLimit\\": 0.025\\n }\\n ]\\n },\\n \\"AlbServerGroups\\": {\\n \\"AlbServerGroup\\": [\\n {\\n \\"AlbServerGroupId\\": \\"sgp-ddwb0y0g6y9bjm****\\",\\n \\"Weight\\": 100,\\n \\"Port\\": 80\\n }\\n ]\\n },\\n \\"ServerGroups\\": {\\n \\"ServerGroup\\": [\\n {\\n \\"ServerGroupId\\": \\"sgp-i9ouakeaerr*****\\",\\n \\"Type\\": \\"ALB\\",\\n \\"Weight\\": 100,\\n \\"Port\\": 80\\n }\\n ]\\n },\\n \\"RemovalPolicies\\": {\\n \\"RemovalPolicy\\": [\\n \\"OldestScalingConfiguration\\"\\n ]\\n },\\n \\"DBInstanceIds\\": {\\n \\"DBInstanceId\\": [\\n \\"rm-bp15556qzebg1****\\"\\n ]\\n },\\n \\"LoadBalancerIds\\": {\\n \\"LoadBalancerId\\": [\\n \\"lb-bp19byhscefk3x0li****\\"\\n ]\\n },\\n \\"VSwitchIds\\": {\\n \\"VSwitchId\\": [\\n \\"vsw-bp1whw2u46cn8zubm****\\"\\n ]\\n },\\n \\"SuspendedProcesses\\": {\\n \\"SuspendedProcess\\": [\\n \\"ScaleIn\\"\\n ]\\n },\\n \\"SystemSuspended\\": true,\\n \\"MonitorGroupId\\": \\"1497****\\",\\n \\"AzBalance\\": false,\\n \\"AllocationStrategy\\": \\"priority\\",\\n \\"SpotAllocationStrategy\\": \\"lowestPrice\\",\\n \\"MaxInstanceLifetime\\": 0,\\n \\"CustomPolicyARN\\": \\"acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name\\",\\n \\"InitCapacity\\": 0,\\n \\"ResourceGroupId\\": \\"rg-123****\\",\\n \\"LoadBalancerConfigs\\": {\\n \\"LoadBalancerConfig\\": [\\n {\\n \\"LoadBalancerId\\": \\"147b46d767c-cn-qingdao-cm5****\\",\\n \\"Weight\\": 10\\n }\\n ]\\n },\\n \\"EnableDesiredCapacity\\": false,\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"Department\\",\\n \\"TagValue\\": \\"Finance\\",\\n \\"Propagate\\": false\\n }\\n ]\\n },\\n \\"HealthCheckTypes\\": {\\n \\"HealthCheckType\\": [\\n \\"ECS\\"\\n ]\\n },\\n \\"DBInstances\\": {\\n \\"DBInstance\\": [\\n {\\n \\"DBInstanceId\\": \\"rm-m5eqju85s45mu0***\\",\\n \\"Type\\": \\"RDS\\",\\n \\"SecurityGroupIds\\": {\\n \\"SecurityGroupId\\": [\\n \\"sg-uf65zt66cf2a0q47***\\"\\n ]\\n }\\n }\\n ]\\n },\\n \\"SpotCapacity\\": 0,\\n \\"StopInstanceTimeout\\": 60,\\n \\"CapacityOptions\\": {\\n \\"OnDemandBaseCapacity\\": 0,\\n \\"OnDemandPercentageAboveBaseCapacity\\": 0,\\n \\"CompensateWithOnDemand\\": true,\\n \\"SpotAutoReplaceOnDemand\\": false,\\n \\"PriceComparisonMode\\": \\"PricePerUnit\\"\\n },\\n \\"BalanceMode\\": \\"BalancedBestEffort\\",\\n \\"AutoRebalance\\": false\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n 1\\n 10\\n 1\\n \\n vpc-bp1vwnn14rqpyiczj****\\n 2014-08-14T10:58Z\\n 1\\n dyrSuvBOtO1dEdIlIbp****\\n 5\\n 1\\n 20\\n 2014-08-14T10:58Z\\n 1\\n asg-bp14wlu85wrpchm0****\\n true\\n recycle\\n 1\\n 1\\n 30\\n 1\\n ECS\\n Active\\n true\\n asc-bp1et2qekq3ojr33****\\n ECS\\n PRIORITY\\n 0\\n 1\\n 1\\n 0\\n lt-m5e3ofjr1zn1aw7****\\n 1\\n 5\\n true\\n Default\\n cn-qingdao\\n vsw-bp1whw2u46cn8zubm****\\n 2\\n 60\\n \\n 147b46d767c-cn-qingdao-cm5****\\n \\n rsp-bp12bjrny****\\n 1\\n 22\\n \\n \\n \\n 4\\n ecs.c5.xlarge\\n 0.025\\n \\n \\n sgp-ddwb0y0g6y9bjm****\\n 100\\n 80\\n \\n \\n sgp-i9ouakeaerr*****\\n ALB\\n 100\\n 80\\n \\n OldestScalingConfiguration\\n rm-bp15556qzebg1****\\n lb-bp19byhscefk3x0li****\\n vsw-bp1whw2u46cn8zubm****\\n ScaleIn\\n true\\n 1497****\\n false\\n priority\\n lowestPrice\\n acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name\\n 0\\n rg-123****\\n \\n 147b46d767c-cn-qingdao-cm5****\\n 10\\n \\n false\\n \\n Department\\n Finance\\n false\\n \\n ECS\\n \\n rm-m5eqju85s45mu0***\\n RDS\\n sg-uf65zt66cf2a0q47***\\n \\n 0\\n 60\\n \\n 0\\n 0\\n true\\n false\\n \\n \\n","errorExample":""}]', - 'title' => 'DescribeScalingGroups', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DescribeScalingGroups\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeScalingInstances' => [ - 'summary' => '查询伸缩组内ECS实例列表', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '92684', - 'abilityTreeNodes' => [ - 'FEATUREessPMOEEX', - ], - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], - ], - [ - 'name' => 'ScalingConfigurationId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the associated scaling configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asc-bp1i65jd06v04vdh****', - ], - ], - [ - 'name' => 'HealthStatus', - 'in' => 'query', - 'schema' => [ - 'description' => 'The health status of the ECS instance in the scaling group. If ECS instances do not run as expected, Auto Scaling considers the ECS instances unhealthy. Valid values:'."\n" - ."\n" - .'* Healthy'."\n" - .'* Unhealthy'."\n" - ."\n" - .'Auto Scaling automatically removes unhealthy ECS instances from the scaling group and then releases automatically created instances among the unhealthy instances.'."\n" - ."\n" - .'Unhealthy ECS instances that are manually added to the scaling group are released based on the management mode of the instance lifecycles. If the lifecycles of the ECS instances are not managed by the scaling group, Auto Scaling removes the instances from the scaling group but does not release the instances. If the lifecycles of the ECS instances are managed by the scaling group, Auto Scaling removes the instances from the scaling group and releases the instances.'."\n" - ."\n" - .'> Make sure that you have sufficient balance within your Alibaba Cloud account. If you have overdue payments within your Alibaba Cloud account, pay-as-you-go and preemptible instances are stopped or released. For information about how the states of ECS instances with overdue payments change, see [Overdue payments](~~170589~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Healthy', - ], - ], - [ - 'name' => 'LifecycleState', - 'in' => 'query', - 'schema' => [ - 'description' => 'The lifecycle state of the ECS instance in the scaling group. Valid values:'."\n" - ."\n" - .'* InService: The ECS instance is added to the scaling group and provides services as expected.'."\n" - .'* Pending: The ECS instance is being added to the scaling group. During this process, Auto Scaling adds the ECS instance to the backend server groups of the associated Classic Load Balancer (CLB) instance and adds the private IP address of the ECS instance to the IP address whitelist of the associated ApsaraDB RDS instance.'."\n" - .'* Pending:Wait: The ECS instance is waiting to be added to the scaling group. If a lifecycle hook that applies to scale-out activities is created for the scaling group, the ECS instance enters the Pending:Wait state. The ECS instance is added to the scaling group only after the lifecycle hook times out.'."\n" - .'* Protected: The ECS instance is being protected. The ECS instance can provide services as expected. However, Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle of the ECS instance.'."\n" - .'* Standby: The ECS instance is on standby. The ECS instance is out of service and the weight of the ECS instance as a backend server is set to zero. Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle of the ECS instance.'."\n" - .'* Stopped: The ECS instance is stopped. The ECS instance is stopped and cannot provide services.'."\n" - .'* Removing: The ECS instance is being removed from the scaling group. During this process, Auto Scaling removes the ECS instance from the backend server groups of the associated CLB instance and removes the IP address of the ECS instance from the IP address whitelist of the associated ApsaraDB RDS instance.'."\n" - .'* Removing:Wait: The ECS instance is waiting to be removed from the scaling group. If a lifecycle hook that applies to scale-in activities is created for the scaling group, the ECS instance enters the Removing:Wait state. The ECS instance is removed from the scaling group only after the lifecycle hook times out.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'InService', - ], - ], - [ - 'name' => 'CreationType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies how the ECS instance is created. Valid values:'."\n" - ."\n" - .'* AutoCreated: The ECS instance is automatically created by Auto Scaling based on the instance configuration source of the scaling group.'."\n" - .'* Attached: The ECS instance is manually added to the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AutoCreated', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Maximum value: 100.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '200', - 'example' => '10', - 'default' => '10', - ], - ], - [ - 'name' => 'ScalingActivityId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asa-bp1c9djwrgxjyk31****', - ], - ], - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of the ECS instances. You can specify 1 to 20 instance IDs.'."\n" - ."\n" - .'Invalid instance IDs are not displayed in the query result, and no error is reported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp109k5j3dum1ce6****', - ], - 'required' => false, - 'example' => 'i-bp109k5j3dum1ce6****', - 'maxItems' => 100, - ], - ], - [ - 'name' => 'CreationTypes', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'required' => false, - 'maxItems' => 10, - ], - ], - [ - 'name' => 'LifecycleStates', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'required' => false, - 'maxItems' => 10, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B13527BF-1FBD-4334-A512-20F5E9D3****', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'PageNumber' => [ - 'description' => 'The number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalSpotCount' => [ - 'description' => 'The total number of preemptible instances that run as expected in the scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'TotalCount' => [ - 'description' => 'The total number of ECS instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScalingInstances' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ScalingInstance' => [ - 'description' => 'Details of the ECS instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'CreationTime' => [ - 'description' => 'The time when the ECS instance was added to the scaling group. The value is accurate to minutes.'."\n", - 'type' => 'string', - 'example' => '2020-05-18T03:11Z', - ], - 'LoadBalancerWeight' => [ - 'description' => 'The weight of the ECS instance as a backend server of the associated CLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'LaunchTemplateId' => [ - 'description' => 'The ID of the launch template.'."\n", - 'type' => 'string', - 'example' => 'lt-m5e3ofjr1zn1aw7****', - ], - 'InstanceId' => [ - 'description' => 'The ID of the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'i-bp109k5j3dum1ce6****', - ], - 'SpotStrategy' => [ - 'description' => 'The bidding policy for the preemptible instance. Valid values:'."\n" - ."\n" - .'* SpotWithPriceLimit: The instance is created as a preemptible instance with a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instance is created as a preemptible instance for which the market price at the time of purchase is automatically used as the bid price.'."\n", - 'type' => 'string', - 'example' => 'SpotWithPriceLimit', - ], - 'LaunchTemplateVersion' => [ - 'description' => 'The version number of the launch template.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'HealthStatus' => [ - 'description' => 'The health status of the ECS instance in the scaling group. If the ECS instance does not run as expected, Auto Scaling considers the ECS instance unhealthy. Valid values:'."\n" - ."\n" - .'* Healthy'."\n" - .'* Unhealthy'."\n" - ."\n" - .'Auto Scaling automatically removes unhealthy ECS instances from the scaling group and then releases automatically created instances among the unhealthy instances.'."\n" - ."\n" - .'Unhealthy ECS instances that are manually added to the scaling group are released based on the management mode of the instance lifecycles. If the lifecycles of the ECS instances are not managed by the scaling group, Auto Scaling removes the instances from the scaling group but does not release the instances. If the lifecycles of the ECS instances are managed by the scaling group, Auto Scaling removes the instances from the scaling group and releases the instances.'."\n" - ."\n" - .'> Make sure that you have sufficient balance within your Alibaba Cloud account. If you have overdue payments within your Alibaba Cloud account, pay-as-you-go and preemptible instances are stopped or released. For information about how the states of ECS instances with overdue payments change, see [Overdue payments](~~170589~~).'."\n", - 'type' => 'string', - 'example' => 'Healthy', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group to which the instance belongs.'."\n", - 'type' => 'string', - 'example' => 'asg-bp1igpak5ft1flyp****', - ], - 'WarmupState' => [ - 'description' => 'The warmup sate of the ECS instance. Valid values:'."\n" - ."\n" - .'* NoNeedWarmup: The instance does not need to be warmed up.'."\n" - .'* WaitingForInstanceWarmup: The instance is being warmed up.'."\n" - .'* InstanceWarmupFinish: The instance is warmed up.'."\n", - 'type' => 'string', - 'example' => 'NoNeedWarmup', - ], - 'LifecycleState' => [ - 'description' => 'The lifecycle state of the ECS instance in the scaling group. Valid values:'."\n" - ."\n" - .'* InService: The ECS instance is added to the scaling group and provides services as expected.'."\n" - .'* Pending: The ECS instance is being added to the scaling group. During this process, Auto Scaling adds the ECS instance to the backend server groups of the associated CLB instance and adds the private IP address of the ECS instance to the IP address whitelist of the associated ApsaraDB RDS instance.'."\n" - .'* Pending:Wait: The ECS instance is waiting to be added to the scaling group. If a lifecycle hook that applies to scale-out activities is created for the scaling group, the ECS instance enters the Pending:Wait state. The ECS instance is added to the scaling group only after the lifecycle hook times out.'."\n" - .'* Protected: The ECS instance is being protected. The ECS instance can provide services as expected. However, Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle of the ECS instance.'."\n" - .'* Standby: The ECS instance is on standby. The ECS instance is out of service and the weight of the ECS instance as a backend server is set to zero. Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle of the ECS instance.'."\n" - .'* Stopped: The ECS instance is stopped. The ECS instance is stopped and cannot provide services.'."\n" - .'* Removing: The ECS instance is being removed from the scaling group. During this process, Auto Scaling removes the ECS instance from the backend server groups of the associated CLB instance and removes the IP address of the ECS instance from the IP address whitelist of the associated ApsaraDB RDS instance.'."\n" - .'* Removing:Wait: The ECS instance is waiting to be removed from the scaling group. If a lifecycle hook that applies to scale-in activities is created for the scaling group, the ECS instance enters the Removing:Wait state. The ECS instance is removed from the scaling group only after the lifecycle hook times out.'."\n", - 'type' => 'string', - 'example' => 'InService', - ], - 'CreationType' => [ - 'description' => 'Indicates how the ECS instance is created. Valid values:'."\n" - ."\n" - .'* AutoCreated: The ECS instance is automatically created by Auto Scaling based on the instance configuration source of the scaling group.'."\n" - .'* Attached: The ECS instance is manually added to the scaling group.'."\n", - 'type' => 'string', - 'example' => 'AutoCreated', - ], - 'ZoneId' => [ - 'description' => 'The zone ID of the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-g', - ], - 'ScalingConfigurationId' => [ - 'description' => 'The ID of the associated scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'asc-bp1i65jd06v04vdh****', - ], - 'Entrusted' => [ - 'description' => 'Indicates whether the lifecycles of the ECS instances that are manually added to the scaling group are managed by the scaling group. If the scaling group manages the lifecycles of the ECS instances that are manually added, Auto Scaling releases the ECS instances after Auto Scaling removes the ECS instances from the scaling group. The release rule does not apply to ECS instances that are manually removed from the scaling group. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'WeightedCapacity' => [ - 'description' => 'The weight of the instance type. The weight indicates the capacity of a single instance of the specified instance type in the scaling group. A higher weight indicates that a smaller number of instances of the specified instance type are required to meet the expected capacity requirement.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'CreatedTime' => [ - 'description' => 'The time when the ECS instance was added to the scaling group. The value is accurate to seconds.'."\n", - 'type' => 'string', - 'example' => '2020-05-18T03:11:39Z', - ], - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity during which the ECS instance was added to the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asa-bp1c9djwrgxjyk31****', - ], - 'InstanceType' => [ - 'description' => 'The type of the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'ecs.n1.small', - ], - 'ScalingInstanceId' => [ - 'type' => 'string', - ], - 'PrivateIpAddress' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B13527BF-1FBD-4334-A512-20F5E9D3****\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalSpotCount\\": 4,\\n \\"TotalCount\\": 1,\\n \\"ScalingInstances\\": {\\n \\"ScalingInstance\\": [\\n {\\n \\"CreationTime\\": \\"2020-05-18T03:11Z\\",\\n \\"LoadBalancerWeight\\": 50,\\n \\"LaunchTemplateId\\": \\"lt-m5e3ofjr1zn1aw7****\\",\\n \\"InstanceId\\": \\"i-bp109k5j3dum1ce6****\\",\\n \\"SpotStrategy\\": \\"SpotWithPriceLimit\\",\\n \\"LaunchTemplateVersion\\": \\"1\\",\\n \\"HealthStatus\\": \\"Healthy\\",\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\",\\n \\"WarmupState\\": \\"NoNeedWarmup\\",\\n \\"LifecycleState\\": \\"InService\\",\\n \\"CreationType\\": \\"AutoCreated\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"ScalingConfigurationId\\": \\"asc-bp1i65jd06v04vdh****\\",\\n \\"Entrusted\\": true,\\n \\"WeightedCapacity\\": 4,\\n \\"CreatedTime\\": \\"2020-05-18T03:11:39Z\\",\\n \\"ScalingActivityId\\": \\"asa-bp1c9djwrgxjyk31****\\",\\n \\"InstanceType\\": \\"ecs.n1.small\\",\\n \\"ScalingInstanceId\\": \\"asi-j6cj1gcte640ekhb****\\",\\n \\"PrivateIpAddress\\": \\"1**.2*.1**.2**\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n B13527BF-1FBD-4334-A512-20F5E9D3****\\n 10\\n 1\\n 4\\n 1\\n \\n 2020-05-18T03:11Z\\n 50\\n lt-m5e3ofjr1zn1aw7****\\n i-bp109k5j3dum1ce6****\\n SpotWithPriceLimit\\n 1\\n Healthy\\n asg-bp1igpak5ft1flyp****\\n NoNeedWarmup\\n InService\\n AutoCreated\\n cn-hangzhou-g\\n asc-bp1i65jd06v04vdh****\\n true\\n 4\\n 2020-05-18T03:11:39Z\\n asa-bp1c9djwrgxjyk31****\\n ecs.n1.small\\n asi-j6cj1gcte640ekhb****\\n 1**.2*.1**.2**\\n \\n","errorExample":""}]', - 'title' => 'DescribeScalingInstances', - 'description' => '## Description'."\n" - ."\n" - .'You can query ECS instances by scaling group ID, scaling configuration ID, health status, state, and instance creation method.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeScalingActivities' => [ - 'summary' => '查询伸缩活动', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '92680', - 'abilityTreeNodes' => [ - 'FEATUREessACRSW1', - ], - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group to which the scaling activity that you want to query belongs.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'example' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Maximum value: 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'maximum' => '50', - 'example' => '10', - 'default' => '10', - ], - ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n" - ."\n" - .'> When you call this operation, you must specify a value for the `ScalingGroupId` or `ScalingActivityId.N` parameter. Otherwise, an error is reported when you call this operation.'."\n", - 'type' => 'string', - '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' => 'ScalingActivityId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The ID of the scaling activity.', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of scaling activity N that you want to query.'."\n" - ."\n" - .'> When you call this operation, you must specify a value for the `ScalingGroupId` or `ScalingActivityId.N` parameter. Otherwise, an error is reported when you call this operation.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asa-bp161xudmuxdzofe****', - ], - 'required' => false, - 'maxItems' => 20, - ], - ], - [ - 'name' => 'InstanceRefreshTaskId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CC107349-57B7-4405-B1BF-9BF5AF7F****', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalCount' => [ - 'description' => 'The total number of scaling activities.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScalingActivities' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ScalingActivity' => [ - 'description' => 'Details of the scaling activities.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Progress' => [ - 'description' => 'The execution progress of the scaling activity.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'ScalingInstanceNumber' => [ - 'description' => '* If the scaling activity is a scale-out activity, the value of this parameter indicates the number of instances that were scaled out or the number of instances that were started from Economical Mode during the scaling activity.'."\n" - .'* If the scaling activity is a scale-in activity, the value of this parameter indicates the number of instances that were scaled in or the number of instances that were stopped in Economical Mode during the scaling activity.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'AttachedCapacity' => [ - 'description' => 'The total number of instances that were manually added to the scaling group after the scaling activity was complete.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'TotalCapacity' => [ - 'description' => 'The total number of instances in the scaling group after the scaling activity was complete.'."\n", - 'type' => 'string', - 'example' => '2', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asg-bp18p2yfxow2dloq****', - ], - 'AutoCreatedCapacity' => [ - 'description' => 'The total number of instances that were automatically created by Auto Scaling after the scaling activity was complete.'."\n", - 'type' => 'string', - 'example' => '2', - ], - 'EndTime' => [ - 'description' => 'The time when the scaling activity was complete.'."\n", - 'type' => 'string', - 'example' => '2020-09-10T09:54Z', - ], - 'StartTime' => [ - 'description' => 'The time when the scaling activity started.'."\n", - 'type' => 'string', - 'example' => '2020-09-10T09:54Z', - ], - 'Description' => [ - 'description' => 'The description of the scaling activity.'."\n", - 'type' => 'string', - 'example' => 'Add \\"1\\" ECS instance', - ], - 'StatusCode' => [ - 'description' => 'The status of the scaling activity. Valid values:'."\n" - ."\n" - .'* Successful: The scaling activity is successful.'."\n" - .'* Warning: The scaling activity is partially successful.'."\n" - .'* Failed: The scaling activity failed.'."\n" - .'* InProgress: The scaling activity is in progress.'."\n" - .'* Rejected: The request to trigger the scaling activity is rejected.'."\n", - 'type' => 'string', - 'example' => 'Successful', - ], - 'Cause' => [ - 'description' => 'The reason why the scaling activity was triggered.'."\n", - 'type' => 'string', - 'example' => 'A user requests to execute scaling rule \\"asr-bp12tcnol686y1ik****\\", changing the Total Capacity from \\"1\\" to \\"2\\".', - ], - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'example' => 'asa-bp161xudmuxdzofe****', - ], - 'StatusMessage' => [ - 'description' => 'The status information about the scaling activity.'."\n", - 'type' => 'string', - 'example' => '\\"1\\" ECS instances are added', - ], - 'CreatedCapacity' => [ - 'description' => 'The number of instances that were created during the scaling activity.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'DestroyedCapacity' => [ - 'description' => 'The number of instances that were released during the scaling activity.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'StartedCapacity' => [ - 'description' => 'The number of instances that were started from Economical Mode during the scaling activity.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'StoppedCapacity' => [ - 'description' => 'The number of instances that were stopped in Economical Mode during the scaling activity.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'CreatedInstances' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'CreatedInstance' => [ - 'description' => 'The instances that were created during the scaling activity.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instances that were created during the scaling activity.', - 'type' => 'string', - 'example' => '["i-abc1","i-abc2"]', - ], - ], - ], - ], - 'DestroyedInstances' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DestroyedInstance' => [ - 'description' => 'The instances that were released during the scaling activity.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instances that were released during the scaling activity.', - 'type' => 'string', - 'example' => '[ "i-abc1", "i-abc2" ]', - ], - ], - ], - ], - 'StartedInstances' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'StartedInstance' => [ - 'description' => 'The instances that were started from Economical Mode during the scaling activity.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instances that were started from Economical Mode during the scaling activity.', - 'type' => 'string', - 'example' => '[ "i-abc1", "i-abc2" ]', - ], - ], - ], - ], - 'StoppedInstances' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'StoppedInstance' => [ - 'description' => 'The instances that were stopped in Economical Mode during the scaling activity.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instances that were stopped in Economical Mode during the scaling activity.', - 'type' => 'string', - 'example' => '[ "i-abc1", "i-abc2" ]', - ], - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code that is returned when the scaling activity fails.'."\n", - 'type' => 'string', - 'example' => 'OperationDenied.NoStock', - ], - 'ErrorMessage' => [ - 'description' => 'The error message that is returned when the scaling activity fails.'."\n", - 'type' => 'string', - 'example' => 'The specified ECS resource is out of stock in this region. Please try again later.', - ], - 'Detail' => [ - 'description' => 'Details of the scaling activity.'."\n", - 'type' => 'string', - 'example' => '"new ECS instances "i-j6c8ilerw, i-j6c8iler4mx" are created."', - ], - 'TriggerSourceType' => [ - 'type' => 'string', - ], - 'TriggerSourceId' => [ - 'type' => 'string', - ], - 'LifecycleHookContext' => [ - 'type' => 'object', - 'properties' => [ - 'DisableLifecycleHook' => [ - 'type' => 'boolean', - ], - 'IgnoredLifecycleHookIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'IgnoredLifecycleHookId' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - 'ActivityMetadata' => [ - 'type' => 'string', - ], - 'InstanceRefreshTaskId' => [ - 'type' => 'string', - ], - 'ErrorMessages' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ErrorMessages' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Description' => [ - 'type' => 'string', - ], - 'Code' => [ - 'type' => 'string', - ], - 'Message' => [ - 'type' => 'string', - ], - 'FailedInstanceIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'FailedInstanceIds' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CC107349-57B7-4405-B1BF-9BF5AF7F****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1,\\n \\"ScalingActivities\\": {\\n \\"ScalingActivity\\": [\\n {\\n \\"Progress\\": 100,\\n \\"ScalingInstanceNumber\\": 1,\\n \\"AttachedCapacity\\": \\"0\\",\\n \\"TotalCapacity\\": \\"2\\",\\n \\"ScalingGroupId\\": \\"asg-bp18p2yfxow2dloq****\\",\\n \\"AutoCreatedCapacity\\": \\"2\\",\\n \\"EndTime\\": \\"2020-09-10T09:54Z\\",\\n \\"StartTime\\": \\"2020-09-10T09:54Z\\",\\n \\"Description\\": \\"Add \\\\\\\\\\\\\\"1\\\\\\\\\\\\\\" ECS instance\\",\\n \\"StatusCode\\": \\"Successful\\",\\n \\"Cause\\": \\"A user requests to execute scaling rule \\\\\\\\\\\\\\"asr-bp12tcnol686y1ik****\\\\\\\\\\\\\\", changing the Total Capacity from \\\\\\\\\\\\\\"1\\\\\\\\\\\\\\" to \\\\\\\\\\\\\\"2\\\\\\\\\\\\\\".\\",\\n \\"ScalingActivityId\\": \\"asa-bp161xudmuxdzofe****\\",\\n \\"StatusMessage\\": \\"\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\" ECS instances are added\\",\\n \\"CreatedCapacity\\": 1,\\n \\"DestroyedCapacity\\": 1,\\n \\"StartedCapacity\\": 1,\\n \\"StoppedCapacity\\": 1,\\n \\"CreatedInstances\\": {\\n \\"CreatedInstance\\": [\\n \\"[ \\\\\\"i-abc1\\\\\\", \\\\\\"i-abc2\\\\\\" ]\\"\\n ]\\n },\\n \\"DestroyedInstances\\": {\\n \\"DestroyedInstance\\": [\\n \\"[ \\\\\\"i-abc1\\\\\\", \\\\\\"i-abc2\\\\\\" ]\\"\\n ]\\n },\\n \\"StartedInstances\\": {\\n \\"StartedInstance\\": [\\n \\"[ \\\\\\"i-abc1\\\\\\", \\\\\\"i-abc2\\\\\\" ]\\"\\n ]\\n },\\n \\"StoppedInstances\\": {\\n \\"StoppedInstance\\": [\\n \\"[ \\\\\\"i-abc1\\\\\\", \\\\\\"i-abc2\\\\\\" ]\\"\\n ]\\n },\\n \\"ErrorCode\\": \\"OperationDenied.NoStock\\",\\n \\"ErrorMessage\\": \\"The specified ECS resource is out of stock in this region. Please try again later.\\",\\n \\"Detail\\": \\"\\\\\\"new ECS instances \\\\\\"i-j6c8ilerw, i-j6c8iler4mx\\\\\\" are created.\\\\\\"\\",\\n \\"TriggerSourceType\\": \\"Api\\",\\n \\"TriggerSourceId\\": \\"2346366580*****\\",\\n \\"LifecycleHookContext\\": {\\n \\"DisableLifecycleHook\\": false,\\n \\"IgnoredLifecycleHookIds\\": {\\n \\"IgnoredLifecycleHookId\\": [\\n \\"ash-bp14zolna43z266bq***\\"\\n ]\\n }\\n },\\n \\"ActivityMetadata\\": \\"{\\\\\\\\\\\\\\"goatscaler.io/managed\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\"}\\",\\n \\"InstanceRefreshTaskId\\": \\"ir-asdf12adsxg*****\\",\\n \\"ErrorMessages\\": {\\n \\"ErrorMessages\\": [\\n {\\n \\"Description\\": \\"Fail to create instances into scaling group.\\",\\n \\"Code\\": \\"OperationDenied.NoStock\\",\\n \\"Message\\": \\"The resource is out of stock in the specified zone. Please try other types, or choose other regions and zones.\\",\\n \\"FailedInstanceIds\\": {\\n \\"FailedInstanceIds\\": [\\n \\"i-8vbedazhjj6a6******\\"\\n ]\\n }\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n CC107349-57B7-4405-B1BF-9BF5AF7F****\\n 1\\n 10\\n 1\\n \\n 100\\n 1\\n 0\\n 2\\n asg-bp18p2yfxow2dloq****\\n 2\\n 2020-09-10T09:54Z\\n 2020-09-10T09:54Z\\n Add \\\\\\"1\\\\\\" ECS instance\\n Successful\\n A user requests to execute scaling rule \\\\\\"asr-bp12tcnol686y1ik****\\\\\\", changing the Total Capacity from \\\\\\"1\\\\\\" to \\\\\\"2\\\\\\".\\n asa-bp161xudmuxdzofe****\\n \\\\\\"1\\\\\\" ECS instances are added\\n 1\\n 1\\n 1\\n 1\\n [ \\"i-abc1\\", \\"i-abc2\\" ]\\n [ \\"i-abc1\\", \\"i-abc2\\" ]\\n [ \\"i-abc1\\", \\"i-abc2\\" ]\\n [ \\"i-abc1\\", \\"i-abc2\\" ]\\n OperationDenied.NoStock\\n The specified ECS resource is out of stock in this region. Please try again later.\\n \\"new ECS instances \\"i-j6c8ilerw, i-j6c8iler4mx\\" are created.\\"\\n Api\\n 2346366580*****\\n \\n false\\n ash-bp14zolna43z266bq***\\n \\n {\\\\\\"goatscaler.io/managed\\\\\\":\\\\\\"true\\\\\\"}\\n ir-asdf12adsxg*****\\n \\n Fail to create instances into scaling group.\\n OperationDenied.NoStock\\n The resource is out of stock in the specified zone. Please try other types, or choose other regions and zones.\\n i-8vbedazhjj6a6******\\n \\n \\n","errorExample":""}]', - 'title' => 'DescribeScalingInstances', - 'description' => '## Description'."\n" - ."\n" - .'* You can specify a scaling group ID to query all scaling activities in the scaling group.'."\n" - .'* You can filter query results based on the status of scaling activities.'."\n" - .'* You can query scaling activities that are executed in the previous 30 days.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeScalingActivityDetail' => [ - 'summary' => '查询一个伸缩活动的详细信息', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '92681', - 'abilityTreeNodes' => [ - 'FEATUREessACRSW1', - ], - ], - 'parameters' => [ - [ - 'name' => 'ScalingActivityId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling activity that you want to query. You can call the [DescribeScalingActivities](~~25961~~) operation to query the IDs of scaling activities.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asa-bp1c9djwrgxjyk31****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B13527BF-1FBD-4334-A512-20F5E9D3FB4D', - ], - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'example' => 'asa-bp1c9djwrgxjyk31****', - ], - 'Detail' => [ - 'description' => 'The details about the scaling activity.'."\n", - 'type' => 'string', - 'example' => 'new ECS instances \\"i-bp16t2cgmiiymeqv****\\" are created.', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B13527BF-1FBD-4334-A512-20F5E9D3FB4D\\",\\n \\"ScalingActivityId\\": \\"asa-bp1c9djwrgxjyk31****\\",\\n \\"Detail\\": \\"new ECS instances \\\\\\\\\\\\\\"i-bp16t2cgmiiymeqv****\\\\\\\\\\\\\\" are created.\\"\\n}","errorExample":""},{"type":"xml","example":"\\n B13527BF-1FBD-4334-A512-20F5E9D3FB4D\\n asa-bp1c9djwrgxjyk31****\\n new ECS instances \\\\\\"i-bp16t2cgmiiymeqv****\\\\\\" are created.\\n","errorExample":""}]', - 'title' => 'DescribeScalingActivityDetail', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DescribeScalingActivityDetail\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DescribeLimitation' => [ - 'summary' => '查询资源配额限制', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92676', - 'abilityTreeNodes' => [ - 'FEATUREessZ1KWHS', - ], - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'MaxNumberOfScheduledTasks' => [ - 'description' => 'The maximum number of scheduled tasks that can be created in a region by using an Alibaba Cloud account.'."\n" - ."\n" - .'> To view the scheduled task quota or manually apply for a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'MaxNumberOfLoadBalancers' => [ - 'description' => 'The maximum number of Classic Load Balancer (CLB, formerly known as SLB) instances that can be associated with a scaling group.'."\n" - ."\n" - .'> To view the CLB instance quota or manually apply for a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'MaxNumberOfMaxSize' => [ - 'description' => 'The maximum number of instances that can be contained in a scaling group.'."\n" - ."\n" - .'> To view the instance quota or manually apply for a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2000', - ], - 'MaxNumberOfAlbServerGroup' => [ - 'description' => 'The maximum number of Application Load Balancer (ALB) server groups that can be associated with a scaling group.'."\n" - ."\n" - .'> To view the ALB server group quota or manually apply for a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'MaxNumberOfNlbServerGroup' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MaxNumberOfDBInstances' => [ - 'description' => 'The maximum number of ApsaraDB RDS instances that can be associated with a scaling group.'."\n" - ."\n" - .'> To view the ApsaraDB RDS instance quota or manually apply for a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8', - ], - 'MaxNumberOfScalingConfigurations' => [ - 'description' => 'The maximum number of scaling configurations that can be created in a scaling group.'."\n" - ."\n" - .'> To view the scaling configuration quota or manually apply for a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'MaxNumberOfMinSize' => [ - 'description' => 'The minimum number of instances that must be contained in a scaling group. The value of MaxNumberOfMinSize must be consistent with the value of MaxNumberOfMaxSize.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2000', - ], - 'MaxNumberOfLifecycleHooks' => [ - 'description' => 'The maximum number of lifecycle hooks that can be created in a scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '6', - ], - 'MaxNumberOfScalingInstances' => [ - 'description' => 'The maximum number of Elastic Compute Service (ECS) instances or elastic container instances that can be included in each scaling activity.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - 'MaxNumberOfScalingGroups' => [ - 'description' => 'The maximum number of scaling groups that can be created in a region by using an Alibaba Cloud account.'."\n" - ."\n" - .'> To view the scaling group quota or manually apply for a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'BE9BEB41-E7B8-4C7D-A3CF-2DCB106665E9', - ], - 'MaxNumberOfNotificationConfigurations' => [ - 'description' => 'The maximum number of notification rules that can be created in a scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '6', - ], - 'MaxNumberOfVServerGroups' => [ - 'description' => 'The maximum number of vServer groups that can be specified for a scaling group when a CLB instance is associated with the scaling group.'."\n" - ."\n" - .'> To view the vServer group quota or manually apply for a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'MaxNumberOfScalingRules' => [ - 'description' => 'The maximum number of scaling rules that can be created for a scaling group.'."\n" - ."\n" - .'> To view the scaling rule quota or manually apply for a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"MaxNumberOfScheduledTasks\\": 70,\\n \\"MaxNumberOfLoadBalancers\\": 30,\\n \\"MaxNumberOfMaxSize\\": 2000,\\n \\"MaxNumberOfAlbServerGroup\\": 30,\\n \\"MaxNumberOfNlbServerGroup\\": 30,\\n \\"MaxNumberOfDBInstances\\": 30,\\n \\"MaxNumberOfScalingConfigurations\\": 70,\\n \\"MaxNumberOfMinSize\\": 2000,\\n \\"MaxNumberOfLifecycleHooks\\": 10,\\n \\"MaxNumberOfScalingInstances\\": 500,\\n \\"MaxNumberOfScalingGroups\\": 200,\\n \\"RequestId\\": \\"BE9BEB41-E7B8-4C7D-A3CF-2DCB1066****\\",\\n \\"MaxNumberOfNotificationConfigurations\\": 6,\\n \\"MaxNumberOfVServerGroups\\": 5,\\n \\"MaxNumberOfScalingRules\\": 70\\n}","errorExample":""},{"type":"xml","example":"\\n 70\\n 30\\n 2000\\n 30\\n 30\\n 30\\n 70\\n 2000\\n 10\\n 500\\n 200\\n BE9BEB41-E7B8-4C7D-A3CF-2DCB1066****\\n 6\\n 5\\n 70\\n","errorExample":""}]', - 'title' => 'DescribeLimitation', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DescribeLimitation\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeElasticStrength' => [ - 'summary' => 'DescribeElasticStrength', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '232309', - 'abilityTreeNodes' => [ - 'FEATUREess7569XW', - ], - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-qingdao', - ], - ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], - ], - [ - 'name' => 'InstanceTypes', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.g6.large', - ], - 'required' => false, - 'maxItems' => 50, - ], - ], - [ - 'name' => 'PriorityStrategy', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'SystemDiskCategories', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'required' => false, - ], - 'required' => false, - 'maxItems' => 50, - ], - ], - [ - 'name' => 'ScalingGroupIds', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp14wlu85wrpchm0****', - ], - 'required' => false, - 'maxItems' => 50, - ], - ], - [ - 'name' => 'SpotStrategy', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'VSwitchIds', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 10, - ], - ], - [ - 'name' => 'ImageId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'ImageName', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'ImageFamily', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'DataDiskCategories', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 50, - ], - ], - [ - 'name' => 'Ipv6AddressCount', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '', - 'type' => 'string', - 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'TotalStrength' => [ - 'description' => '', - 'type' => 'number', - 'format' => 'double', - 'example' => '1.5', - ], - 'ElasticStrength' => [ - 'type' => 'string', - ], - 'ResourcePools' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Strength' => [ - 'description' => '', - 'type' => 'number', - 'format' => 'double', - 'example' => '0.6', - ], - 'InstanceType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ecs.c7t.xlarge', - ], - 'ZoneId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cn-hangzhou-g', - ], - 'VSwitchIds' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'vsw-2ze0uc933kantv******', - ], - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'InstanceTypesOrDiskTypesNotSupported', - ], - 'Msg' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'The instanceTypes or diskTypes are not supported.', - ], - 'Status' => [ - 'type' => 'string', - ], - 'InventoryHealth' => [ - 'type' => 'object', - 'properties' => [ - 'HealthScore' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'AdequacyScore' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'SupplyScore' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'HotScore' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - ], - ], - ], - 'ElasticStrengthModels' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ScalingGroupId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'asg-wz98mnj7nblv9gc****', - ], - 'ElasticStrength' => [ - 'type' => 'string', - ], - 'TotalStrength' => [ - 'description' => '', - 'type' => 'number', - 'format' => 'double', - ], - 'ResourcePools' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ecs.r7.large', - ], - 'Strength' => [ - 'description' => '', - 'type' => 'number', - 'format' => 'double', - 'example' => '0.6', - ], - 'ZoneId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cn-hangzhou-g', - ], - 'VSwitchIds' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'vsw-2ze6e8p4aid08lymlsguv', - ], - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'InstanceTypesOrDiskTypesNotSupported', - ], - 'Msg' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'The instanceTypes or diskTypes are not supported.', - ], - 'Status' => [ - 'type' => 'string', - ], - 'InventoryHealth' => [ - 'type' => 'object', - 'properties' => [ - 'HealthScore' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'AdequacyScore' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'SupplyScore' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'HotScore' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"TotalStrength\\": 1.5,\\n \\"ElasticStrength\\": \\"Strong\\",\\n \\"ResourcePools\\": [\\n {\\n \\"Strength\\": 0.6,\\n \\"InstanceType\\": \\"ecs.c7t.xlarge\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-2ze0uc933kantv******\\"\\n ],\\n \\"Code\\": \\"InstanceTypesOrDiskTypesNotSupported\\",\\n \\"Msg\\": \\"The instanceTypes or diskTypes are not supported.\\",\\n \\"Status\\": \\"Available\\",\\n \\"InventoryHealth\\": {\\n \\"HealthScore\\": 3,\\n \\"AdequacyScore\\": 3,\\n \\"SupplyScore\\": 3,\\n \\"HotScore\\": 3\\n }\\n }\\n ],\\n \\"ElasticStrengthModels\\": [\\n {\\n \\"ScalingGroupId\\": \\"asg-wz98mnj7nblv9gc****\\",\\n \\"ElasticStrength\\": \\"Strong\\",\\n \\"TotalStrength\\": 5,\\n \\"ResourcePools\\": [\\n {\\n \\"InstanceType\\": \\"ecs.r7.large\\",\\n \\"Strength\\": 0.6,\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-2ze6e8p4aid08lymlsguv\\"\\n ],\\n \\"Code\\": \\"InstanceTypesOrDiskTypesNotSupported\\",\\n \\"Msg\\": \\"The instanceTypes or diskTypes are not supported.\\",\\n \\"Status\\": \\"Available\\",\\n \\"InventoryHealth\\": {\\n \\"HealthScore\\": 3,\\n \\"AdequacyScore\\": 3,\\n \\"SupplyScore\\": 2,\\n \\"HotScore\\": 0\\n }\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n 1.5\\n Strong\\n \\n 0.6\\n ecs.c7t.xlarge\\n cn-hangzhou-g\\n vsw-2ze0uc933kantv******\\n InstanceTypesOrDiskTypesNotSupported\\n The instanceTypes or diskTypes are not supported.\\n Available\\n \\n 3\\n 3\\n 3\\n 3\\n \\n \\n \\n asg-wz98mnj7nblv9gc****\\n Strong\\n 5\\n \\n ecs.r7.large\\n 0.6\\n cn-hangzhou-g\\n vsw-2ze6e8p4aid08lymlsguv\\n InstanceTypesOrDiskTypesNotSupported\\n The instanceTypes or diskTypes are not supported.\\n Available\\n \\n 3\\n 3\\n 2\\n 0\\n \\n \\n \\n","errorExample":""}]', - ], - 'VerifyAuthentication' => [ - 'summary' => '检测是否已授权弹性伸缩操作ECS和ECI资源', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '92723', - 'abilityTreeNodes' => [ - 'FEATUREessZ1KWHS', - ], - ], - 'parameters' => [ - [ - 'name' => 'Uid', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of your Alibaba Cloud account.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1234567812345678', - ], - ], - [ - 'name' => 'OnlyCheck', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to only check the authorization status. Valid values:'."\n" - ."\n" - .'* true: only checks the authorization status and does not create the service-linked role.'."\n" - .'* false: checks the authorization status and automatically creates the service-linked role if Auto Scaling is not authorized to manage ECS resources.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'INNER_euumyufYKqwc8ywxPcP****', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'UserNotAuthorizeEss', - 'errorMessage' => 'Ess should be authorized in ram to operate user ecs resource.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'VerifyAuthentication', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=VerifyAuthentication\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'SuspendProcesses' => [ - 'summary' => '暂停伸缩组中的指定流程', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92720', - 'abilityTreeNodes' => [ - 'FEATUREess4ZDI6R', - ], - ], - '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 it is unique among different requests.'."\n" - ."\n" - .'The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], - ], - [ - 'name' => 'Process', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The number of processes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Process N that you want to suspend. Valid values of N: 1 to 100. Valid values:'."\n" - ."\n" - .'* ScaleIn'."\n" - .'* ScaleOut'."\n" - .'* HealthCheck'."\n" - .'* AlarmNotification'."\n" - .'* ScheduledAction'."\n" - ."\n" - .'You can suspend five types of processes. If you specify more than five types, the duplicate types are automatically removed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ScaleIn', - ], - 'required' => true, - 'example' => 'ScaleIn', - 'maxItems' => 100, - ], - ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '3E2033F0-03B4-419D-BCE2-C2339DB51B30', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"3E2033F0-03B4-419D-BCE2-C2339DB5****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 3E2033F0-03B4-419D-BCE2-C2339DB5****\\n","errorExample":""}]', - 'title' => 'SuspendProcesses', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=SuspendProcesses\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'ResumeProcesses' => [ - 'summary' => '恢复伸缩组中被暂停的流程', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92715', - '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 it is unique among different requests. The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], - ], - [ - 'name' => 'Process', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The number of processes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The type of process N that you want to resume. Valid values of N: 1 to 100.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* ScaleIn'."\n" - .'* ScaleOut'."\n" - .'* HealthCheck'."\n" - .'* AlarmNotification'."\n" - .'* ScheduledAction'."\n" - ."\n" - .'You can resume the preceding types of scaling processes. If you specify more than five types, the system removes the duplicate types.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ScaleIn', - ], - 'required' => true, - 'example' => 'ScaleIn', - 'maxItems' => 100, - ], - ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'E38EB733-D714-4658-8A5F-0688AB680414', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E38EB733-D714-4658-8A5F-0688AB68****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n E38EB733-D714-4658-8A5F-0688AB68****\\n","errorExample":""}]', - 'title' => 'ResumeProcesses', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=ResumeProcesses\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'VerifyUser' => [ - 'summary' => '验证是否已开通弹性伸缩服务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92724', - 'abilityTreeNodes' => [ - 'FEATUREessZ1KWHS', - ], - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"\\"\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', - 'title' => 'VerifyUser', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=VerifyUser\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'CreateScalingConfiguration' => [ - 'summary' => '创建伸缩配置', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92657', - 'abilityTreeNodes' => [ - 'FEATUREessWJGIW5', - ], - ], - 'parameters' => [ - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group in which you want to create the scaling configuration.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp14wlu85wrpchm0****', - ], - ], - [ - 'name' => 'ImageId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image that is used by Auto Scaling to create instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'centos6u5_64_20G_aliaegis****.vhd', - ], - ], - [ - 'name' => 'ImageName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the image. The name must be unique in a region. If you specify the **ImageId **parameter, the **ImageName **parameter is ignored.'."\n" - ."\n" - .'You cannot use the **ImageName **parameter to specify Alibaba Cloud Marketplace images.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'image****', - ], - ], - [ - 'name' => 'InstanceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The instance type of the ECS instance. For more information, see [Instance family](~~25378~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.g6.large', - ], - ], - [ - 'name' => 'Cpu', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of vCPUs.'."\n" - ."\n" - .'You can specify the number of vCPUs and the memory size to determine the range of instance types. For example, you can set the **Cpu **parameter to 2 and the **Memory** parameter to 16 to specify the instance types that have 2 vCPUs and 16 GiB of memory. If you specify the **Cpu **and **Memory **parameters, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling preferentially creates instances of the instance type that is provided at the lowest price.'."\n" - ."\n" - .'> You can specify CPU and memory specifications to determine the range of instance types only if the **Scaling ****Policy **parameter is set to **Cost ****Optimization Policy** and no instance type is specified in the scaling configuration.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - ], - [ - 'name' => 'Memory', - 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the memory.'."\n" - ."\n" - .'You can specify the number of vCPUs and the memory size to determine the range of instance types. For example, you can set the **Cpu **parameter to 2 and the **Memory **parameter to 16 to specify the instance types that have 2 vCPUs and 16 GiB of memory. If you specify the **Cpu **and **Memory **parameters, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling preferentially creates instances of the instance type that is provided at the lowest price.'."\n" - ."\n" - .'> You can specify CPU and memory specifications to determine the range of instance types only if the **Scaling Policy** parameter is set to **Cost Optimization Policy** and no instance type is specified in the scaling configuration.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '16', - ], - ], - [ - 'name' => 'DeploymentSetId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the deployment set to which the ECS instance belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ds-bp1frxuzdg87zh4pz****', - ], - ], - [ - 'name' => 'SecurityGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group with which the ECS instance is associated. The ECS instances that are associated with the same security group can access each other.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sg-280ih****', - ], - ], - [ - 'name' => 'IoOptimized', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to create an I/O optimized instance. Valid values:'."\n" - ."\n" - .'* none: does not create an I/O optimized instance.'."\n" - .'* optimized: creates an I/O optimized instance.'."\n" - ."\n" - .'For instances of retired instance types, the default value is none. For instances of other instance types, the default value is optimized. For information about the retired instance types, see [Retired instance types](~~55263~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'optimized', - ], - ], - [ - 'name' => 'InternetChargeType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The billing method for network usage. Valid values:'."\n" - ."\n" - .'* PayByBandwidth: You are charged for the maximum available bandwidth that is specified by the **InternetMaxBandwidthOut **parameter.'."\n" - .'* PayByTraffic: You are charged for the actual traffic that is used. **InternetMaxBandwidthOut **specifies only the maximum available bandwidth.'."\n" - ."\n" - .'Default value for the classic network: PayByBandwidth. Default value for VPCs: PayByTraffic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PayByTraffic', - ], - ], - [ - 'name' => 'InternetMaxBandwidthIn', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum inbound public bandwidth. Unit: Mbit/s. Valid values: 1 to 200.'."\n" - ."\n" - .'Default value: 200. This parameter is not used for billing because inbound traffic to instances is free of charge.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - ], - [ - 'name' => 'InternetMaxBandwidthOut', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum outbound public bandwidth. Unit: Mbit/s.'."\n" - ."\n" - .'* Valid values if you set the **InternetChargeType **parameter to **PayByBandwidth**: 0 to 100. If this parameter is not specified, 0 is used as the value of this parameter.'."\n" - .'* Valid values if you set the **InternetChargeType **parameter to **PayByTraffic**: 0 to 100. If this parameter is not specified, an error is reported.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], - ], - [ - 'name' => 'SystemDisk.Category', - 'in' => 'query', - 'schema' => [ - 'description' => 'The category of the system disk. Valid values:'."\n" - ."\n" - .'* cloud: basic disk'."\n" - .'* cloud_efficiency: ultra disk'."\n" - .'* cloud_ssd: standard SSD'."\n" - .'* ephemeral_ssd: local standard SSD'."\n" - .'* cloud_essd: enhanced SSD (ESSD)'."\n" - .'* cloud_auto: ESSD AutoPL disk'."\n" - ."\n" - .'You cannot specify the **SystemDisk.Category** and `SystemDiskCategories.N` parameters at the same time. If you do not specify the **SystemDisk.Category** and `SystemDiskCategories.N` parameters, the default value of **SystemDisk.Category** is used. For non-I/O optimized instances of Generation I instance types, the default value is cloud. For instances of other instance types, the default value is cloud_efficiency.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_ssd', - ], - ], - [ - 'name' => 'SystemDisk.Size', - 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the system disk. Unit: GiB. Valid values: 20 to 500.'."\n" - ."\n" - .'The value of **SystemDisk.Size** must be greater than or equal to max{20, ImageSize}.'."\n" - ."\n" - .'Default value: max{40, ImageSize}.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - ], - [ - 'name' => 'SystemDisk.DiskName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the system disk. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (\\_), and hyphens (-). The name must start with a letter but cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_ssdSystem', - ], - ], - [ - '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 of the ESSD category. Valid values:'."\n" - ."\n" - .'* PL0: An ESSD can deliver up to 10,000 random read/write IOPS.'."\n" - .'* PL1: An ESSD can deliver up to 50,000 random read/write IOPS.'."\n" - .'* PL2: An ESSD can deliver up to 100,000 random read/write IOPS.'."\n" - .'* PL3: An ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n" - ."\n" - .'Default value: PL0.'."\n" - ."\n" - .'> For more information about how to select ESSD PLs, see [ESSDs](~~122389~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PL0', - ], - ], - [ - 'name' => 'ScalingConfigurationName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the scaling configuration. The name must be 2 to 64 characters in length and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter or a digit.'."\n" - ."\n" - .'The name of the scaling configuration must be unique in a scaling group in a region. If you do not specify this parameter, the value of **ScalingConfigurationId** is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalingconfig****', - ], - ], - [ - 'name' => 'LoadBalancerWeight', - 'in' => 'query', - 'schema' => [ - 'description' => 'The weight of the ECS instance as a backend server of the associated Server Load Balancer (SLB) instance. Valid values: 1 to 100.'."\n" - ."\n" - .'Default value: 50.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], - ], - [ - 'name' => 'Tags', - 'in' => 'query', - 'schema' => [ - 'description' => 'The tags of the ECS instance. The tags must be specified in the key-value pair format. You can specify up to 20 tags. Take note of the following items when you specify tag keys and tag values:'."\n" - ."\n" - .'* A tag key can be up to 64 characters in length. The key cannot start with acs: or aliyun and cannot contain `http://` or `https://`. You cannot specify an empty string as a tag key.'."\n" - .'* A tag value can be up to 128 characters in length. The value cannot start with acs: or aliyun and cannot contain `http://` or `https://`. You can specify an empty string as a tag value.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"key1":"value1","key2":"value2", ... "key5":"value5"}', - ], - ], - [ - 'name' => 'UserData', - 'in' => 'query', - 'schema' => [ - 'description' => 'The user data of the ECS instance. The data must be encoded in Base64. The maximum size of the data before encoding is 16 KB.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'echo hello ecs!', - ], - ], - [ - 'name' => 'KeyPairName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the key pair that is used to log on to the ECS instance.'."\n" - ."\n" - .'* Windows instances do not use this parameter.'."\n" - .'* By default, the username and password authentication method is disabled for Linux instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'KeyPairTest', - ], - ], - [ - 'name' => 'RamRoleName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the RAM role that is associated with the ECS instance. The name is provided and maintained by Resource Access Management (RAM). You can call the [ListRoles](~~28713~~) operation to query the available RAM roles. You can call the [CreateRole](~~28710~~) operation to create RAM roles.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ramrole****', - ], - ], - [ - 'name' => 'SecurityEnhancementStrategy', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable security hardening. Valid values:'."\n" - ."\n" - .'* Active: enables security hardening. This value is valid only for public images.'."\n" - .'* Deactive: disables security hardening. This value is valid for all image types.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Active', - ], - ], - [ - 'name' => 'InstanceName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the ECS instance that is automatically created based on the scaling configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'instance****', - ], - ], - [ - '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 instances and preemptible instances. Valid values:'."\n" - ."\n" - .'* NoSpot: The instance is created as a pay-as-you-go instance.'."\n" - .'* SpotWithPriceLimit: The instance is a preemptible instance that has a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instance is created as a preemptible instance for which the market price at the time of purchase is automatically used as the bid price.'."\n" - ."\n" - .'Default value: NoSpot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NoSpot', - ], - ], - [ - 'name' => 'PasswordInherit', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the password that is preconfigured in the image. Before you use this parameter, make sure that a password is configured for the image. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'Password', - 'in' => 'query', - 'schema' => [ - 'description' => 'The password that is used to log on to the ECS instance. The password must be 8 to 30 characters in length, and contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. The following special characters are supported:'."\n" - ."\n" - .' ()` ~!@#$%^&*-_+=\\|{}[]:;\'<>,.?/'."\n" - ."\n" - .'The password of a Windows instance cannot start with a forward slash (/).'."\n" - ."\n" - .'> If you specify the **Password **parameter, we recommend that you use HTTPS to send requests for security purposes.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123abc****', - ], - ], - [ - 'name' => 'ResourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group to which the ECS instance belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-resource****', - ], - ], - [ - 'name' => 'HpcClusterId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Elastic High Performance Computing (E-HPC) cluster to which the ECS instance belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hpc-clusterid', - ], - ], - [ - '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' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests. The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], - ], - [ - '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 latest custom images that are available in the specified image family are returned. You can use the images to create instances. If you specify the **ImageId **parameter, you cannot specify the **ImageFamily** parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hangzhou-daily-update', - ], - ], - [ - 'name' => 'ZoneId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the zone where the ECS instance resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-g', - ], - ], - [ - 'name' => 'DedicatedHostId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the dedicated host on which the ECS instance runs. You cannot create preemptible instances on dedicated hosts. Therefore, if you configure the **DedicatedHostId **parameter, the **SpotStrategy **and **SpotPriceLimit** parameters are ignored.'."\n" - ."\n" - .'You can call the [DescribeDedicatedHosts](~~134242~~) operation to query the IDs of dedicated hosts.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'dh-bp67acfmxazb4p****', - ], - ], - [ - 'name' => 'Affinity', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to associate the instance on a dedicated host with the dedicated host. Valid values:'."\n" - ."\n" - .'* default: does not associate the instance with the dedicated host. If you start an instance that was stopped in economical mode and the original dedicated host has insufficient resources, the instance is automatically deployed to another dedicated host in the automatic deployment resource pool.'."\n" - .'* host: associates the instance with the dedicated host. If you start an instance that was stopped in economical mode, the instance remains on the original dedicated host. If the original dedicated host has insufficient resources, the instance fails to start.'."\n" - ."\n" - .'Default value: default.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], - ], - [ - 'name' => 'Tenancy', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to create the instance on a dedicated host. Valid values:'."\n" - ."\n" - .'* default: does not create the instance on a dedicated host.'."\n" - .'* host: creates the instance on a dedicated host. If you do not specify the **DedicatedHostId** parameter, the system selects a dedicated host for the instance that you want to create.'."\n" - ."\n" - .'Default value: default.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], - ], - [ - 'name' => 'SchedulerOptions', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The scheduling 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 create instances. A private pool is generated when an elasticity assurance or a capacity reservation takes effect. You can select a private pool when you create instances. Valid values:'."\n" - ."\n" - .'* Open: open private pool. The system selects a matching open private pool to create instances. If no matching open private pools are found, the resources in the public pool are used. In this case, you do not need to specify the **PrivatePoolOptions.Id **parameter.'."\n" - .'* Target: specified private pool. The system uses the capacity of a specified private pool to create instances. If the specified private pool is unavailable, no instances can be created. If you set this parameter to **Target**, you must specify the **PrivatePoolOptions.Id** parameter.'."\n" - .'* None: no private pool. The capacity of private pools is not used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Open', - ], - ], - [ - '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 retention 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. Default value: Terminate. Set the value to Terminate, which specifies to release the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Terminate', - ], - ], - [ - 'name' => 'InstanceTypes', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Instance type N. If you specify this parameter, the **InstanceType** parameter is ignored. You can specify up to 10 instance types in a scaling configuration. Valid values of N: 1 to 10.'."\n" - ."\n" - .'A smaller value of N specifies a higher priority. Auto Scaling creates instances based on the priorities of the instance types. If Auto Scaling cannot create instances of the instance type that has the highest priority, Auto Scaling creates instances of the instance type that has the next highest priority.', - 'type' => 'array', - 'items' => [ - 'description' => 'Instance type N. If you specify this parameter, the **InstanceType** parameter is ignored. You can specify up to 10 instance types in a scaling configuration. Valid values of N: 1 to 10.'."\n" - ."\n" - .'A smaller value of N specifies a higher priority. Auto Scaling creates instances based on the priorities of the instance types. If Auto Scaling cannot create instances of the instance type that has the highest priority, Auto Scaling creates instances of the instance type that has the next highest priority.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.g6.large', - ], - 'required' => false, - 'example' => 'ecs.g6.large', - 'maxItems' => 20, - ], - ], - [ - 'name' => 'InstanceTypeOverride', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The instance type overrides.', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => 'If you want to specify the capacity of instance types in the scaling configuration, you must specify the **InstanceTypeOverride.N.InstanceType **and **InstanceTypeOverride.N.WeightedCapacity **parameters.'."\n" - ."\n" - .'This parameter is used to specify the instance type. You can specify multiple instance types. The **InstanceTypeOverride.N.WeightedCapacity** parameter is used to specify weights for instance types. Valid values of N: 1 to 10.'."\n" - ."\n" - .'> If you specify this parameter, you cannot specify the **InstanceTypes.N** or **InstanceType** parameter.'."\n" - ."\n" - .'For information about the valid values of **InstanceType** in **InstanceTypeOverride.N.InstanceType**, see [Instance family](~~25378~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c5.xlarge', - ], - 'WeightedCapacity' => [ - 'description' => 'If you want to specify the capacity of instance types in the scaling configuration, you must specify the **InstanceTypeOverride.N.InstanceType** and **InstanceTypeOverride.N.WeightedCapacity** parameters. The values of *N* in the two parameters must be the same.'."\n" - ."\n" - .'This parameter specifies the weight of the instance type. The weight specifies the capacity of an instance of the specified instance type in the scaling group. A higher weight specifies that a smaller number of instances of the specified instance type are required to meet the expected capacity.'."\n" - ."\n" - .'Performance metrics such as the number of vCPUs and the memory size of each instance type may vary. You can specify different weights for different instance types based on your business requirements.'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* Current capacity: 0'."\n" - .'* Expected capacity: 6'."\n" - .'* Capacity of ecs.c5.xlarge: 4'."\n" - ."\n" - .'To meet the expected capacity, Auto Scaling must create two ecs.c5.xlarge instances.'."\n" - ."\n" - .'> The capacity of the scaling group cannot exceed the sum of the maximum capacity that is specified by the **MaxSize** parameter and the maximum weight of the instance type.'."\n" - ."\n" - .'Valid values of **WeightedCapacity** in the **InstanceTypeOverride.N.WeightedCapacity **parameter: 1 to 500.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], - ], - [ - 'name' => 'DataDisk', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The data disks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The data disks.'."\n", - 'type' => 'object', - 'properties' => [ - 'PerformanceLevel' => [ - 'description' => 'The PL of data disk *N* that is of the ESSD category. If you set the **DataDisk.N.Category** parameter to **cloud_essd**, the *N* value must be the same as the *N* value in **DataDisk.N.Category**. Valid values:'."\n" - ."\n" - .'* PL0: An ESSD can deliver up to 10,000 random read/write IOPS.'."\n" - .'* PL1: An ESSD can deliver up to 50,000 random read/write IOPS.'."\n" - .'* PL2: An ESSD can deliver up to 100,000 random read/write IOPS.'."\n" - .'* PL3: An ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n" - ."\n" - .'Default value: PL1.'."\n" - ."\n" - .'> For more information about how to select ESSD PLs, see [ESSDs](~~122389~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PL1', - ], - 'AutoSnapshotPolicyId' => [ - 'description' => 'The ID of the automatic snapshot policy that you want to apply to data disk *N*. Valid values of *N*: 1 to 16.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sp-bp19nq9enxqkomib****', - ], - 'Encrypted' => [ - 'description' => 'Specifies whether to encrypt data disk *N.* Valid values of *N*: 1 to 16. Valid values:'."\n" - ."\n" - .'* true: encrypts data disk *N*.'."\n" - .'* false: does not encrypt data disk *N*.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'false', - ], - 'Description' => [ - 'description' => 'The description of data disk *N*. Valid values of *N*: 1 to 16. The description must be 2 to 256 characters in length. The description can contain letters but cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test data disk.', - ], - 'SnapshotId' => [ - 'description' => 'The ID of the snapshot that you want to use to create data disk *N*. Valid values of *N*: 1 to 16. If you specify this parameter, the **DataDisk.N.Size** parameter is ignored. The size of the disk is the same as the size of the specified snapshot.'."\n" - ."\n" - .'If you specify a snapshot created on or before July 15, 2013, the operation fails and the system returns **InvalidSnapshot.TooOld**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 's-280s7****', - ], - 'Categories' => [ - 'description' => 'Category *N* of data disk *N*. The first *N* in **DataDisk.N.Categories.N** represents the serial number of the data disk. Valid values of *N*: 1 to 16. The second *N* in **DataDisk.N.Categories.N** represents the serial number of the data disk category. Valid values of *N*: 1 to 4. You can specify up to four data disk categories in a scaling configuration. A smaller value of *N* specifies a higher priority. If Auto Scaling cannot create instances by using the data disk that has the highest priority, Auto Scaling creates instances by using the data disk that has the next highest priority. Valid values:'."\n" - ."\n" - .'* cloud: basic disk. The **DeleteWithInstance** attribute of a basic disk that is created together with the instance is set to **true**.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" - ."\n" - .'> You cannot specify the **DataDisk.N.Categories.N **and `DataDisk.N.Category` parameters at the same time.', - 'type' => 'array', - 'items' => [ - 'description' => 'Category *N* of data disk *N*. The first *N* in **DataDisk.N.Categories.N** represents the serial number of the data disk. Valid values of *N*: 1 to 16. The second *N* in **DataDisk.N.Categories.N** represents the serial number of the data disk category. Valid values of *N*: 1 to 4. You can specify up to four data disk categories in a scaling configuration. A smaller value of *N* specifies a higher priority. If Auto Scaling cannot create instances by using the data disk that has the highest priority, Auto Scaling creates instances by using the data disk that has the next highest priority. Valid values:'."\n" - ."\n" - .'* cloud: basic disk. The **DeleteWithInstance** attribute of a basic disk that is created together with the instance is set to **true**.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" - ."\n" - .'> You cannot specify the **DataDisk.N.Categories.N **and `DataDisk.N.Category` parameters at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud', - ], - 'required' => false, - 'example' => 'cloud', - 'maxItems' => 10, - ], - 'Size' => [ - 'description' => 'The size of data disk *N*. Unit: GiB. Valid values of *N*: 1 to 16.'."\n" - ."\n" - .'* Valid values if you set the **DataDisk.N.Category** parameter to **cloud**: 5 to 2000.'."\n" - .'* Valid values if you set the **DataDisk.N.Category** parameter to **cloud_efficiency**: 20 to 32768.'."\n" - .'* Valid values if you set the **DataDisk.N.Category** parameter to **cloud_ssd**: 20 to 32768.'."\n" - .'* Valid values if you set the **DataDisk.N.Category** parameter to **cloud_essd**: 20 to 32768.'."\n" - .'* Valid values if you set the **DataDisk.N.Category** parameter to **ephemeral_ssd**: 5 to 800.'."\n" - ."\n" - .'The value of the **DataDisk.N.Size** parameter must be greater than or equal to the size of the snapshot that is specified by the **SnapshotId** parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - 'Device' => [ - 'description' => 'The mount target of data disk *N*. Valid values of *N*: 1 to 16. If you do not specify this parameter, the system automatically assigns a mount target when you create the ECS instance. The name of the mount target ranges from /dev/xvdb to /dev/xvdz.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/dev/xvdb', - ], - 'DiskName' => [ - 'description' => 'The name of data disk *N*. Valid values of *N*: 1 to 16. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (\\_), and hyphens (-). The name must start with a letter but cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_ssdData', - ], - 'Category' => [ - 'description' => 'The category of data disk *N*. Valid values of *N*: 1 to 16. Valid values:'."\n" - ."\n" - .'* cloud: basic disk. The **DeleteWithInstance** attribute of a basic disk that is created together with the instance is set to **true**.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* ephemeral_ssd: local standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" - .'* cloud_auto: ESSD AutoPL disk.'."\n" - ."\n" - .'You cannot specify the **DataDisk.N.Category** and `DataDisk.N.Categories.N` parameters at the same time. If you do not specify the **DataDisk.N.Category** and `DataDisk.N.Categories.N` parameters, the default value of **DataDisk.N.Category** is:'."\n" - ."\n" - .'* cloud_efficiency for I/O optimized instances.'."\n" - .'* cloud for non-I/O optimized instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_ssd', - ], - 'DeleteWithInstance' => [ - 'description' => 'Specifies whether to release data disk *N* when the instance to which data disk *N* is attached is released. Valid values of *N*: 1 to 16. Valid values:'."\n" - ."\n" - .'* true: releases data disk *N* when the instance is released.'."\n" - .'* false: retains data disk *N* when the instance is released.'."\n" - ."\n" - .'This parameter is available only for independent disks whose **DataDisk.N.Category** parameter is set to **cloud**, **cloud_efficiency**, **cloud_ssd**, **cloud_essd**, or **cloud_auto**. If you specify this parameter for other disks, an error is reported.'."\n" - ."\n" - .'Default value: true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'KMSKeyId' => [ - 'description' => 'The ID of the Key Management Service (KMS) key that is used to encrypt data disk *N*. Valid values of *N*: 1 to 16.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', - ], - 'ProvisionedIops' => [ - 'description' => 'The preconfigured input/output operations per second (IOPS) for data disk *N*.'."\n" - ."\n" - .'> IOPS measures the number of read and write operations that an Elastic Block Storage (EBS) device can process per second.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '100', - ], - 'BurstingEnabled' => [ - 'description' => 'Specifies whether to enable the burst feature for data disk *N*. Valid values:'."\n" - ."\n" - .'* true'."\n" - ."\n" - .'* false'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** This parameter is available only if you set the `DataDisk.Category` parameter to `cloud_auto`.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 16, - ], - ], - [ - 'name' => 'SpotPriceLimit', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The billing information of the preemptible instances.', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'PriceLimit' => [ - 'description' => 'The price limit of preemptible instance *N*. Valid values of *N*: 1 to 10. This parameter is available only if you set the **SpotStrategy **parameter to **SpotWithPriceLimit**.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.5', - ], - 'InstanceType' => [ - 'description' => 'The instance type of preemptible instance *N*. Valid values of *N*: 1 to 10. This parameter is available only if you set the **SpotStrategy** parameter to **SpotWithPriceLimit**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.g6.large', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], - ], - [ - 'name' => 'SecurityGroupIds', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The ID of security group *N* with which you want to associate the ECS instance. Valid values of *N* vary based on the maximum number of security groups with which the instance can be associated. For more information, see the "Security group limits" section in the [Limits](~~25412~~) topic.'."\n" - ."\n" - .'> You cannot specify the **SecurityGroupId** and **SecurityGroupIds.N** parameters at the same time.', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of security group *N* with which you want to associate the ECS instance. Valid values of *N* vary based on the maximum number of security groups with which the instance can be associated. For more information, see the "Security group limits" section in the [Limits](~~25412~~) topic.'."\n" - ."\n" - .'> You cannot specify the **SecurityGroupId** and **SecurityGroupIds.N** parameters at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sg-bp18kz60mefs****', - ], - 'required' => false, - 'example' => 'sg-bp18kz60mefs****', - 'maxItems' => 16, - ], - ], - [ - 'name' => 'InstancePatternInfo', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The intelligent configuration settings, which determines the range of instance types that meet the specified criteria.', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Cores' => [ - 'description' => 'The number of vCPUs that is specified for an instance type in intelligent configuration mode. This parameter is used to filter the available instance types that meet the specified criteria. For more information, see [Instance family](~~25378~~). Valid values of *N*: 1 to 10.'."\n" - ."\n" - .'Take note of the following items:'."\n" - ."\n" - .'* The **InstancePatternInfo.N** parameter is available only for scaling groups that reside in VPCs.'."\n" - .'* You must specify the **InstancePatternInfo.N**, **InstancePatternInfo.N.Cores**, and **InstancePatternInfo.N.Memory** parameters at the same time.'."\n" - .'* If you specify an instance type by using the **InstanceType** or **InstanceTypes.N **parameter, Auto Scaling preferentially uses the instance type that is specified by the **InstanceType** or **InstanceTypes.N** parameter for scale-out activities. If the specified instance type does not have sufficient inventory, Auto Scaling creates instances of the instance type that is specified by the **InstancePatternInfo.N **parameter based on the price in ascending order.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - 'InstanceFamilyLevel' => [ - 'description' => 'The instance family level in intelligent configuration mode. This parameter is used to filter available instance types that meet the specified criteria. Valid values:'."\n" - ."\n" - .'* EntryLevel: shared instance type. Instances of this level are the most cost-effective but may not provide stable computing performance in a consistent manner. Instances of this level are suitable for business scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" - .'* EnterpriseLevel: Instances of this level provide stable performance and dedicated resources, and are suitable for business scenarios that require high stability. For more information, see [Instance family](~~25378~~).'."\n" - .'* CreditEntryLevel: This value is valid only for burstable instances. CPU credits are used to ensure computing performance. Instances of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [What are burstable instances?](~~59977~~)'."\n" - ."\n" - .'Valid values of *N*: 1 to 10.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'EnterpriseLevel', - ], - 'MaxPrice' => [ - 'description' => 'The maximum hourly price for a pay-as-you-go instance or a preemptible instance in intelligent configuration mode. This parameter is used to filter the available instance types that meet the specified criteria. Valid values of *N*: 1 to 10.'."\n" - ."\n" - .'> If you set the **SpotStrategy** parameter to **SpotWithPriceLimit**, you must specify this parameter. Otherwise, you do not need to specify this parameter.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '2', - ], - 'Memory' => [ - 'description' => 'The memory size that is specified for an instance type in intelligent configuration mode. Unit: GiB. This parameter is used to filter the available instance types that meet the specified criteria. For more information, see [Instance family](~~25378~~). Valid values of *N*: 1 to 10.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '4', - ], - 'ExcludedInstanceType' => [ - 'description' => 'Instance type *N* that you want to exclude. You can use wildcard characters such as an asterisk (\\*) to exclude a single instance type or an instance family. Examples:'."\n" - ."\n" - .'* ecs.c6.large: The ecs.c6.large instance type is excluded.'."\n" - .'* ecs.c6.\\*: The c6 instance family is excluded.', - 'type' => 'array', - 'items' => [ - 'description' => 'Instance type *N* that you want to exclude. You can use wildcard characters such as an asterisk (\\*) to exclude a single instance type or an instance family. Examples:'."\n" - ."\n" - .'* ecs.c6.large: The ecs.c6.large instance type is excluded.'."\n" - .'* ecs.c6.\\*: The c6 instance family is excluded.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.n1.small/ecs.n1.*/*7*', - ], - 'required' => false, - 'maxItems' => 100, - ], - 'Architecture' => [ - 'description' => 'Architecture *N* of the instance type. Valid values:'."\n" - ."\n" - .'* X86: x86 architecture.'."\n" - .'* Heterogeneous: heterogeneous architecture, such as GPUs or FPGAs.'."\n" - .'* BareMetal: ECS Bare Metal Instance.'."\n" - .'* Arm: ARM architecture.'."\n" - .'* SuperComputeCluster: Super Computing Cluster architecture.'."\n" - ."\n" - .'By default, all values are selected.', - 'type' => 'array', - 'items' => [ - 'description' => 'Architecture *N* of the instance type. Valid values:'."\n" - ."\n" - .'* X86: x86 architecture.'."\n" - .'* Heterogeneous: heterogeneous architecture, such as GPUs or FPGAs.'."\n" - .'* BareMetal: ECS Bare Metal Instance.'."\n" - .'* Arm: ARM architecture.'."\n" - .'* SuperComputeCluster: Super Computing Cluster architecture.'."\n" - ."\n" - .'By default, all values are selected.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'X86', - ], - 'required' => false, - 'maxItems' => 10, - ], - 'BurstablePerformance' => [ - 'description' => 'Specifies whether to include burstable instance types. Valid values:'."\n" - ."\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', - ], - 'InstanceTypeFamilies' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - 'minItems' => 0, - ], - 'MinimumCpuCoreCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MaximumCpuCoreCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'GpuSpecs' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - 'minItems' => 0, - ], - 'InstanceCategories' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - 'minItems' => 0, - ], - 'CpuArchitectures' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - 'minItems' => 0, - ], - 'PhysicalProcessorModels' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - 'minItems' => 0, - ], - 'MinimumEniQuantity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumEniPrivateIpAddressQuantity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumEniIpv6AddressQuantity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumInitialCredit' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumBaselineCredit' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumMemorySize' => [ - 'type' => 'number', - 'format' => 'float', - ], - 'MaximumMemorySize' => [ - 'type' => 'number', - 'format' => 'float', - ], - 'MinimumGpuAmount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MaximumGpuAmount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 10, - ], - ], - [ - 'name' => 'SystemDiskCategories', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Category *N* of the system disk. Valid values of N: 1 to 4. You can specify up to four system disk categories in a scaling configuration. A smaller value of *N* specifies a higher priority. If Auto Scaling cannot create instances by using the system disk that has the highest priority, Auto Scaling creates instances by using the system disk that has the next highest priority. Valid values:'."\n" - ."\n" - .'* cloud: basic disk.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" - ."\n" - .'> You cannot specify the **SystemDiskCategories.N** and `SystemDisk.Category` parameters at the same time.', - 'type' => 'array', - 'items' => [ - 'description' => 'Category *N* of the system disk. Valid values of N: 1 to 4. You can specify up to four system disk categories in a scaling configuration. A smaller value of *N* specifies a higher priority. If Auto Scaling cannot create instances by using the system disk that has the highest priority, Auto Scaling creates instances by using the system disk that has the next highest priority. Valid values:'."\n" - ."\n" - .'* cloud: basic disk.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" - ."\n" - .'> You cannot specify the **SystemDiskCategories.N** and `SystemDisk.Category` parameters at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud', - ], - 'required' => false, - 'example' => 'cloud', - 'maxItems' => 10, - ], - ], - [ - 'name' => 'SystemDisk.Encrypted', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to encrypt the system disk. Valid values:'."\n" - ."\n" - .'* true: encrypts the system disk.'."\n" - .'* false: does not encrypt the system disk.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'SystemDisk.KMSKeyId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the KMS key that is used to encrypt the system disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', - ], - ], - [ - 'name' => 'SystemDisk.EncryptAlgorithm', - 'in' => 'query', - 'schema' => [ - 'description' => 'The algorithm that is used to encrypt the system disk. Valid values:'."\n" - ."\n" - .'* AES-256'."\n" - .'* SM4-128'."\n" - ."\n" - .'Default value: AES-256.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AES-256', - ], - ], - [ - 'name' => 'SystemDisk.ProvisionedIops', - 'in' => 'query', - 'schema' => [ - 'description' => 'The preconfigured IOPS for the system disk.'."\n" - ."\n" - .'> IOPS measures the number of read and write operations that an EBS device can process per second.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '100', - ], - ], - [ - 'name' => 'SystemDisk.BurstingEnabled', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the burst feature for the system disk. Valid values:'."\n" - ."\n" - .'* true'."\n" - ."\n" - .'* false'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** This parameter is available only if you set the `SystemDisk.Category` parameter to `cloud_auto`.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'ImageOptions.LoginAsNonRoot', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - 'description' => 'For more information about whether an ECS instance uses the ecs-user user user to log on to an ECS instance, see Manage the login name of an ECS instance. Value range:'."\n" - ."\n" - .'- true: Yes.'."\n" - .'- false: No.'."\n" - ."\n" - .'Default value: false.', - 'example' => 'false', - ], - ], - [ - 'name' => 'DeletionProtection', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], - ], - [ - 'name' => 'StorageSetId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'StorageSetPartitionNumber', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - [ - 'name' => 'CustomPriorities', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'type' => 'string', - ], - 'VswitchId' => [ - 'type' => 'string', - ], - ], - ], - 'maxItems' => 100, - ], - ], - [ - 'name' => 'NetworkInterfaces', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'type' => 'string', - ], - 'NetworkInterfaceTrafficMode' => [ - 'type' => 'string', - ], - 'Ipv6AddressCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'SecurityGroupIds' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - ], - 'SecondaryPrivateIpAddressCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - 'maxItems' => 10, - ], - ], - [ - 'name' => 'DedicatedHostClusterId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'SecurityOptions', - 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'ConfidentialComputingMode' => [ - 'type' => 'string', - ], - ], - ], - ], - [ - 'name' => 'HttpEndpoint', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'HttpTokens', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'ResourcePoolOptions', - 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Strategy' => [ - 'type' => 'string', - ], - 'PrivatePoolIds' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'ScalingConfigurationId' => [ - 'description' => 'The ID of the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'asc-bp1ffogfdauy0nu5****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingConfigurationId\\": \\"asc-bp1ffogfdauy0nu5****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n asc-bp1ffogfdauy0nu5****\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'CreateScalingConfiguration', - 'description' => '## Description'."\n" - ."\n" - .'Auto Scaling automatically scales out Elastic Compute Service (ECS) instances based on a scaling configuration. ECS instances can be configured in the following modes:'."\n" - ."\n" - .'* InstancePatternInfo.N: intelligent configuration mode. In this mode, you need to only specify the number of vCPUs, memory size, instance family, and maximum price. The system selects an instance type that is provided at the lowest price based on your configurations to create ECS instances. This mode is available only for scaling groups that reside in virtual private clouds (VPCs). This mode helps reduce the failures of scale-out activities caused by insufficient inventory of instance types.'."\n" - .'* InstanceType: In this mode, you must specify an instance type.'."\n" - .'* InstanceTypes.N: In this mode, you must specify multiple instance types.'."\n" - .'* InstanceTypeOverride.N: In this mode, you must specify multiple instance types and specify weights for the instance types.'."\n" - .'* Cpu and Memory: In this mode, you must specify the number of vCPUs and the memory size. Auto Scaling determines a set of available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling preferentially creates ECS instances of the instance type that is provided at the lowest price. This mode is available only if the **Scaling Policy** parameter is set to** Cost Optimization Policy** and no instance type is specified in the scaling configuration.'."\n" - ."\n" - .'> You cannot use InstanceType, InstanceTypes.N, InstanceTypeOverride.N, and Cpu and Memory at the same time. You can use InstanceType and InstancePatternInfo.N or use InstanceTypes.N and InstancePatternInfo.N at the same time. If you use InstanceType and InstancePatternInfo.N or use InstanceTypes.N and InstancePatternInfo.N at the same time, Auto Scaling preferentially uses the instance types that are specified by InstanceType or InstanceTypes.N for scale-out activities. If the instance types that are specified by InstanceType or InstanceTypes.N do not have sufficient inventory, Auto Scaling uses the instance types that are specified by InstancePatternInfo.N for scale-out activities.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DeleteScalingConfiguration' => [ - 'summary' => '删除一个ECS类型伸缩配置', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '92666', - 'abilityTreeNodes' => [ - 'FEATUREessTZHE2G', - ], - ], - 'parameters' => [ - [ - 'name' => 'ScalingConfigurationId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling configuration to be deleted.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asc-bp1bx8mzur534edp****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request. This parameter is returned regardless of whether the operation is successful.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'For more information about whether an ECS instance uses the ecs-user user user to log on to an ECS i', - 'description' => '## Description'."\n" - ."\n" - .'The scaling configuration cannot be deleted in one of the following conditions:'."\n" - ."\n" - .'* The scaling configuration in the scaling group is in the Active state.'."\n" - .'* The scaling group contains ECS instances that were created based on the scaling configuration.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'ModifyScalingConfiguration' => [ - 'summary' => '修改伸缩配置', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92708', - 'abilityTreeNodes' => [ - 'FEATUREessT4M3WE', - ], - ], - 'parameters' => [ - [ - 'name' => 'ScalingConfigurationId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling configuration that you want to modify.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asc-bp16har3jpj6fjbx****', - ], - ], - [ - 'name' => 'IoOptimized', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether the instance is an I/O optimized instance. Valid values:'."\n" - ."\n" - .'* none: The instance is a non-I/O optimized instance.'."\n" - .'* optimized: The instance is an I/O optimized instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'none', - ], - ], - [ - 'name' => 'SpotStrategy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The preemption policy that you want to apply to pay-as-you-go instances and preemptible instances. Valid values:'."\n" - ."\n" - .'* NoSpot: The instance is created as a pay-as-you-go instance.'."\n" - .'* SpotWithPriceLimit: The instance is created as a preemptible instance with a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instance is a preemptible instance for which the market price at the time of purchase is used as the bid price.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NoSpot', - ], - ], - [ - 'name' => 'ScalingConfigurationName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the scaling configuration. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter or a digit.'."\n" - ."\n" - .'The name of the scaling configuration must be unique within a scaling group in a region. If you do not specify this parameter, the value of the ScalingConfigurationId parameter is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-modify', - ], - ], - [ - 'name' => 'InstanceName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Elastic Compute Service (ECS) instance that is created by Auto Scaling based on the scaling configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'inst****', - ], - ], - [ - '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 also cannot contain consecutive periods (.) or hyphens (-). Naming conventions:'."\n" - ."\n" - .'* Windows instances: The hostname must be 2 to 15 characters in length, and can contain letters, digits, and hyphens (-). The hostname cannot contain periods (.) or contain only digits.'."\n" - .'* Other instances such as Linux instances: The hostname must be 2 to 64 characters in length. You can use periods (.) to separate a hostname into multiple segments. Each segment can contain letters, digits, and hyphens (-).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hos****', - ], - ], - [ - 'name' => 'ImageId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image that is used by Auto Scaling to create instances.'."\n" - ."\n" - .'> If the image that is specified in the scaling configuration contains a system disk and data disks, the data that is stored in the data disks is cleared after you modify the image.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'centos6u5_64_20G_aliaegis_2014****.vhd', - ], - ], - [ - 'name' => 'ImageName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the image. The name must be unique in a region. If you specify the ImageId parameter, the ImageName parameter is ignored.'."\n" - ."\n" - .'You cannot use the ImageName parameter to specify images that are purchased 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 the Cpu and Memory parameters, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling preferentially creates instances of the instance type that is provided at the lowest price.'."\n" - ."\n" - .'> You can specify CPU and memory specifications to determine the range of instance types only if the Scaling Policy parameter is set to Cost Optimization Policy and no instance type is specified in the scaling configuration.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - ], - [ - 'name' => 'Memory', - 'in' => 'query', - 'schema' => [ - 'description' => 'The memory size.'."\n" - ."\n" - .'You can specify the number of vCPUs and the memory size to determine the range of instance types. For example, you can set Cpu to 2 and Memory to 16 to specify instance types that have 2 vCPUs and 16 GiB of memory. If you specify the Cpu and Memory parameters, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling preferentially creates instances of the instance type that is provided at the lowest price.'."\n" - ."\n" - .'> You can specify CPU and memory specifications to determine the range of instance types only if the Scaling Policy parameter is set to Cost Optimization Policy and no instance type is specified in the scaling configuration.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '16', - ], - ], - [ - 'name' => 'InternetChargeType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The billing method for network usage. Valid values:'."\n" - ."\n" - .'* PayByBandwidth: You are charged for the maximum available bandwidth that is specified by the InternetMaxBandwidthOut parameter.'."\n" - .'* PayByTraffic: You are charged for the actual traffic that is used. The InternetMaxBandwidthOut parameter 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.'."\n" - ."\n" - .'* If you set the InternetChargeType parameter to PayByBandwidth and you leave this parameter empty, this parameter is automatically set to 0.'."\n" - .'* If you set the InternetChargeType parameter to PayByTraffic and you leave this parameter empty, an error is reported.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], - ], - [ - '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: enhanced SSD (ESSD)'."\n" - .'* ephemeral_ssd: local standard SSD'."\n" - .'* cloud_auto: ESSD AutoPL disk'."\n" - ."\n" - .'You cannot specify the SystemDisk.Category and `SystemDiskCategories.N` parameters at the same time. If you do not specify the SystemDisk.Category or `SystemDiskCategories.N` parameters, the default value of the SystemDisk.Category parameter is used. The default value of this parameter for non-I/O optimized instances of Generation I instance types is cloud. The default value of this parameter for instances of other types is cloud_efficiency.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_efficiency', - ], - ], - [ - 'name' => 'SystemDisk.Size', - 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the system disk. Unit: GiB.'."\n" - ."\n" - .'* Valid values if you set the SystemDisk.Category parameter to cloud: 20 to 500.'."\n" - .'* Valid values if you set the SystemDisk.Category parameter to cloud_efficiency: 20 to 500'."\n" - .'* Valid values if you set the SystemDisk.Category parameter to cloud_ssd: 20 to 500'."\n" - .'* Valid values if you set the SystemDisk.Category parameter to cloud_essd: 20 to 500'."\n" - .'* Valid values if you set the SystemDisk.Category parameter to cloud_essd: 20 to 500'."\n" - ."\n" - .'The value of the SystemDisk.Size parameter must be greater than or equal to max{20, ImageSize}.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], - ], - [ - 'name' => 'SystemDisk.DiskName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the system disk. The name must be 2 to 128 characters in length, and can contain letters, digits, colons (:), underscores (\\_), and hyphens (-). The name must start with a letter but cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_ssdSystem', - ], - ], - [ - '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 of the ESSD category. Valid values:'."\n" - ."\n" - .'* PL0: An ESSD can deliver up to 10,000 random read/write IOPS.'."\n" - .'* PL1: An ESSD can deliver up to 50,000 random read/write IOPS.'."\n" - .'* PL2: An ESSD can deliver up to 100,000 random read/write IOPS.'."\n" - .'* PL3: An ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n" - ."\n" - .'> For more information about how to select ESSD PLs, see [ESSDs](~~122389~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PL0', - ], - ], - [ - 'name' => 'LoadBalancerWeight', - 'in' => 'query', - 'schema' => [ - 'description' => 'The weight of the ECS instance as a backend server. Valid values: 1 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], - ], - [ - 'name' => 'UserData', - 'in' => 'query', - 'schema' => [ - 'description' => 'The user data of the ECS instance. The data must be encoded in Base64. The maximum size of the data before encoding is 16 KB.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'echo hello ecs!', - ], - ], - [ - 'name' => 'KeyPairName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the key pair that is used to log on to an ECS instance.'."\n" - ."\n" - .'* Windows instances do not use this parameter.'."\n" - .'* By default, the username and password authentication method is disabled for Linux instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'KeyPair_Name', - ], - ], - [ - 'name' => 'RamRoleName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the RAM role that is associated with the ECS instance. The name is provided and maintained by Resource Access Management (RAM). You can call the [ListRoles](~~28713~~) operation to query the available RAM roles. For more information about how to create a RAM role, see [CreateRole](~~28710~~).'."\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 for the image.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'Tags', - 'in' => 'query', - 'schema' => [ - 'description' => 'The tags of the ECS instance. The tags must be specified in the key-value format. You can specify up to 20 tags. The following rules apply to tag keys and tag values:'."\n" - ."\n" - .'* A tag key can be up to 64 characters in length. The key cannot start with `acs:` or `aliyun`, and cannot contain `http://` or `https://`. You cannot specify an empty string as a tag key.'."\n" - .'* A tag value can be up to 128 characters in length. The value cannot start with `acs:` or `aliyun`, and cannot contain `http://` or `https://`. You can specify an empty string as a tag value.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"key1":"value1","key2":"value2", ... "key5":"value5"}', - ], - ], - [ - 'name' => 'DeploymentSetId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the deployment set to which the ECS instance belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ds-bp13v7bjnj9gis****', - ], - ], - [ - 'name' => 'SecurityGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group with which the ECS instance is associated. ECS instances that are associated with the same security group can access each other.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sg-F876F****', - ], - ], - [ - '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 instance belongs.'."\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 instance belongs.'."\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 the burstable instance. Valid values:'."\n" - ."\n" - .'* Standard: standard mode. For more information, see the "Standard mode" section in the [Overview](~~59977~~) topic of burstable instances.'."\n" - .'* Unlimited: unlimited mode. For more information, see the "Unlimited mode" section in the [Overview](~~59977~~) topic of burstable instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Standard', - ], - ], - [ - 'name' => 'ImageFamily', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the image family. You can specify this parameter to obtain the latest custom images that are available in the specified image family. You can use the images to create instances. If you specify the ImageId parameter, you cannot specify the ImageFamily parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hangzhou-daily-update', - ], - ], - [ - 'name' => 'ZoneId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The zone ID of the ECS instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-g', - ], - ], - [ - 'name' => 'DedicatedHostId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the dedicated host on which you want to create the ECS instance. Preemptible instances cannot be created on dedicated hosts. If you specify the DedicatedHostId parameter, the SpotStrategy and SpotPriceLimit parameters are ignored.'."\n" - ."\n" - .'You can call the [DescribeDedicatedHosts](~~134242~~) operation to query dedicated host IDs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'dh-bp67acfmxazb4p****', - ], - ], - [ - 'name' => 'Affinity', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to associate an instance on a dedicated host with the dedicated host. Valid values:'."\n" - ."\n" - .'* default: does not associate the instance with the dedicated host. If you start an instance that was stopped in economical mode and the original dedicated host of the instance has insufficient resources, the instance is automatically deployed to another dedicated host in the automatic deployment resource pool.'."\n" - .'* host: associates the instance with the dedicated host. If you start an instance that was stopped in economical mode, the instance remains on the original dedicated host. If the original dedicated host has insufficient resources, the instance cannot be started.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], - ], - [ - 'name' => 'Tenancy', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to create the instance on a dedicated host. Valid values:'."\n" - ."\n" - .'* default: does not create the instance on a dedicated host.'."\n" - .'* host: creates the instance on a dedicated host. If you do not specify the DedicatedHostId parameter, the system selects a dedicated host for the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], - ], - [ - 'name' => 'SchedulerOptions', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The options of the scheduler.'."\n", - 'type' => 'object', - 'required' => false, - 'example' => '["testManagedPrivateSpaceId****"]', - ], - ], - [ - 'name' => 'PrivatePoolOptions.MatchCriteria', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the private pool. A private pool is generated after an elasticity assurance or a capacity reservation takes effect. You can select the private pool when you start an instance. Valid values:'."\n" - ."\n" - .'* Open: open private pool. The system selects a matching open private pool to start the instance. If no matching open private pools are found, the resources in the public pool are used. In this case, you do not need to specify the PrivatePoolOptions.Id parameter.'."\n" - .'* Target: specified private pool. The resources in the specified private pool are used to start the instance. If the specified private pool is unavailable, the instance cannot be started. If you set this parameter to Target, you must specify the PrivatePoolOptions.Id parameter.'."\n" - .'* None: no private pool. The resources in private pools are not used to start the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Open', - ], - ], - [ - 'name' => 'PrivatePoolOptions.Id', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the private pool. The ID of a private pool is the same as the ID of the elasticity assurance or capacity reservation for which the private pool is generated.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'eap-bp67acfmxazb4****', - ], - ], - [ - 'name' => 'SpotDuration', - 'in' => 'query', - 'schema' => [ - 'description' => 'The retention period of the preemptible instance. Unit: hours. Valid values: 0, 1, 2, 3, 4, 5, and 6.'."\n" - ."\n" - .'* The following retention periods are available in invitational preview: 2, 3, 4, 5, and 6 hours. If you want to set this parameter to one of these values, submit a ticket.'."\n" - .'* If you set this parameter to 0, no retention period is specified for the preemptible instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'SpotInterruptionBehavior', - 'in' => 'query', - 'schema' => [ - 'description' => 'The interruption mode of the preemptible instance. Default value: Terminate. Set the value to Terminate, which specifies that the preemptible instance is to be released.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Terminate', - ], - ], - [ - 'name' => 'DataDisk', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The data disks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'PerformanceLevel' => [ - 'description' => 'The PL of data disk N that is of the ESSD category. If you set the DataDisk.N.Category parameter to cloud_essd, the N value must be the same as the N value in DataDisk.N.Category. Valid values:'."\n" - ."\n" - .'* PL0: An ESSD can deliver up to 10,000 random read/write IOPS.'."\n" - .'* PL1: An ESSD can deliver up to 50,000 random read/write IOPS.'."\n" - .'* PL2: An ESSD can deliver up to 100,000 random read/write IOPS.'."\n" - .'* PL3: An ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n" - ."\n" - .'> For more information about how to select ESSD PLs, see [ESSDs](~~122389~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PL1', - ], - 'AutoSnapshotPolicyId' => [ - 'description' => 'The ID of the automatic snapshot policy that you want to apply to data disk N. Valid values of N: 1 to 16.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sp-bp19nq9enxqkomib****', - ], - 'Encrypted' => [ - 'description' => 'Specifies whether to encrypt data disk N. Valid values of N: 1 to 16. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'false', - ], - 'Description' => [ - 'description' => 'The description of data disk N. Valid values of N: 1 to 16. The description must be 2 to 256 characters in length. The description can contain letters but cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test data disk.', - ], - 'SnapshotId' => [ - 'description' => 'The ID of the snapshot that you want to use to create data disk N. Valid values of N: 1 to 16. If you specify this parameter, the DataDisk.N.Size parameter is ignored. The size of the disk is the same as the size of the specified snapshot.'."\n" - ."\n" - .'If you specify a snapshot created on or before July 15, 2013, the operation fails and the system returns InvalidSnapshot.TooOld.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 's-snapshot****', - ], - 'Categories' => [ - 'description' => 'Category N of data disk N. The first N in DataDisk.N.Categories.N represents the serial number of the data disk. Valid values of N: 1 to 16. The second N in DataDisk.N.Categories.N represents the serial number of the category of data disk N. Valid values of N: 1 to 4. You can specify up to four data disk categories in a scaling configuration. A smaller value of N specifies a higher priority. If Auto Scaling cannot create instances by using the disk that has the highest priority, Auto Scaling creates instances by using the disk that has the next highest priority. Valid values:'."\n" - ."\n" - .'* cloud: basic disk. The DeleteWithInstance attribute of a basic disk that is created together with the instance is set to true.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" - ."\n" - .'> You cannot specify the DataDisk.N.Categories.N and `DataDisk.N.Category` parameters at the same time.', - 'type' => 'array', - 'items' => [ - 'description' => 'Category N of data disk N. The first N in DataDisk.N.Categories.N represents the serial number of the data disk. Valid values of N: 1 to 16. The second N in DataDisk.N.Categories.N represents the serial number of the category of data disk N. Valid values of N: 1 to 4. You can specify up to four data disk categories in a scaling configuration. A smaller value of N specifies a higher priority. If Auto Scaling cannot create instances by using the disk that has the highest priority, Auto Scaling creates instances by using the disk that has the next highest priority. Valid values:'."\n" - ."\n" - .'* cloud: basic disk. The DeleteWithInstance attribute of a basic disk that is created together with the instance is set to true.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" - ."\n" - .'> You cannot specify the DataDisk.N.Categories.N and `DataDisk.N.Category` parameters at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud', - ], - 'required' => false, - 'example' => 'cloud', - 'maxItems' => 10, - ], - 'Size' => [ - 'description' => 'The size of data disk N. Unit: GiB. Valid values of N: 1 to 16.'."\n" - ."\n" - .'* Valid values if you set the DataDisk.N.Category parameter to cloud: 5 to 2000.'."\n" - .'* Valid values if you set the DataDisk.N.Category parameter to cloud_efficiency: 20 to 32768.'."\n" - .'* Valid values if you set the DataDisk.N.Category parameter to cloud_essd: 20 to 32768.'."\n" - .'* Valid values if you set the DataDisk.N.Category parameter to ephemeral_ssd: 5 to 800.'."\n" - ."\n" - .'The value of the DataDisk.N.Size parameter must be greater than or equal to the size of the snapshot that is specified by the SnapshotId parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - 'Device' => [ - 'description' => 'The mount target of data disk N. Valid values of N: 1 to 16. If you do not specify this parameter, the system automatically assigns a mount target when Auto Scaling creates ECS instances. The name of the mount target ranges from /dev/xvdb to /dev/xvdz.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/dev/xvdb', - ], - 'DiskName' => [ - 'description' => 'The name of data disk N. Valid values of N: 1 to 16. The name must be 2 to 128 characters in length, and can contain letters, digits, colons (:), underscores (\\_), and hyphens (-). The name must start with a letter but cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_ssdData', - ], - 'Category' => [ - 'description' => 'The category of data disk N. Valid values of N: 1 to 16. Valid values:'."\n" - ."\n" - .'* cloud: basic disk. The DeleteWithInstance attribute of a basic disk that is created together with the instance is set to true.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" - .'* ephemeral_ssd: local standard SSD.'."\n" - .'* cloud_auto: ESSD AutoPL disk.'."\n" - ."\n" - .'You cannot specify the DataDisk.N.Category and `DataDisk.N.Categories.N` parameters at the same time. If you do not specify the DataDisk.N.Category or `DataDisk.N.Categories.N` parameters, the default value of the DataDisk.N.Category parameter is used.'."\n" - ."\n" - .'* The default value is cloud_efficiency for I/O optimized instances.'."\n" - .'* The default value is cloud for non-I/O optimized instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_ssd', - ], - 'DeleteWithInstance' => [ - 'description' => 'Specifies whether to release data disk N when the instance to which data disk N is attached is released. Valid values of N: 1 to 16. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'This parameter is available only for independent disks whose DataDisk.N.Category parameter is set to cloud, cloud_efficiency, cloud_ssd, or cloud_essd. If you specify this parameter for disks of other categories, an error is reported.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'KMSKeyId' => [ - 'description' => 'The ID of the Key Management Service (KMS) key that is used to encrypt data disk N. Valid values of N: 1 to 16.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', - ], - 'ProvisionedIops' => [ - 'description' => 'The preconfigured input/output operations per second (IOPS) for data disk N.'."\n" - ."\n" - .'> IOPS measures the number of read and write operations that an Elastic Block Storage (EBS) device can process per second.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '100', - ], - 'BurstingEnabled' => [ - 'description' => 'Specifies whether to enable the burst feature for data disk N. Valid values:'."\n" - ."\n" - .'* true'."\n" - ."\n" - .'* false'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** This parameter is available only if you set the `DataDisk.Category` parameter to `cloud_auto`.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 16, - ], - ], - [ - 'name' => 'SpotPriceLimit', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The maximum hourly price of the preemptible elastic container instance. The value can be accurate to three decimal places.'."\n" - ."\n" - .'If you set the SpotStrategy parameter to SpotWithPriceLimit, you must also specify the SpotPriceLimit parameter.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'PriceLimit' => [ - 'description' => 'The price limit of preemptible instance N. Valid values of N: 1 to 10. This parameter is available only if you set the SpotStrategy parameter to SpotWithPriceLimit.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.125', - ], - 'InstanceType' => [ - 'description' => 'The instance type of preemptible instance N. Valid values of N: 1 to 10. This parameter is available only if you set the SpotStrategy parameter to SpotWithPriceLimit.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.g6.large', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], - ], - [ - 'name' => 'InstanceTypes', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Instance type N. If you specify this parameter, the InstanceType parameter is ignored. Valid values of N: 1 to 10.'."\n" - ."\n" - .'The first instance type has the highest priority. The priority decreases based on the specified orders of the instance types. Auto Scaling creates instances based on the priorities of instance types. If Auto Scaling cannot create instances of the instance type that has the highest priority, Auto Scaling creates instances of the instance type that has the next highest priority.', - 'type' => 'array', - 'items' => [ - 'description' => 'Instance type N. If you specify this parameter, the InstanceType parameter is ignored. Valid values of N: 1 to 10.'."\n" - ."\n" - .'The first instance type has the highest priority. The priority decreases based on the specified orders of the instance types. Auto Scaling creates instances based on the priorities of instance types. If Auto Scaling cannot create instances of the instance type that has the highest priority, Auto Scaling creates instances of the instance type that has the next highest priority.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.g6.large', - ], - 'required' => false, - 'example' => 'ecs.g6.large', - 'maxItems' => 20, - ], - ], - [ - 'name' => 'InstanceTypeOverride', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The instance type overrides.', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => 'Instance type N that you want to use to override the instance type that is specified in the launch template. If you want to specify the weighted capacity of instance type N in the scaling configuration, you must specify the InstanceTypeOverride.N.InstanceType parameter and the InstanceTypeOverride.N.WeightedCapacity parameter at the same time.'."\n" - ."\n" - .'The InstanceTypeOverride.N.InstanceType parameter specifies instance type N, and the InstanceTypeOverride.N.WeightedCapacity parameter specifies the weighted capacity of the specified instance type in the scaling configuration. Valid values of N: 1 to 10.'."\n" - ."\n" - .'> You cannot specify the InstanceTypeOverride.N.InstanceType and InstanceTypes parameters at the same time.'."\n" - ."\n" - .'For information about valid values of InstanceType in InstanceTypeOverride.N.InstanceType, see [Instance families](~~25378~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c5.xlarge', - ], - 'WeightedCapacity' => [ - 'description' => 'The weight of instance type N. If you want to specify the weighted capacity of instance type N in the scaling configuration, you must specify the InstanceTypeOverride.N.InstanceType parameter and the InstanceTypeOverride.N.WeightedCapacity parameter at the same time. The value of N in the two parameters must be the same.'."\n" - ."\n" - .'The weight specifies the capacity of an instance of instance type N in the scaling group. A higher weight specifies that a smaller number of instances of the specified instance type are required to meet the expected capacity requirement.'."\n" - ."\n" - .'Performance metrics, such as the number of vCPUs and the memory size of each instance type, may vary. You can specify different weights for different instance types based on your business requirements.'."\n" - ."\n" - .'Example:'."\n" - ."\n" - .'* Current capacity: 0'."\n" - .'* Expected capacity: 6'."\n" - .'* Capacity of ecs.c5.xlarge: 4'."\n" - ."\n" - .'To meet the expected capacity requirement, Auto Scaling must create two ecs.c5.xlarge instances.'."\n" - ."\n" - .'> The capacity of the scaling group cannot exceed the sum of the maximum number of instances that is specified by the MaxSize parameter and the maximum weight of the instance types.'."\n" - ."\n" - .'Valid values of WeightedCapacity in the InstanceTypeOverride.N.WeightedCapacity parameter: 1 to 500.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], - ], - [ - 'name' => 'SecurityGroupIds', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the security groups.', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sg-bp18kz60mefs****', - ], - 'required' => false, - 'example' => 'sg-bp18kz60mefs****', - 'maxItems' => 16, - ], - ], - [ - 'name' => 'InstancePatternInfo', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Details of the intelligent configuration settings, which determines the range of instance types that meet the specified criteria.', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Cores' => [ - 'description' => 'The number of vCPUs that is provided for instance type N in intelligent configuration mode. This parameter is used to filter the available instance types that meet the specified criteria. For more information, see [Overview of instance families](~~25378~~). Valid values of N: 1 to 10'."\n" - ."\n" - .'Take note of the following items:'."\n" - ."\n" - .'* The InstancePatternInfo.N parameter is available only for scaling groups that reside in virtual private clouds (VPCs).'."\n" - .'* You must specify the InstancePatternInfo.N, InstancePatternInfo.N.Cores, and InstancePatternInfo.N.Memory parameters at the same time.'."\n" - .'* If you specify an instance type by using the InstanceType or InstanceTypes.N parameter, Auto Scaling preferentially uses the instance type that is specified by the InstanceType or InstanceTypes.N parameter for scale-out activities. If the specified instance type does not have sufficient inventory, Auto Scaling creates instances of the instance type that is specified by the InstancePatternInfo.N parameter and provided at the lowest price.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - 'InstanceFamilyLevel' => [ - 'description' => 'The instance family level in intelligent configuration mode. This parameter is used to filter available instance types that meet the specified criteria. Valid values:'."\n" - ."\n" - .'* EntryLevel: shared instance type. Instances of this level are cost-effective, but do not provide stable computing performance. Instances of this level are suitable for scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" - .'* EnterpriseLevel: Instances of this level provide stable performance and dedicated resources, and are suitable for business scenarios that require high stability. For more information, see [Overview of instance families](~~25378~~).'."\n" - .'* CreditEntryLevel: This value is available only for burstable instances. CPU credits are used to ensure computing performance. This level is suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview](~~59977~~) of burstable instances'."\n" - ."\n" - .'Valid values of N: 1 to 10'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'EnterpriseLevel', - ], - 'MaxPrice' => [ - 'description' => 'The maximum hourly price for a pay-as-you-go instance or a preemptible instance in intelligent configuration mode. This parameter is used to filter the available instance types that meet the specified criteria. Valid values of N: 1 to 10'."\n" - ."\n" - .'> If you set the SpotStrategy parameter to SpotWithPriceLimit, you must specify this parameter. In other cases, you do not need to specify this parameter.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '2', - ], - 'Memory' => [ - 'description' => 'The memory size that is provided for instance type N in intelligent configuration mode. Unit: GiB. This parameter is used to filter the available instance types that meet the specified criteria. For more information, see [Overview of instance families](~~25378~~). Valid values of N: 1 to 10'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '4', - ], - 'Architecture' => [ - 'description' => 'Architecture N of instance type N. Valid values:'."\n" - ."\n" - .'* X86: x86 architecture.'."\n" - .'* Heterogeneous: heterogeneous architecture, such as GPUs and FPGAs.'."\n" - .'* BareMetal: ECS Bare Metal Instance architecture.'."\n" - .'* Arm: ARM architecture.'."\n" - .'* SuperComputeCluster: Super Computing Cluster architecture.'."\n" - ."\n" - .'By default, all values are included.', - 'type' => 'array', - 'items' => [ - 'description' => 'Architecture N of instance type N. Valid values:'."\n" - ."\n" - .'* X86: x86 architecture.'."\n" - .'* Heterogeneous: heterogeneous architecture, such as GPUs and FPGAs.'."\n" - .'* BareMetal: ECS Bare Metal Instance architecture.'."\n" - .'* Arm: ARM architecture.'."\n" - .'* SuperComputeCluster: Super Computing Cluster architecture.'."\n" - ."\n" - .'By default, all values are included.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'X86', - ], - 'required' => false, - 'maxItems' => 10, - ], - 'BurstablePerformance' => [ - 'description' => 'Specifies whether to include burstable instance types. Valid values:'."\n" - ."\n" - .'* Exclude: does not include burstable instance types.'."\n" - .'* Include: includes burstable instance types.'."\n" - .'* Required: includes only burstable instance types.'."\n" - ."\n" - .'Default value: Include.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Include', - ], - 'ExcludedInstanceType' => [ - 'description' => 'Instance type N that you want to exclude. You can use wildcard characters such as an asterisk (\\*) to exclude an instance type or an instance family. Examples:'."\n" - ."\n" - .'* ecs.c6.large: excludes the ecs.c6.large instance type'."\n" - .'* ecs.c6.\\*: excludes the c6 instance family.'."\n" - ."\n" - .'> Separate multiple instance types with forward slashes (/). Example: `ecs.n1.small/ecs.n1.*/*7*`.', - 'type' => 'array', - 'items' => [ - 'description' => 'Instance type N that you want to exclude. You can use wildcard characters such as an asterisk (\\*) to exclude an instance type or an instance family. Examples:'."\n" - ."\n" - .'* ecs.c6.large: excludes the ecs.c6.large instance type'."\n" - .'* ecs.c6.\\*: excludes the c6 instance family.'."\n" - ."\n" - .'> Separate multiple instance types with forward slashes (/). Example: `ecs.n1.small/ecs.n1.*/*7*`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.n1.small/ecs.n1.*/*7*', - ], - 'required' => false, - 'maxItems' => 100, - ], - 'InstanceTypeFamilies' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - 'minItems' => 0, - ], - 'MinimumCpuCoreCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MaximumCpuCoreCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'GpuSpecs' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - 'minItems' => 0, - ], - 'InstanceCategories' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - 'minItems' => 0, - ], - 'CpuArchitectures' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - 'minItems' => 0, - ], - 'PhysicalProcessorModels' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - 'minItems' => 0, - ], - 'MinimumEniQuantity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumEniPrivateIpAddressQuantity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumEniIpv6AddressQuantity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumInitialCredit' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumBaselineCredit' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumMemorySize' => [ - 'type' => 'number', - 'format' => 'float', - ], - 'MaximumMemorySize' => [ - 'type' => 'number', - 'format' => 'float', - ], - 'MinimumGpuAmount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MaximumGpuAmount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 10, - ], - ], - [ - 'name' => 'SystemDiskCategories', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Category N of the system disk. Valid values of N: 1 to 4. A smaller value of N indicates a higher priority. If Auto Scaling cannot create instances by using the disk that has the highest priority, Auto Scaling creates instances by using the disk that has the next highest priority. Valid values:'."\n" - ."\n" - .'* cloud: basic disk'."\n" - .'* cloud_efficiency: ultra disk'."\n" - .'* cloud_ssd: standard SSD'."\n" - .'* cloud_essd: ESSD'."\n" - ."\n" - .'> You cannot specify the SystemDiskCategories.N and `SystemDisk.Category` parameters at the same time.', - 'type' => 'array', - 'items' => [ - 'description' => 'Category N of the system disk. Valid values of N: 1 to 4. A smaller value of N indicates a higher priority. If Auto Scaling cannot create instances by using the disk that has the highest priority, Auto Scaling creates instances by using the disk that has the next highest priority. Valid values:'."\n" - ."\n" - .'* cloud: basic disk'."\n" - .'* cloud_efficiency: ultra disk'."\n" - .'* cloud_ssd: standard SSD'."\n" - .'* cloud_essd: ESSD'."\n" - ."\n" - .'> You cannot specify the SystemDiskCategories.N and `SystemDisk.Category` parameters at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud', - ], - 'required' => false, - 'example' => 'cloud', - 'maxItems' => 10, - ], - ], - [ - 'name' => 'Password', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - '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 is used 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 is used to encrypt the system disk. Valid values:'."\n" - ."\n" - .'* AES-256'."\n" - .'* SM4-128'."\n" - ."\n" - .'Default value: AES-256.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AES-256', - ], - ], - [ - 'name' => 'SystemDisk.ProvisionedIops', - 'in' => 'query', - 'schema' => [ - 'description' => 'The preconfigured IOPS for the system disk.'."\n" - ."\n" - .'> IOPS measures the number of read and write operations that an EBS device can process per second.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '100', - ], - ], - [ - 'name' => 'SystemDisk.BurstingEnabled', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the burst feature for the system disk. Valid values:'."\n" - ."\n" - .'* true'."\n" - ."\n" - .'* false'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** This parameter is available only if you set the `SystemDisk.Category` parameter to `cloud_auto`.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'ImageOptions.LoginAsNonRoot', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'description' => 'For more information about whether an ECS instance uses the ecs-user user user to log on to an ECS instance, see Manage the login name of an ECS instance. Value range:'."\n" - ."\n" - .'- true: Yes.'."\n" - .'- false: No.'."\n" - ."\n" - .'Default value: false.', - ], - ], - [ - 'name' => 'DeletionProtection', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], - ], - [ - 'name' => 'StorageSetId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'StorageSetPartitionNumber', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - [ - 'name' => 'CustomPriorities', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'type' => 'string', - ], - 'VswitchId' => [ - 'type' => 'string', - ], - ], - ], - 'maxItems' => 100, - ], - ], - [ - 'name' => 'NetworkInterfaces', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'type' => 'string', - ], - 'NetworkInterfaceTrafficMode' => [ - 'type' => 'string', - ], - 'Ipv6AddressCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'SecurityGroupIds' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - ], - 'SecondaryPrivateIpAddressCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - 'maxItems' => 10, - ], - ], - [ - 'name' => 'DedicatedHostClusterId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'SecurityOptions', - 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'ConfidentialComputingMode' => [ - 'type' => 'string', - ], - ], - ], - ], - [ - 'name' => 'HttpEndpoint', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'HttpTokens', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'InternetMaxBandwidthIn', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - [ - 'name' => 'ResourcePoolOptions', - 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Strategy' => [ - 'type' => 'string', - ], - 'PrivatePoolIds' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'ModifyScalingConfiguration', - 'description' => '## Description'."\n" - ."\n" - .'If you want to change the name of a scaling configuration in a scaling group, make sure that the new name is unique within the scaling group.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DescribeScalingConfigurations' => [ - 'summary' => '查询伸缩配置', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92682', - 'abilityTreeNodes' => [ - 'FEATUREessVYTHU5', - ], - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group whose scaling configurations you want to query.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-qingdao', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Pages start from page 1.'."\n" - ."\n" - .'Default value: 1'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Maximum value: 50.'."\n" - ."\n" - .'Default value: 10'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'example' => '50', - 'default' => '10', - ], - ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group. You can query all scaling configurations in the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp17pelvl720x3v7****', - ], - ], - [ - 'name' => 'ScalingConfigurationId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'ScalingConfigurationId', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of scaling configuration N that you want to query.'."\n" - ."\n" - .'The IDs of active and inactive scaling configurations are displayed in the query results. You can distinguish active and inactive scaling configurations based on the value of `LifecycleState`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asc-bp17pelvl720x5ub****', - ], - 'required' => false, - 'example' => 'asc-bp17pelvl720x5ub****', - 'maxItems' => 10, - ], - ], - [ - 'name' => 'ScalingConfigurationName', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The name of scaling configuration N that you want to query.'."\n" - ."\n" - .'The names of inactive scaling configurations are not displayed in the query results, and no error is reported.', - 'type' => 'array', - 'items' => [ - 'description' => 'The name of scaling configuration N that you want to query.'."\n" - ."\n" - .'The names of inactive scaling configurations are not displayed in the query results, and no error is reported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalingcon****', - ], - 'required' => false, - 'example' => 'scalingcon****', - 'maxItems' => 10, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'TotalCount' => [ - 'description' => 'The total number of scaling configurations.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScalingConfigurations' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ScalingConfiguration' => [ - 'description' => 'The scaling configurations.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'DeploymentSetId' => [ - 'description' => 'The ID of the deployment set of the ECS instances that were created from the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'ds-bp1frxuzdg87zh4p****', - ], - 'CreationTime' => [ - 'description' => 'The time when the scaling configuration was created.'."\n", - 'type' => 'string', - 'example' => '2014-08-14T10:58Z', - ], - 'ScalingConfigurationName' => [ - 'description' => 'The name of the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'scalingconfigura****', - ], - 'SystemDiskDescription' => [ - 'description' => 'The description of the system disk.'."\n", - 'type' => 'string', - 'example' => 'Test system disk.', - ], - 'KeyPairName' => [ - 'description' => 'The name of the key pair that is used to log on to an ECS instance.'."\n", - 'type' => 'string', - 'example' => 'keypair****', - ], - 'SecurityGroupId' => [ - 'description' => 'The ID of the security group with which the ECS instances that are created from the scaling configuration are associated. The ECS instances that are associated with the same security group can access each other.'."\n", - 'type' => 'string', - 'example' => 'sg-bp18kz60mefs****', - ], - 'PrivatePoolOptions.Id' => [ - 'description' => 'The ID of the private pool. The ID of a private pool is the same as the ID of the elasticity assurance or capacity reservation for which the private pool is generated.'."\n", - 'type' => 'string', - 'example' => 'eap-bp67acfmxazb4****', - ], - 'SystemDiskAutoSnapshotPolicyId' => [ - 'description' => 'The ID of the automatic snapshot policy that is applied to the system disk.'."\n", - 'type' => 'string', - 'example' => 'sp-bp12m37ccmxvbmi5****', - ], - 'SpotStrategy' => [ - 'description' => 'The preemption policy that is applied to pay-as-you-go instances and preemptible instances. Valid values:'."\n" - ."\n" - .'* NoSpot: The instance is created as a pay-as-you-go instance.'."\n" - .'* SpotWithPriceLimit: The instance is a preemptible instance that has a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instance is a preemptible instance for which the market price at the time of purchase is used as the bid price.'."\n", - 'type' => 'string', - 'example' => 'NoSpot', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group whose scaling configuration was queried.'."\n", - 'type' => 'string', - 'example' => 'asg-bp17pelvl720x3v7****', - ], - 'Affinity' => [ - 'description' => 'Indicates whether an ECS instance on a dedicated host is associated with the dedicated host. Valid values:'."\n" - ."\n" - .'* default: The ECS instance is not associated with the dedicated host. If you start an ECS instance that was stopped in economical mode and the original dedicated host of the ECS instance has insufficient resources, the ECS instance is automatically deployed to another dedicated host in the automatic deployment resource pool.'."\n" - .'* host: The ECS instance is associated with the dedicated host. If you start an ECS instance that was stopped in economical mode, the ECS instance remains on the original dedicated host. If the resources of the original dedicated host are insufficient, you cannot start the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'default', - ], - 'Tenancy' => [ - 'description' => 'Indicates whether the ECS instance is created on a dedicated host. Valid values:'."\n" - ."\n" - .'* default: The ECS instance is created on a non-dedicated host.'."\n" - .'* host: The ECS instance is created on a dedicated host. If you do not specify `DedicatedHostId`, Alibaba Cloud selects a dedicated host for the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'default', - ], - 'SystemDiskSize' => [ - 'description' => 'The size of the system disk. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Ipv6AddressCount' => [ - 'description' => 'The number of randomly generated IPv6 addresses that are allocated to the elastic network interface (ENI).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'SpotDuration' => [ - 'description' => 'The retention period of a preemptible instance. Unit: hours.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'LifecycleState' => [ - 'description' => 'The status of the scaling configuration in the scaling group. Valid values:'."\n" - ."\n" - .'* Active: The scaling configuration is active in the scaling group. Auto Scaling uses the active scaling configuration to automatically create ECS instances.'."\n" - .'* Inactive: The scaling configuration is inactive in the scaling group. Auto Scaling does not use the inactive scaling configuration to create ECS instances. Inactive scaling configurations are retained in the scaling group.'."\n", - 'type' => 'string', - 'example' => 'Active', - ], - 'InstanceName' => [ - 'description' => 'The name of the ECS instance that is created from the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'instance****', - ], - 'SecurityEnhancementStrategy' => [ - 'description' => 'Indicates whether the security hardening feature is enabled. Valid values:'."\n" - ."\n" - .'* Active: Security hardening is enabled. This value is applicable only to public images.'."\n" - .'* Deactive: Security hardening is disabled. This value is applicable to all image types.'."\n", - 'type' => 'string', - 'example' => 'Active', - ], - 'UserData' => [ - 'description' => 'The user data of the ECS instance that is created from the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'echo hello ecs!', - ], - 'PrivatePoolOptions.MatchCriteria' => [ - 'description' => 'The type of the private pool. A private pool is generated when an elasticity assurance or a capacity reservation takes effect. You can select a private pool for Auto Scaling to start instances. Valid values:'."\n" - ."\n" - .'* Open: open private pool. Auto Scaling selects a matching open private pool to start instances. If no matching open private pools exist, Auto Scaling uses the resources in the public pool to start instances.'."\n" - .'* Target: specified private pool. Auto Scaling uses the resources in the specified private pool to start instances. If the resources in the specified private pool are insufficient, instances cannot be started.'."\n" - .'* None: no private pool. Auto Scaling does not use the resources in private pools to start instances.'."\n", - 'type' => 'string', - 'example' => 'Open', - ], - 'DedicatedHostId' => [ - 'description' => 'The ID of the dedicated host on which the ECS instance is created. If you specify `DedicatedHostId`, `SpotStrategy` and `SpotPriceLimit` are ignored. Because preemptible instances cannot be created on dedicated hosts.'."\n" - ."\n" - .'You can call the [DescribeDedicatedHosts](~~134242~~) operation to query the IDs of dedicated hosts.'."\n", - 'type' => 'string', - 'example' => 'dh-bp67acfmxazb4p****', - ], - 'InstanceGeneration' => [ - 'description' => 'The generation of the ECS instance that is created from the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'ecs-3', - ], - 'HpcClusterId' => [ - 'description' => 'The ID of the Elastic High Performance Computing (E-HPC) cluster to which the ECS instance belongs.'."\n", - 'type' => 'string', - 'example' => 'hpc-clus****', - ], - 'PasswordInherit' => [ - 'description' => 'Indicates whether the password that is preconfigured in the image is used.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Memory' => [ - 'description' => 'The memory size. Unit: GiB.'."\n" - ."\n" - .'You can specify the number of vCPUs and the memory size to determine the range of instance types. For example, you can set CPU to 2 and Memory to 16 to specify instance types that have 2 vCPUs and 16 GiB of memory. If you specify Cpu and Memory, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling preferentially creates instances by using the lowest-priced instance type.'."\n" - ."\n" - .'> You can specify Cpu and Memory to create instances only if Scaling Policy is set to Cost Optimization Policy and no instance type is specified in the scaling configuration.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '16', - ], - 'ImageId' => [ - 'description' => 'The ID of the image that is used by Auto Scaling to automatically create instances.'."\n", - 'type' => 'string', - 'example' => 'centos6u5_64_20G_aliaegis_2014****.vhd', - ], - 'ImageFamily' => [ - 'description' => 'The name of the image family. You can specify this parameter to obtain the most recent custom images that are available in the specified image family. Then, you can use the images to create instances. If you specify ImageId, you cannot specify ImageFamily.'."\n", - 'type' => 'string', - 'example' => 'hangzhou-daily-update', - ], - 'ImageOwnerAlias' => [ - 'description' => 'The source of the image. Valid values:'."\n" - ."\n" - .'* system: Alibaba Cloud public image.'."\n" - .'* self: custom image that you create.'."\n" - .'* others: shared image from another Alibaba Cloud account or community image that is published by another Alibaba Cloud account.'."\n" - .'* marketplace: Alibaba Cloud Marketplace image.'."\n", - 'type' => 'string', - 'example' => 'system', - ], - 'LoadBalancerWeight' => [ - 'description' => 'The weight of an ECS instance as a backend server. Valid values: 1 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'SystemDiskCategory' => [ - 'description' => 'The category of the system disk. Valid values:'."\n" - ."\n" - .'* cloud: basic disk.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* ephemeral_ssd: local SSD.'."\n" - .'* cloud_essd: enhanced SSD (ESSD).'."\n" - .'* cloud_auto: ESSD AutoPL disk.'."\n", - 'type' => 'string', - 'example' => 'cloud', - ], - 'HostName' => [ - 'description' => 'The hostname of the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'LocalHost', - ], - 'SystemDiskName' => [ - 'description' => 'The name of the system disk.'."\n", - 'type' => 'string', - 'example' => 'cloud_ssd_Test', - ], - 'InternetMaxBandwidthOut' => [ - 'description' => 'The maximum outbound public bandwidth. Unit: Mbit/s.'."\n" - ."\n" - .'* Valid values if you set InternetChargeType to PayByBandwidth: 0 to 100. If you do not specify this parameter, a value of 0 is returned.'."\n" - .'* Valid values if you set InternetChargeType to PayByTraffic: 0 to 100. If this parameter is not specified, an error is reported.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'InternetMaxBandwidthIn' => [ - 'description' => 'The maximum inbound public bandwidth. Unit: Mbit/s. Valid values: 1 to 200.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'InstanceType' => [ - 'description' => 'The instance type of the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'ecs.g6.large', - ], - 'InstanceDescription' => [ - 'description' => 'The description of the ECS instance.'."\n", - 'type' => 'string', - 'example' => 'FinanceDept', - ], - 'IoOptimized' => [ - 'description' => 'Indicates whether the ECS instance is I/O optimized. Valid values:'."\n" - ."\n" - .'* none: The ECS instance is not I/O optimized.'."\n" - .'* optimized: The ECS instance is I/O optimized.'."\n", - 'type' => 'string', - 'example' => 'none', - ], - 'RamRoleName' => [ - 'description' => 'The name of the RAM role that is associated with the ECS instance. The name is provided and maintained by Resource Access Management (RAM). You can call the [ListRoles](~~28713~~) operation to query the available RAM roles. You can call the [CreateRole](~~28710~~) operation to create RAM roles.'."\n", - 'type' => 'string', - 'example' => 'ramrole****', - ], - 'SystemDiskPerformanceLevel' => [ - 'description' => 'The performance level (PL) of the system disk that is an ESSD.'."\n", - 'type' => 'string', - 'example' => 'PL1', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs.'."\n" - ."\n" - .'You can specify the number of vCPUs and the memory size to determine the range of instance types. For example, you can set CPU to 2 and Memory to 16 to specify instance types that have 2 vCPUs and 16 GiB of memory. If you specify Cpu and Memory, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling preferentially creates instances by using the lowest-priced instance type.'."\n" - ."\n" - .'> You can specify Cpu and Memory to create instances only if Scaling Policy is set to Cost Optimization Policy and no instance type is specified in the scaling configuration.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group to which the ECS instance belongs.'."\n", - 'type' => 'string', - 'example' => 'rg-aekzn2ou7xo****', - ], - 'ZoneId' => [ - 'description' => 'The zone ID of the ECS instance. You can call the [DescribeZones](~~25610~~) operation to query the most recent zone list.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-g', - ], - 'InternetChargeType' => [ - 'description' => 'The metering method for network usage. Valid values:'."\n" - ."\n" - .'* PayByBandwidth: You are charged for the maximum available bandwidth that is specified by InternetMaxBandwidthOut.'."\n" - .'* PayByTraffic: You are charged for the actual data transfer. InternetMaxBandwidthOut specifies only the maximum available bandwidth.'."\n", - 'type' => 'string', - 'example' => 'PayByTraffic', - ], - 'ImageName' => [ - 'description' => 'The name of the image.'."\n", - 'type' => 'string', - 'example' => 'centos6u5_64_20G_aliaegis_20140703.vhd', - ], - 'ScalingConfigurationId' => [ - 'description' => 'The ID of the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'asc-bp1ezrfgoyn5kijl****', - ], - 'CreditSpecification' => [ - 'description' => 'The performance mode of the burstable instance. Valid values:'."\n" - ."\n" - .'* Standard: standard mode. For more information, see the "Standard mode" section in the [Burstable instances](~~59977~~) topic.'."\n" - .'* Unlimited: unlimited mode. For more information, see the "Unlimited mode" section in the [Burstable instances](~~59977~~) topic.'."\n", - 'type' => 'string', - 'example' => 'Standard', - ], - 'SpotInterruptionBehavior' => [ - 'description' => 'The interruption mode of the preemptible instance.'."\n", - 'type' => 'string', - 'example' => 'Terminate', - ], - 'DataDisks' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DataDisk' => [ - 'description' => 'The data disks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'PerformanceLevel' => [ - 'description' => 'The PL of the data disk that is an ESSD.'."\n", - 'type' => 'string', - 'example' => 'PL1', - ], - 'Description' => [ - 'description' => 'The description of the data disk.'."\n", - 'type' => 'string', - 'example' => 'FinanceDept', - ], - 'SnapshotId' => [ - 'description' => 'The ID of the snapshot that is used to create the data disk.'."\n", - 'type' => 'string', - 'example' => 's-23f2i****', - ], - 'Device' => [ - 'description' => 'The mount target of the data disk.'."\n", - 'type' => 'string', - 'example' => '/dev/xvdb', - ], - 'Size' => [ - 'description' => 'The size of the data disk. Unit: GiB.'."\n" - ."\n" - .'* Valid values if you set Category to cloud: 5 to 2000.'."\n" - .'* Valid values if you set Category to cloud_efficiency: 20 to 32768.'."\n" - .'* Valid values if you set Category to cloud_ssd: 20 to 32768.'."\n" - .'* Valid values if you set Category to cloud_essd: 20 to 32768.'."\n" - .'* Valid values if you set Category to ephemeral_ssd: 5 to 800.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DiskName' => [ - 'description' => 'The name of the data disk.'."\n", - 'type' => 'string', - 'example' => 'cloud_ssdData', - ], - 'AutoSnapshotPolicyId' => [ - 'description' => 'The ID of the automatic snapshot policy that is applied to the data disk.'."\n", - 'type' => 'string', - 'example' => 'sp-bp19nq9enxqkomib****', - ], - 'Category' => [ - 'description' => 'The category of the data disk. Valid values:'."\n" - ."\n" - .'* cloud: basic disk. DeleteWithInstance of a basic disk that is created together with the instance is set to true.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* ephemeral_ssd: local SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" - .'* cloud_auto: ESSD AutoPL disk.'."\n", - 'type' => 'string', - 'example' => 'cloud', - ], - 'KMSKeyId' => [ - 'description' => 'The ID of the Key Management Service (KMS) key that is used to encrypt the data disk.'."\n", - 'type' => 'string', - 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', - ], - 'DeleteWithInstance' => [ - 'description' => 'Indicates whether the data disk is released together with the ECS instance. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Encrypted' => [ - 'description' => 'Indicates whether the data disk is encrypted. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'string', - 'example' => 'false', - ], - 'Categories' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Category' => [ - 'description' => 'The categories of the data disks. The first value has the highest priority. Other values are arranged in descending order of priorities. If Auto Scaling cannot create instances by using the disk category of the highest priority, Auto Scaling creates instances by using the disk category of the next highest priority. Valid values:'."\n" - ."\n" - .'* cloud: basic disk. DeleteWithInstance of a basic disk that is created together with the instance is set to true.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The categories of the data disks. The first value has the highest priority. Other values are arranged in descending order of priorities. If Auto Scaling cannot create instances by using the disk category of the highest priority, Auto Scaling creates instances by using the disk category of the next highest priority. Valid values:'."\n" - ."\n" - .'* cloud: basic disk. DeleteWithInstance of a basic disk that is created together with the instance is set to true.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.', - 'type' => 'string', - 'example' => 'cloud_essd', - ], - ], - ], - ], - 'ProvisionedIops' => [ - 'description' => 'The IOPS metric that is preconfigured for the data disk.'."\n" - ."\n" - .'> IOPS measures the number of read and write operations that an Elastic Block Storage (EBS) device can process per second.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'BurstingEnabled' => [ - 'description' => 'Indicates whether the burst feature is enabled for the data disk. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'> This parameter is available only if you set `DataDisk.Category` to `cloud_auto`.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - ], - ], - ], - ], - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'description' => 'Details of the tags.', - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the tags.', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N. Valid values of N: 1 to 20.'."\n" - ."\n" - .'The tag key cannot be an empty string. The tag key can be up to 128 characters in length, and cannot start with `acs:` or `aliyun`. The tag key cannot contain ``http://`` or ``https://``.', - 'type' => 'string', - 'example' => 'binary', - ], - 'Value' => [ - 'description' => 'The value of tag N. Valid values of N: 1 to 20.'."\n" - ."\n" - .'The tag value can be an empty string. The tag value can be up to 128 characters in length, and cannot start with `acs:`. The tag value cannot contain `http://` or `https://`.', - 'type' => 'string', - 'example' => 'alterTable', - ], - ], - ], - ], - ], - ], - 'SpotPriceLimit' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SpotPriceModel' => [ - 'description' => 'Details of the preemptible instances.', - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the preemptible instances.', - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => 'The instance type of the preemptible instance.', - 'type' => 'string', - 'example' => 'ecs.g6.large', - ], - 'PriceLimit' => [ - 'description' => 'The price limit of the preemptible instance.', - 'type' => 'number', - 'format' => 'float', - 'example' => '0.125', - ], - ], - ], - ], - ], - ], - 'InstancePatternInfos' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstancePatternInfo' => [ - 'description' => 'Details of the intelligent configuration settings, which determines the range of instance types that meet the specified criteria.', - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the intelligent configuration settings, which determines the range of instance types that meet the specified criteria.', - 'type' => 'object', - 'properties' => [ - 'MaxPrice' => [ - 'description' => 'The maximum hourly price for pay-as-you-go instances or preemptible instances.', - 'type' => 'number', - 'format' => 'float', - 'example' => '2', - ], - 'Cores' => [ - 'description' => 'The number of vCPUs of the instance type.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'Memory' => [ - 'description' => 'The memory size of the instance type. Unit: GiB.', - 'type' => 'number', - 'format' => 'float', - 'example' => '4', - ], - 'InstanceFamilyLevel' => [ - 'description' => 'The level of the instance type, which is used to filter the instance types that meet the specified criteria. This parameter takes effect only if you set the `CostOptimization` parameter to true. Valid values:'."\n" - ."\n" - .'* EntryLevel: shared instance type. Instances of this level are the most cost-effective but may not provide stable computing performance in a consistent manner. Instances of this level are suitable for business scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" - .'* EnterpriseLevel: Instances of this level provide stable performance and dedicated resources, and are suitable for business scenarios that require high stability. For more information, see [Instance family](~~25378~~).'."\n" - .'* CreditEntryLevel: This value is valid only for burstable instances. CPU credits are used to ensure computing performance. Instances of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see the [Overview](~~59977~~) topic of burstable instances.'."\n", - 'type' => 'string', - 'example' => 'EnterpriseLevel', - ], - 'Architectures' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Architecture' => [ - 'description' => 'The architectures of the instance types. Valid values:'."\n" - ."\n" - .'- X86: x86 architecture.'."\n" - .'- Heterogeneous: heterogeneous architecture, such as GPUs and FPGAs.'."\n" - .'- BareMetal: ECS Bare Metal Instance architecture.'."\n" - .'- Arm: ARM architecture.'."\n" - .'- SuperComputeCluster: Super Computing Cluster architecture.', - 'type' => 'array', - 'items' => [ - 'description' => 'The architectures of the instance types. Valid values:'."\n" - ."\n" - .'- X86: x86 architecture.'."\n" - .'- Heterogeneous: heterogeneous architecture, such as GPUs and FPGAs.'."\n" - .'- BareMetal: ECS Bare Metal Instance architecture.'."\n" - .'- Arm: ARM architecture.'."\n" - .'- SuperComputeCluster: Super Computing Cluster architecture.', - 'type' => 'string', - 'example' => 'X86', - ], - ], - ], - ], - 'BurstablePerformance' => [ - 'description' => 'Indicates whether burstable instance types are included. Valid values:'."\n" - ."\n" - .'- Exclude: Burstable instance types are not included.'."\n" - .'- Include: Burstable instance types are included.'."\n" - .'- Required: Only burstable instance types are included.', - 'type' => 'string', - 'example' => 'Include', - ], - 'ExcludedInstanceTypes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ExcludedInstanceType' => [ - 'description' => 'The instance types that are excluded. You can use wildcard characters such as an asterisk (*) to exclude an instance type or an instance family. Examples:'."\n" - ."\n" - .'- ecs.c6.large: The ecs.c6.large instance type is excluded.'."\n" - .'- ecs.c6.*: The c6 instance family is excluded.', - 'type' => 'array', - 'items' => [ - 'description' => 'The instance types that are excluded. You can use wildcard characters such as an asterisk (*) to exclude an instance type or an instance family. Examples:'."\n" - ."\n" - .'- ecs.c6.large: The ecs.c6.large instance type is excluded.'."\n" - .'- ecs.c6.*: The c6 instance family is excluded.', - 'type' => 'string', - 'example' => 'ecs.n1.small/ecs.n1.*/*7*', - ], - ], - ], - ], - 'InstanceTypeFamilies' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceTypeFamily' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - 'MinimumCpuCoreCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MaximumCpuCoreCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'GpuSpecs' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'GpuSpec' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - 'InstanceCategories' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceCategory' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - 'CpuArchitectures' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'CpuArchitecture' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - 'PhysicalProcessorModels' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'PhysicalProcessorModel' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - 'MinimumEniQuantity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumEniPrivateIpAddressQuantity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumEniIpv6AddressQuantity' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumInitialCredit' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumBaselineCredit' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MinimumMemorySize' => [ - 'type' => 'number', - 'format' => 'float', - ], - 'MaximumMemorySize' => [ - 'type' => 'number', - 'format' => 'float', - ], - 'MinimumGpuAmount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MaximumGpuAmount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - ], - ], - ], - 'SystemDiskCategories' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SystemDiskCategory' => [ - 'description' => 'The categories of the system disks. If Auto Scaling cannot create instances by using the disk whose category has the highest priority, Auto Scaling creates instances by using the disk whose category has the next highest priority. Valid values:'."\n" - ."\n" - .'* cloud: basic disk'."\n" - .'* cloud_efficiency: ultra disk'."\n" - .'* cloud_ssd: standard SSD'."\n" - .'* cloud_essd: ESSD'."\n" - ."\n" - .'> If you specify SystemDiskCategories, you cannot specify `SystemDisk.Category`.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The categories of the system disks. If Auto Scaling cannot create instances by using the disk whose category has the highest priority, Auto Scaling creates instances by using the disk whose category has the next highest priority. Valid values:'."\n" - ."\n" - .'* cloud: basic disk'."\n" - .'* cloud_efficiency: ultra disk'."\n" - .'* cloud_ssd: standard SSD'."\n" - .'* cloud_essd: ESSD'."\n" - ."\n" - .'> If you specify SystemDiskCategories, you cannot specify `SystemDisk.Category`.'."\n", - 'type' => 'string', - 'example' => 'cloud', - ], - ], - ], - ], - 'WeightedCapacities' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'WeightedCapacity' => [ - 'description' => 'The weight of the instance type. The weight of an instance type indicates the capacity of an instance of the specified instance type in the scaling group. A higher weight indicates that a smaller number of instances of the specified instance type are required to meet the expected capacity requirement.', - 'type' => 'array', - 'items' => [ - 'description' => 'The weight of the instance type. The weight of an instance type indicates the capacity of an instance of the specified instance type in the scaling group. A higher weight indicates that a smaller number of instances of the specified instance type are required to meet the expected capacity requirement.', - 'type' => 'string', - 'example' => '4', - ], - ], - ], - ], - 'InstanceTypes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceType' => [ - 'description' => 'Details of the ECS instance types.', - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the ECS instance types.', - 'type' => 'string', - 'example' => 'ecs.g6.large', - ], - ], - ], - ], - 'SecurityGroupIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SecurityGroupId' => [ - 'description' => 'The IDs of the security groups with which the ECS instance is associated. ECS instances that are associated with the same security group can access each other.', - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of the security groups with which the ECS instance is associated. ECS instances that are associated with the same security group can access each other.', - 'type' => 'string', - 'example' => 'sg-bp18kz60mefs****', - ], - ], - ], - ], - 'SchedulerOptions' => [ - 'description' => '>This parameter is in invitational preview and is unavailable.', - 'type' => 'object', - 'properties' => [ - 'ManagedPrivateSpaceId' => [ - 'description' => '>This parameter is in invitational preview and is unavailable.', - 'type' => 'string', - 'example' => 'testManagedPrivateSpaceId', - ], - ], - ], - 'SystemDisk.Encrypted' => [ - 'description' => 'Indicates whether the system disk is encrypted. Valid values:'."\n" - ."\n" - .'- true'."\n" - .'- false', - 'type' => 'boolean', - 'example' => 'false', - ], - 'SystemDisk.KMSKeyId' => [ - 'description' => 'The ID of the KMS key that is used to encrypt the system disk.', - 'type' => 'string', - 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', - ], - 'SystemDisk.EncryptAlgorithm' => [ - 'description' => 'The algorithm that is used to encrypt the system disk. Valid values:'."\n" - ."\n" - .'- AES-256'."\n" - .'- SM4-128', - 'type' => 'string', - 'example' => 'AES-256', - ], - 'SystemDisk.ProvisionedIops' => [ - 'description' => 'The provisioned IOPS for the system disk.'."\n" - ."\n" - .'>IOPS measures the number of read and write operations that an EBS device can process per second.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'SystemDisk.BurstingEnabled' => [ - 'description' => 'Indicates whether the burst feature is enabled for the system disk. Valid values:'."\n" - ."\n" - .'- true'."\n" - .'- false'."\n" - ."\n" - .'>This parameter is available only if you set the SystemDisk.Category parameter to cloud_auto.', - 'type' => 'boolean', - 'example' => 'false', - ], - 'ImageOptions.LoginAsNonRoot' => [ - 'type' => 'boolean', - 'description' => 'For more information about whether an ECS instance uses the ecs-user user user to log on to an ECS instance, see Manage the login name of an ECS instance. Value range:'."\n" - ."\n" - .'- true: Yes.'."\n" - .'- false: No.'."\n" - ."\n" - .'Default value: false.', - 'example' => 'false', - ], - 'DeletionProtection' => [ - 'type' => 'boolean', - ], - 'StorageSetId' => [ - 'type' => 'string', - ], - 'StorageSetPartitionNumber' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'CustomPriorities' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'CustomPriority' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'type' => 'string', - ], - 'VswitchId' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - 'NetworkInterfaces' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'NetworkInterface' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'type' => 'string', - ], - 'NetworkInterfaceTrafficMode' => [ - 'type' => 'string', - ], - 'Ipv6AddressCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'SecurityGroupIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SecurityGroupId' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - 'SecondaryPrivateIpAddressCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - ], - ], - ], - 'DedicatedHostClusterId' => [ - 'type' => 'string', - ], - 'PasswordSetted' => [ - 'type' => 'boolean', - ], - 'SecurityOptions' => [ - 'type' => 'object', - 'properties' => [ - 'ConfidentialComputingMode' => [ - 'type' => 'string', - ], - ], - ], - 'HttpEndpoint' => [ - 'type' => 'string', - ], - 'HttpTokens' => [ - 'type' => 'string', - ], - 'ResourcePoolOptions' => [ - 'type' => 'object', - 'properties' => [ - 'Strategy' => [ - 'type' => 'string', - ], - 'PrivatePoolIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'PrivatePoolId' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"ScalingConfigurations\\": {\\n \\"ScalingConfiguration\\": [\\n {\\n \\"DeploymentSetId\\": \\"ds-bp1frxuzdg87zh4p****\\",\\n \\"CreationTime\\": \\"2014-08-14T10:58Z\\",\\n \\"ScalingConfigurationName\\": \\"scalingconfigura****\\",\\n \\"SystemDiskDescription\\": \\"Test system disk.\\",\\n \\"KeyPairName\\": \\"keypair****\\",\\n \\"SecurityGroupId\\": \\"sg-bp18kz60mefs****\\",\\n \\"PrivatePoolOptions.Id\\": \\"eap-bp67acfmxazb4****\\",\\n \\"SystemDiskAutoSnapshotPolicyId\\": \\"sp-bp12m37ccmxvbmi5****\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"ScalingGroupId\\": \\"asg-bp17pelvl720x3v7****\\",\\n \\"Affinity\\": \\"default\\",\\n \\"Tenancy\\": \\"default\\",\\n \\"SystemDiskSize\\": 100,\\n \\"Ipv6AddressCount\\": 1,\\n \\"SpotDuration\\": 1,\\n \\"LifecycleState\\": \\"Active\\",\\n \\"InstanceName\\": \\"instance****\\",\\n \\"SecurityEnhancementStrategy\\": \\"Active\\",\\n \\"UserData\\": \\"echo hello ecs!\\",\\n \\"PrivatePoolOptions.MatchCriteria\\": \\"Open\\",\\n \\"DedicatedHostId\\": \\"dh-bp67acfmxazb4p****\\",\\n \\"InstanceGeneration\\": \\"ecs-3\\",\\n \\"HpcClusterId\\": \\"hpc-clus****\\",\\n \\"PasswordInherit\\": true,\\n \\"Memory\\": 16,\\n \\"ImageId\\": \\"centos6u5_64_20G_aliaegis_2014****.vhd\\",\\n \\"ImageFamily\\": \\"hangzhou-daily-update\\",\\n \\"ImageOwnerAlias\\": \\"system\\",\\n \\"LoadBalancerWeight\\": 1,\\n \\"SystemDiskCategory\\": \\"cloud\\",\\n \\"HostName\\": \\"LocalHost\\",\\n \\"SystemDiskName\\": \\"cloud_ssd_Test\\",\\n \\"InternetMaxBandwidthOut\\": 10,\\n \\"InternetMaxBandwidthIn\\": 10,\\n \\"InstanceType\\": \\"ecs.g6.large\\",\\n \\"InstanceDescription\\": \\"FinanceDept\\",\\n \\"IoOptimized\\": \\"none\\",\\n \\"RamRoleName\\": \\"ramrole****\\",\\n \\"SystemDiskPerformanceLevel\\": \\"PL1\\",\\n \\"Cpu\\": 2,\\n \\"ResourceGroupId\\": \\"rg-aekzn2ou7xo****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"InternetChargeType\\": \\"PayByTraffic\\",\\n \\"ImageName\\": \\"centos6u5_64_20G_aliaegis_20140703.vhd\\",\\n \\"ScalingConfigurationId\\": \\"asc-bp1ezrfgoyn5kijl****\\",\\n \\"CreditSpecification\\": \\"Standard\\",\\n \\"SpotInterruptionBehavior\\": \\"Terminate\\",\\n \\"DataDisks\\": {\\n \\"DataDisk\\": [\\n {\\n \\"PerformanceLevel\\": \\"PL1\\",\\n \\"Description\\": \\"FinanceDept\\",\\n \\"SnapshotId\\": \\"s-23f2i****\\",\\n \\"Device\\": \\"/dev/xvdb\\",\\n \\"Size\\": 200,\\n \\"DiskName\\": \\"cloud_ssdData\\",\\n \\"AutoSnapshotPolicyId\\": \\"sp-bp19nq9enxqkomib****\\",\\n \\"Category\\": \\"cloud\\",\\n \\"KMSKeyId\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40****\\",\\n \\"DeleteWithInstance\\": true,\\n \\"Encrypted\\": \\"false\\",\\n \\"Categories\\": {\\n \\"Category\\": [\\n \\"cloud_essd\\"\\n ]\\n },\\n \\"ProvisionedIops\\": 100,\\n \\"BurstingEnabled\\": false\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"binary\\",\\n \\"Value\\": \\"alterTable\\"\\n }\\n ]\\n },\\n \\"SpotPriceLimit\\": {\\n \\"SpotPriceModel\\": [\\n {\\n \\"InstanceType\\": \\"ecs.g6.large\\",\\n \\"PriceLimit\\": 0.125\\n }\\n ]\\n },\\n \\"InstancePatternInfos\\": {\\n \\"InstancePatternInfo\\": [\\n {\\n \\"MaxPrice\\": 2,\\n \\"Cores\\": 2,\\n \\"Memory\\": 4,\\n \\"InstanceFamilyLevel\\": \\"EnterpriseLevel\\",\\n \\"Architectures\\": {\\n \\"Architecture\\": [\\n \\"X86\\"\\n ]\\n },\\n \\"BurstablePerformance\\": \\"Include\\",\\n \\"ExcludedInstanceTypes\\": {\\n \\"ExcludedInstanceType\\": [\\n \\"ecs.n1.small/ecs.n1.*/*7*\\"\\n ]\\n },\\n \\"InstanceTypeFamilies\\": {\\n \\"InstanceTypeFamily\\": [\\n \\"ecs.g6\\"\\n ]\\n },\\n \\"MinimumCpuCoreCount\\": 2,\\n \\"MaximumCpuCoreCount\\": 4,\\n \\"GpuSpecs\\": {\\n \\"GpuSpec\\": [\\n \\"NVIDIA V100\\"\\n ]\\n },\\n \\"InstanceCategories\\": {\\n \\"InstanceCategory\\": [\\n \\"Compute-optimized with GPU\\"\\n ]\\n },\\n \\"CpuArchitectures\\": {\\n \\"CpuArchitecture\\": [\\n \\"X86\\"\\n ]\\n },\\n \\"PhysicalProcessorModels\\": {\\n \\"PhysicalProcessorModel\\": [\\n \\"Intel Xeon(Ice Lake) Platinum 8369B\\\\\\", \\\\\\"Intel Xeon(Skylake) Platinum 8163\\\\\\", … \\\\\\"Intel Xeon(Cascade Lake) Platinum 8269CY\\"\\n ]\\n },\\n \\"MinimumEniQuantity\\": 2,\\n \\"MinimumEniPrivateIpAddressQuantity\\": 2,\\n \\"MinimumEniIpv6AddressQuantity\\": 1,\\n \\"MinimumInitialCredit\\": 12,\\n \\"MinimumBaselineCredit\\": 12,\\n \\"MinimumMemorySize\\": 4,\\n \\"MaximumMemorySize\\": 4,\\n \\"MinimumGpuAmount\\": 2,\\n \\"MaximumGpuAmount\\": 2\\n }\\n ]\\n },\\n \\"SystemDiskCategories\\": {\\n \\"SystemDiskCategory\\": [\\n \\"cloud\\"\\n ]\\n },\\n \\"WeightedCapacities\\": {\\n \\"WeightedCapacity\\": [\\n \\"4\\"\\n ]\\n },\\n \\"InstanceTypes\\": {\\n \\"InstanceType\\": [\\n \\"ecs.g6.large\\"\\n ]\\n },\\n \\"SecurityGroupIds\\": {\\n \\"SecurityGroupId\\": [\\n \\"sg-bp18kz60mefs****\\"\\n ]\\n },\\n \\"SchedulerOptions\\": {\\n \\"ManagedPrivateSpaceId\\": \\"testManagedPrivateSpaceId\\"\\n },\\n \\"SystemDisk.Encrypted\\": false,\\n \\"SystemDisk.KMSKeyId\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40****\\",\\n \\"SystemDisk.EncryptAlgorithm\\": \\"AES-256\\",\\n \\"SystemDisk.ProvisionedIops\\": 100,\\n \\"SystemDisk.BurstingEnabled\\": false,\\n \\"ImageOptions.LoginAsNonRoot\\": false,\\n \\"DeletionProtection\\": false,\\n \\"StorageSetId\\": \\"ss-bp67acfmxazb4p****\\",\\n \\"StorageSetPartitionNumber\\": 2,\\n \\"CustomPriorities\\": {\\n \\"CustomPriority\\": [\\n {\\n \\"InstanceType\\": \\"ecs.g6.large\\",\\n \\"VswitchId\\": \\"vsw-bp14zolna43z266bq****\\"\\n }\\n ]\\n },\\n \\"NetworkInterfaces\\": {\\n \\"NetworkInterface\\": [\\n {\\n \\"InstanceType\\": \\"Primary\\",\\n \\"NetworkInterfaceTrafficMode\\": \\"HighPerformance\\",\\n \\"Ipv6AddressCount\\": 1,\\n \\"SecurityGroupIds\\": {\\n \\"SecurityGroupId\\": [\\n \\"sg-2vc3e1v7h****\\"\\n ]\\n },\\n \\"SecondaryPrivateIpAddressCount\\": 2\\n }\\n ]\\n },\\n \\"DedicatedHostClusterId\\": \\"dc-2zedxc67zqzt7lb4****\\",\\n \\"PasswordSetted\\": false,\\n \\"SecurityOptions\\": {\\n \\"ConfidentialComputingMode\\": \\"TDX\\"\\n },\\n \\"HttpEndpoint\\": \\"enabled\\",\\n \\"HttpTokens\\": \\"optional\\",\\n \\"ResourcePoolOptions\\": {\\n \\"Strategy\\": \\"PrivatePoolFirst\\",\\n \\"PrivatePoolIds\\": {\\n \\"PrivatePoolId\\": [\\n \\"eap-bp67acfmxazb4****\\"\\n ]\\n }\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n 1\\n 50\\n 1\\n \\n ds-bp1frxuzdg87zh4p****\\n 2014-08-14T10:58Z\\n scalingconfigura****\\n Test system disk.\\n keypair****\\n sg-bp18kz60mefs****\\n eap-bp67acfmxazb4****\\n sp-bp12m37ccmxvbmi5****\\n NoSpot\\n asg-bp17pelvl720x3v7****\\n default\\n default\\n 100\\n 1\\n 1\\n Active\\n instance****\\n Active\\n echo hello ecs!\\n Open\\n dh-bp67acfmxazb4p****\\n ecs-3\\n hpc-clus****\\n true\\n 16\\n centos6u5_64_20G_aliaegis_2014****.vhd\\n hangzhou-daily-update\\n system\\n 1\\n cloud\\n LocalHost\\n cloud_ssd_Test\\n 0\\n 200\\n ecs.g6.large\\n FinanceDept\\n none\\n ramrole****\\n PL1\\n 2\\n rg-aekzn2ou7xo****\\n cn-hangzhou-g\\n PayByTraffic\\n centos6u5_64_20G_aliaegis_20140703.vhd\\n asc-bp1ezrfgoyn5kijl****\\n Standard\\n Terminate\\n \\n PL1\\n FinanceDept\\n s-23f2i****\\n /dev/xvdb\\n 200\\n cloud_ssdData\\n sp-bp19nq9enxqkomib****\\n cloud\\n 0e478b7a-4262-4802-b8cb-00d3fb40****\\n true\\n false\\n cloud_essd\\n 100\\n false\\n \\n \\n binary\\n alterTable\\n \\n \\n ecs.g6.large\\n 0.125\\n \\n \\n 2\\n 2\\n 4\\n EnterpriseLevel\\n X86\\n Include\\n ecs.n1.small/ecs.n1.*/*7*\\n [\\"ecs.g6\\", \\"ecs.c6\\", … \\"ecs.r6\\"]\\n 2\\n 4\\n [\\"NVIDIA V100\\"]\\n [\\"Compute-optimized with GPU\\"]\\n [\\"X86\\", \\"ARM\\"]\\n [\\"Intel Xeon(Ice Lake) Platinum 8369B\\", \\"Intel Xeon(Skylake) Platinum 8163\\", … \\"Intel Xeon(Cascade Lake) Platinum 8269CY\\"]\\n 2\\n 2\\n 1\\n 12\\n 12\\n 4\\n 4\\n 2\\n 2\\n \\n cloud\\n 4\\n ecs.g6.large\\n sg-bp18kz60mefs****\\n \\n testManagedPrivateSpaceId\\n \\n false\\n 0e478b7a-4262-4802-b8cb-00d3fb40****\\n AES-256\\n 100\\n false\\n false\\n false\\n ss-bp67acfmxazb4p****\\n 2\\n \\n ecs.g6.large\\n vsw-bp14zolna43z266bq****\\n \\n \\n Primary\\n HighPerformance\\n 1\\n sg-2vc3e1v7h****\\n \\n dc-2zedxc67zqzt7lb4****\\n \\n","errorExample":""}]', - 'title' => 'DescribeScalingConfigurations', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DescribeScalingConfigurations\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DeactivateScalingConfiguration' => [ - 'summary' => '使指定伸缩配置进入失效状态', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92661', - 'abilityTreeNodes' => [ - 'FEATUREessT4M3WE', - ], - ], - 'parameters' => [ - [ - 'name' => 'ScalingConfigurationId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling configuration.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asc-bp1ahp2ud7qkzt2a****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D09C9E64-7D19-4E1C-8CD6-123D34A4****', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D09C9E64-7D19-4E1C-8CD6-123D34A4****\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n D09C9E64-7D19-4E1C-8CD6-123D34A4****\\r\\n","errorExample":""}]', - 'title' => 'DeactivateScalingConfiguration', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DeactivateScalingConfiguration\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'CreateScalingRule' => [ - 'summary' => '创建一条伸缩规则', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '92659', - 'abilityTreeNodes' => [ - 'FEATUREessRTZKQT', - ], - ], - 'parameters' => [ - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group for which you want to create the scaling rule.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1ffogfdauy0jw0****', - ], - ], - [ - 'name' => 'ScalingRuleName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the scaling rule. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter or a digit.'."\n" - ."\n" - .'The name of a scaling rule must be unique within an Alibaba Cloud account in a region.'."\n" - ."\n" - .'> If you leave this parameter empty, the scaling rule ID is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalingrule****', - ], - ], - [ - 'name' => 'Cooldown', - 'in' => 'query', - 'schema' => [ - 'description' => 'The cooldown period of the scaling rule. This parameter is available only if you set **ScalingRuleType** to **SimpleScalingRule**. Valid values: 0 to 86400. Unit: seconds.'."\n" - ."\n" - .'You can leave this parameter empty.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], - ], - [ - 'name' => 'MinAdjustmentMagnitude', - 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of instances that must be scaled. This parameter takes effect if you set `ScalingRuleType` to `SimpleScalingRule` or `StepScalingRule`, and `AdjustmentType` to **PercentChangeInCapacity**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'AdjustmentType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The adjustment method of the scaling rule. If you set **ScalingRuleType** to **SimpleScalingRule** or **StepScalingRule**, you must specify this parameter. Valid values:'."\n" - ."\n" - .'* QuantityChangeInCapacity: adds the specified number of ECS instances to or removes the specified number of ECS instances from the scaling group.'."\n" - .'* PercentChangeInCapacity: adds the specified percentage of ECS instances to or removes the specified percentage of ECS instances from the scaling group.'."\n" - .'* TotalCapacity: adjusts the number of ECS instances in the scaling group to a specified number.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'QuantityChangeInCapacity', - ], - ], - [ - 'name' => 'AdjustmentValue', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of instances that must be scaled based on the scaling rule. If you set **ScalingRuleType** to **SimpleScalingRule** or **StepScalingRule**, you must specify this parameter. The number of ECS instances that must be scaled in a scaling activity cannot exceed 1,000. Valid values of **AdjustmentValue** vary based on the value of **AdjustmentTyp****e**.'."\n" - ."\n" - .'* Valid values if **AdjustmentType** is set to **QuantityChangeInCapacity**: -1000 to 1000.'."\n" - .'* Valid values if **AdjustmentType** is set to **PercentChangeInCapacity**: -100 to 10000.'."\n" - .'* Valid values if **AdjustmentType** is set to **TotalCapacity**: 0 to 2000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - ], - [ - 'name' => 'ScalingRuleType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the scaling rule. Valid values:'."\n" - ."\n" - .'* SimpleScalingRule: scales the number of ECS instances based on the values of **AdjustmentType** and **AdjustmentValue**.'."\n" - .'* TargetTrackingScalingRule: calculates the number of ECS instances that must be scaled and maintains the value of a predefined metric close to the value of **TargetValue**.'."\n" - .'* StepScalingRule: scales ECS instances in steps based on the specified thresholds and metric values.'."\n" - .'* PredictiveScalingRule: uses machine learning to analyze historical monitoring data of the scaling group and predicts the future values of metrics. In addition, Auto Scaling automatically creates scheduled tasks to specify the value range for the scaling group.'."\n" - ."\n" - .'Default value: SimpleScalingRule'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SimpleScalingRule', - 'default' => 'SimpleScalingRule', - ], - ], - [ - 'name' => 'EstimatedInstanceWarmup', - 'in' => 'query', - 'schema' => [ - 'description' => 'The warmup period of an ECS instance. This parameter is available only if you set **ScalingRuleType** to **TargetTrackingScalingRule** or **PredictiveScalingRule**. Auto Scaling adds ECS instances that are in the Warmup state to a scaling group, but does not report monitoring data of the ECS instances to CloudMonitor during the warmup period.'."\n" - ."\n" - .'> When Auto Scaling calculates the number of ECS instances that must be scaled, ECS instances in the Warmup state are not counted toward the current capacity of the scaling group.'."\n" - ."\n" - .'Valid values: 0 to 86400. Unit: seconds.'."\n" - ."\n" - .'Default value: 300'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '300', - ], - ], - [ - 'name' => 'MetricName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The predefined metric of the scaling rule. If you set **ScalingRuleType** to **TargetTrackingScalingRule** or **PredictiveScalingRule**, you must also specify this parameter.'."\n" - ."\n" - .'Valid values if **ScalingRuleType** is set to **TargetTrackingScalingRule**:'."\n" - ."\n" - .'* CpuUtilization: the average CPU utilization'."\n" - .'* ClassicInternetRx: the average inbound Internet traffic over the classic network'."\n" - .'* ClassicInternetTx: the average outbound Internet traffic over the classic network'."\n" - .'* VpcInternetRx: the average inbound Internet traffic over a virtual private cloud (VPC)'."\n" - .'* VpcInternetTx: the average outbound Internet traffic over a VPC'."\n" - .'* IntranetRx: the average inbound traffic over the internal network'."\n" - .'* IntranetTx: the average outbound traffic over the internal network'."\n" - ."\n" - .'Valid values if **ScalingRuleType** is set to **PredictiveScalingRule**:'."\n" - ."\n" - .'* CpuUtilization: the average CPU utilization'."\n" - .'* IntranetRx: the average inbound traffic over the internal network'."\n" - .'* IntranetTx: the average outbound traffic over the internal network'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CpuUtilization', - ], - ], - [ - 'name' => 'TargetValue', - 'in' => 'query', - 'schema' => [ - 'description' => 'The target value. If you set **ScalingRuleType** to **TargetTrackingScalingRule** or **PredictiveScalingRule**, you must also specify this parameter. The value must be greater than 0 and can contain up to three decimal places.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.125', - ], - ], - [ - 'name' => 'DisableScaleIn', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to disable scale-in. This parameter is available if you set **ScalingRuleType** to **TargetTrackingScalingRule**.'."\n" - ."\n" - .'Default value: false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], - ], - [ - 'name' => 'ScaleInEvaluationCount', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of consecutive times that the event-triggered task created for scale-ins must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule.'."\n" - ."\n" - .'Default value: 15'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '15', - ], - ], - [ - 'name' => 'ScaleOutEvaluationCount', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of consecutive times that the event-triggered task created for scale-outs must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule.'."\n" - ."\n" - .'Default value: 3'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - ], - [ - 'name' => 'PredictiveScalingMode', - 'in' => 'query', - 'schema' => [ - 'description' => 'The mode of the predictive scaling rule. Valid values:'."\n" - ."\n" - .'* PredictAndScale: provides predictions and creates prediction tasks.'."\n" - .'* PredictOnly: provides predictions but does not create prediction tasks.'."\n" - ."\n" - .'Default value: PredictAndScale'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PredictAndScale', - ], - ], - [ - 'name' => 'PredictiveValueBehavior', - 'in' => 'query', - 'schema' => [ - 'description' => 'The action on the predicted maximum value. Valid values:'."\n" - ."\n" - .'* MaxOverridePredictiveValue: uses the initial maximum capacity as the maximum value for prediction tasks if the predicted value is greater than the initial maximum capacity.'."\n" - .'* PredictiveValueOverrideMax: uses the predicted value as the maximum value for prediction tasks if the predicted value is greater than the initial maximum capacity.'."\n" - .'* PredictiveValueOverrideMaxWithBuffer: increases the predicted value by a ratio that is specified by **PredictiveValueBuffer**, and uses the increased value as the maximum value for prediction tasks if the predicted value increased by the ratio is greater than the initial maximum capacity.'."\n" - ."\n" - .'Default value: MaxOverridePredictiveValue'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'MaxOverridePredictiveValue', - ], - ], - [ - 'name' => 'PredictiveValueBuffer', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ratio based on which the predicted value is increased if you set **PredictiveValueBehavior** to **PredictiveValueOverrideMaxWithBuffer**. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.'."\n" - ."\n" - .'Default value: 0'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], - ], - [ - 'name' => 'PredictiveTaskBufferTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The amount of buffer time before the prediction task runs. By default, all prediction tasks that are automatically created by a predictive scaling rule run on the hour. You can specify a buffer time to run prediction tasks and prepare resources in advance. Valid values: 0 to 60. Unit: minutes.'."\n" - ."\n" - .'Default value: 0'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - ], - ], - [ - 'name' => 'InitialMaxSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of ECS instances that can be added to the scaling group. If you specify **InitialMaxSize**, you must also specify **PredictiveValueBehavior**.'."\n" - ."\n" - .'The default value of this parameter is the value of **MaxSize**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - ], - [ - 'name' => 'StepAdjustment', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Details of the step adjustments.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'MetricIntervalUpperBound' => [ - 'description' => 'The upper limit of a step adjustment. This parameter takes effect only if you set **ScalingRuleType** to **StepScalingRule**. Valid values: -9.999999E18 to 9.999999E18.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '5.0', - ], - 'ScalingAdjustment' => [ - 'description' => 'The number of ECS instances that you want to scale in each step adjustment. This parameter is available if you set **ScalingRuleType** to **StepScalingRule**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'MetricIntervalLowerBound' => [ - 'description' => 'The lower limit of a step adjustment. This parameter is available if you set **ScalingRuleType** to **StepScalingRule**. Valid values: -9.999999E18 to 9.999999E18.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1.0', - ], - ], - 'required' => false, - 'description' => 'The upper limit that is specified in a step adjustment. Valid values: -9.999999E18 to 9.999999E18.', - ], - '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' => 'AlarmDimension', - 'in' => 'query', - 'allowEmptyValue' => false, - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DimensionKey' => [ - 'type' => 'string', - 'required' => false, - 'description' => 'The dimension key of the metric.'."\n", - 'example' => 'rulePool', - ], - 'DimensionValue' => [ - 'type' => 'string', - 'required' => false, - 'description' => 'The dimension value of the metric.'."\n", - 'example' => 'sgp-j4zhc14afvtg9khq8o', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 5, - 'description' => 'The dimension information associated with the item is applicable to the target tracking rule and is set when the item requires additional dimension information, for example, the `LoadBalancerRealServerAverageQps` item needs to specify the `rulePool` dimension information.', - ], - ], - [ - 'name' => 'MetricType', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'HybridMonitorNamespace', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'HybridMetrics', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'type' => 'string', - ], - 'Expression' => [ - 'type' => 'string', - ], - 'MetricName' => [ - 'type' => 'string', - ], - 'Statistic' => [ - 'type' => 'string', - ], - 'Dimensions' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DimensionKey' => [ - 'type' => 'string', - ], - 'DimensionValue' => [ - 'type' => 'string', - ], - ], - ], - 'maxItems' => 10, - ], - ], - ], - 'maxItems' => 100, - ], - ], - [ - 'name' => 'AlarmOptions', - 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Period' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - ], - ], - '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-A3DC0DE3C83E', - ], - 'ScalingRuleId' => [ - 'description' => 'The ID of the scaling rule, which is generated by the system and is globally unique.'."\n", - 'type' => 'string', - 'example' => 'asr-bp1dvirgwkoowxk7****', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingRuleAri\\": \\"ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingRuleId\\": \\"asr-bp1dvirgwkoowxk7****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n asr-bp1dvirgwkoowxk7****\\n","errorExample":""}]', - 'title' => 'CreateScalingRule', - 'description' => '## Usage notes'."\n" - ."\n" - .'A scaling rule specifies a specific scaling action, such as adding or removing *N* Elastic Compute Service (ECS) instances. If the number of ECS instances in a scaling group is less than the minimum number allowed or greater than the maximum number allowed after a scaling rule is executed, Auto Scaling adjusts the number of ECS instances to ensure that the number of ECS instances is still within the valid range after the scaling rule is executed. Examples:'."\n" - ."\n" - .'* If your scaling group contains two ECS instances and allows up to three ECS instances, only one ECS instance is added to your scaling group after you execute a scale-out rule in which three ECS instances are specified.'."\n" - .'* If your scaling group contains three ECS instances and requires at least two ECS instances, only one ECS instance is removed from your scaling group after you execute a scale-in rule in which five ECS instances are specified.'."\n" - ."\n" - .'Before you call this operation, take note of the following items:'."\n" - ."\n" - .'* If you set **AdjustmentType** to **TotalCapacity**, the number of ECS instances in the scaling group is adjusted to a specified value. The value of **AdjustmentValue** must be greater than or equal to 0.'."\n" - ."\n" - .'* If you set **AdjustmentType** to **QuantityChangeInCapacity**, a positive value of **AdjustmentValue** specifies the number of ECS instances that are added to the scaling group, and a negative value specifies the number of ECS instances that are removed from the scaling group.'."\n" - ."\n" - .'* If you set **AdjustmentType** to **PercentChangeInCapacity**, Auto Scaling calculates a value by using the following formula, and then rounds the value to the nearest integer to obtain the number of ECS instances that must be scaled: Value of **TotalCapacity** × Value of **AdjustmentValue**/100.'."\n" - ."\n" - .'* If you specify a cooldown period for a scaling rule, the cooldown period of the scaling rule takes effect after you execute the scaling rule. If you do not specify a cooldown period for a scaling rule, the value of **DefaultCooldown** of the scaling group takes effect after you execute the scaling rule.'."\n" - ."\n" - .'* You can create only a limited number of scaling rules for a scaling group. For more information, see [Limits](~~25863~~).'."\n" - ."\n" - .'* The following API operations may use the unique identifier of a scaling rule (ScalingRuleAri) that is returned by the CreateScalingRule operation:'."\n" - ."\n" - .' * ExecuteScalingRule: You can call this operation to manually execute a scaling rule. In this operation, you can set **ScalingRuleAri** to the unique identifier of the scaling rule that you want to execute.'."\n" - .' * CreateScheduledTask: You can call this operation to create a scheduled task for a scaling rule. In this operation, you can set **ScalingRuleAri** to the unique identifier of the scaling rule for which you want to create a scheduled task.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DeleteScalingRule' => [ - 'summary' => '删除一条伸缩规则', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '92668', - '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 ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'DeleteScalingRule', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DeleteScalingRule\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'ModifyScalingRule' => [ - 'summary' => '修改一条伸缩规则', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92710', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', - ], - ], - '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 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter or a digit. The name of a scaling rule must be unique within an Alibaba Cloud account in a region.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalingrule****', - ], - ], - [ - 'name' => 'Cooldown', - 'in' => 'query', - 'schema' => [ - 'description' => 'The cooldown period of the scaling rule. This parameter is available only if you set **ScalingRuleType** to **SimpleScalingRule**.'."\n" - ."\n" - .'Valid values: 0 to 86400. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], - ], - [ - 'name' => 'MinAdjustmentMagnitude', - 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of instances that must be scaled. This parameter takes effect only when `ScalingRuleType` is set to `SimpleScalingRule` or `StepScalingRule` and **AdjustmentType** is set to `PercentChangeInCapacity`.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'AdjustmentType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The adjustment method of the scaling rule. If you set **ScalingRuleType** to **SimpleScalingRule** or **StepScalingRule**, you must specify this parameter. Valid values:'."\n" - ."\n" - .'* QuantityChangeInCapacity: adds the specified number of Elastic Compute Service (ECS) instances to or removes the specified number of ECS instances from the scaling group.'."\n" - .'* PercentChangeInCapacity: adds the specified percentage of ECS instances to or removes the specified percentage of ECS instances from the scaling group.'."\n" - .'* TotalCapacity: adjusts the number of ECS instances in the scaling group to a specified number.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'QuantityChangeInCapacity', - ], - ], - [ - 'name' => 'AdjustmentValue', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of instances that must be scaled based on the scaling rule. If you set **ScalingRuleType** to **SimpleScalingRule** or **StepScalingRule**, you must specify this parameter. The number of ECS instances to be scaled in a single scaling activity cannot exceed 1,000. Valid values of **AdjustmentValue** vary based on the value of **AdjustmentType**.'."\n" - ."\n" - .'* Valid values of **AdjustmentValue** when **AdjustmentType** is set to **QuantityChangeInCapacity**: -1000 to 1000.'."\n" - .'* Valid values of **AdjustmentValue** when **AdjustmentType** is set to **PercentChangeInCapacity**: -100 to 10000.'."\n" - .'* Valid values of **AdjustmentValue** when **AdjustmentType** is set to **TotalCapacity**: 0 to 2000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - ], - [ - 'name' => 'EstimatedInstanceWarmup', - 'in' => 'query', - 'schema' => [ - 'description' => 'The warmup period of an ECS instance. This parameter is available only if you set **ScalingRuleType** to **TargetTrackingScalingRule** or **PredictiveScalingRule**. Auto Scaling adds ECS instances that are in the Warmup state to a scaling group but does not report monitoring data of the ECS instances to CloudMonitor during the warmup period.'."\n" - ."\n" - .'> When Auto Scaling calculates the number of ECS instances that you want to scale, the ECS instances that are in the Warmup state are not counted towards the current capacity of the scaling group.'."\n" - ."\n" - .'Valid values: 0 to 86400. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], - ], - [ - '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 of **MetricName** when** ScalingRuleType** is set to **TargetTrackingScalingRule**:'."\n" - ."\n" - .'* CpuUtilization: the average CPU utilization'."\n" - .'* ClassicInternetRx: the average inbound Internet traffic over the classic network'."\n" - .'* ClassicInternetTx: the average outbound Internet traffic over the classic network'."\n" - .'* VpcInternetRx: the average inbound Internet traffic over a virtual private cloud (VPC)'."\n" - .'* VpcInternetTx: the average outbound Internet traffic over a VPC'."\n" - .'* IntranetRx: the average inbound traffic over the internal network'."\n" - .'* IntranetTx: the average outbound traffic over the internal network'."\n" - ."\n" - .'Valid values of **MetricName** when **ScalingRuleType** is set to **PredictiveScalingRule**:'."\n" - ."\n" - .'* CpuUtilization: the average CPU utilization'."\n" - .'* IntranetRx: the average inbound traffic over the internal network'."\n" - .'* IntranetTx: the average outbound traffic over the internal network'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CpuUtilization', - ], - ], - [ - 'name' => 'TargetValue', - 'in' => 'query', - 'schema' => [ - 'description' => 'The target value. This parameter is available only if you set **ScalingRuleType** to **TargetTrackingScalingRule** or **PredictiveScalingRule**. The value must be greater than 0 and can contain up to three decimal places.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.125', - ], - ], - [ - 'name' => 'DisableScaleIn', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to disable scale-in. This parameter is available only if you set **ScalingRuleType** to **TargetTrackingScalingRule**.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'ScaleInEvaluationCount', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of consecutive times that the event-triggered task created for scale-ins meets the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '15', - ], - ], - [ - 'name' => 'ScaleOutEvaluationCount', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of consecutive times that the event-triggered task created for scale-outs meets the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - ], - [ - 'name' => 'PredictiveScalingMode', - 'in' => 'query', - 'schema' => [ - 'description' => 'The mode of the predictive scaling rule. Valid values:'."\n" - ."\n" - .'* PredictAndScale: provides predictions and creates prediction tasks.'."\n" - .'* PredictOnly: provides predictions but does not create prediction tasks.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PredictAndScale', - ], - ], - [ - 'name' => 'PredictiveValueBehavior', - 'in' => 'query', - 'schema' => [ - 'description' => 'The action on the predicted maximum value. Valid values:'."\n" - ."\n" - .'* MaxOverridePredictiveValue: uses the initial maximum capacity as the maximum value for prediction tasks if the predicted value is greater than the initial maximum capacity.'."\n" - .'* PredictiveValueOverrideMax: uses the predicted value as the maximum value for prediction tasks if the predicted value is greater than the initial maximum capacity.'."\n" - .'* PredictiveValueOverrideMaxWithBuffer: increases the predicted value by a ratio that is specified by **PredictiveValueBuffer**, and uses the increased value as the maximum value for prediction tasks if the predicted value increased by this ratio is greater than the initial maximum capacity.'."\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 by a predictive scaling rule are executed on the hour. You can set a buffer time to execute prediction tasks and prepare resources in advance. Valid values: 0 to 60.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - ], - ], - [ - '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' => 'StepAdjustment', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Details of the step adjustments.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'MetricIntervalUpperBound' => [ - 'description' => 'The upper limit of a step adjustment. This parameter takes effect only if you set **ScalingRuleType** to **StepScalingRule**. Valid values: -9.999999E18 to 9.999999E18.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '5.0', - ], - 'ScalingAdjustment' => [ - 'description' => 'The number of ECS instances that you want to scale in each step adjustment. This parameter is available only if you set **ScalingRuleType** to **StepScalingRule**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'MetricIntervalLowerBound' => [ - 'description' => 'The lower limit in a step adjustment. This parameter is available only if you set **ScalingRuleType** to **StepScalingRule**. Valid values: -9.999999E18 to 9.999999E18.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1.0', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], - ], - [ - 'name' => 'AlarmDimension', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DimensionKey' => [ - 'type' => 'string', - 'required' => false, - 'description' => 'The dimension key of the metric.'."\n", - 'example' => 'rulePool', - ], - 'DimensionValue' => [ - 'type' => 'string', - 'required' => false, - 'description' => 'The dimension value of the metric.'."\n", - 'example' => 'sgp-j4zhc14afvtg9khq8o', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 5, - 'description' => 'The dimension information associated with the item is applicable to the target tracking rule and is set when the item requires additional dimension information, for example, the `LoadBalancerRealServerAverageQps` item needs to specify the `rulePool` dimension information.', - ], - ], - [ - 'name' => 'MetricType', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'HybridMonitorNamespace', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'HybridMetrics', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'type' => 'string', - ], - 'Expression' => [ - 'type' => 'string', - ], - 'MetricName' => [ - 'type' => 'string', - ], - 'Statistic' => [ - 'type' => 'string', - ], - 'Dimensions' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DimensionKey' => [ - 'type' => 'string', - ], - 'DimensionValue' => [ - 'type' => 'string', - ], - ], - ], - 'maxItems' => 10, - ], - ], - ], - 'maxItems' => 100, - ], - ], - [ - 'name' => 'AlarmOptions', - 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Period' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'ModifyScalingRule', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=ModifyScalingRule\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DescribeScalingRules' => [ - 'summary' => '查询伸缩规则', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '92685', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', - ], - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-qingdao', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Pages start from page 1.'."\n" - ."\n" - .'Default value: 1'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Valid values: 1 to 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 whose scaling rules you want to query.'."\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: scales the number of Elastic Compute Service (ECS) instances based on the values of **AdjustmentType** and **AdjustmentValue**.'."\n" - .'* TargetTrackingScalingRule: calculates the number of ECS instances that must be scaled and maintains the value of a predefined metric close to the value of **TargetValue**.'."\n" - .'* StepScalingRule: scales ECS instances in steps based on the specified thresholds and metric values.'."\n" - .'* PredictiveScalingRule: uses machine learning to analyze historical monitoring data of the scaling group and predicts the future values of metrics. In addition, Auto Scaling creates scheduled tasks to adjust the minimum and maximum numbers of instances for the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SimpleScalingRule', - ], - ], - [ - 'name' => 'ShowAlarmRules', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to return the event-triggered tasks that are associated with the scaling rules. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], - ], - [ - 'name' => 'ScalingRuleId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the scaling rules that you want to query.', - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The ID of scaling rule *N* that you want to query. Valid values of *N*: 1 to 10.'."\n", - 'example' => 'asr-bp1dvirgwkoowxk7****', - ], - 'required' => false, - 'example' => 'asr-bp1dvirgwkoowxk7****', - 'maxItems' => 10, - ], - ], - [ - 'name' => 'ScalingRuleName', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The names of the scaling rules that you want to query.', - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The name of scaling rule* N* that you want to query. Valid values of *N*: 1 to 10.'."\n", - 'example' => 'scalingrule****', - ], - 'required' => false, - 'example' => 'scalingrule****', - 'maxItems' => 10, - ], - ], - [ - 'name' => 'ScalingRuleAri', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The unique identifier of scaling rule *N* that you want to query. Valid values of *N*: 1 to 10.'."\n", - 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', - ], - 'required' => false, - 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', - 'maxItems' => 10, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'TotalCount' => [ - 'description' => 'The total number of scaling rules.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScalingRules' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ScalingRule' => [ - 'description' => 'The information about the scaling rules.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'MetricName' => [ - 'description' => 'The predefined metric of the scaling rule. If you set **ScalingRuleType** to **TargetTrackingScalingRule** or **PredictiveScalingRule**, you must specify this parameter.'."\n" - ."\n" - .'Valid values if **ScalingRuleType** is set to **TargetTrackingScalingRule**:'."\n" - ."\n" - .'* CpuUtilization: the average CPU utilization'."\n" - ."\n" - .'* ClassicInternetRx: the average inbound Internet traffic over the classic network'."\n" - ."\n" - .'* ClassicInternetTx: the average outbound Internet traffic over the classic network'."\n" - ."\n" - .'* VpcInternetRx: the average inbound Internet traffic over a virtual private cloud (VPC)'."\n" - ."\n" - .'* VpcInternetTx: the average outbound Internet traffic over a VPC'."\n" - ."\n" - .'* IntranetRx: the average inbound traffic over the internal network'."\n" - ."\n" - .'* IntranetTx: the average outbound traffic over the internal network'."\n" - ."\n" - .' Valid values if **ScalingRuleType** is set to **PredictiveScalingRule**:'."\n" - ."\n" - .'* CpuUtilization: the average CPU utilization'."\n" - ."\n" - .'* IntranetRx: the average inbound traffic over the internal network'."\n" - ."\n" - .'* IntranetTx: the average outbound traffic over the internal network'."\n", - 'type' => 'string', - 'example' => 'CpuUtilization', - ], - 'AdjustmentType' => [ - 'description' => 'The adjustment method of the scaling rule. Valid values:'."\n" - ."\n" - .'* QuantityChangeInCapacity: adds the specified number of ECS instances to or removes the specified number of ECS instances from the scaling group.'."\n" - .'* PercentChangeInCapacity: adds the specified percentage of ECS instances to or removes the specified percentage of ECS instances from the scaling group.'."\n" - .'* TotalCapacity: adjusts the number of ECS instances in the scaling group to a specified number.'."\n", - 'type' => 'string', - 'example' => 'QuantityChangeInCapacity', - ], - 'InitialMaxSize' => [ - 'description' => 'The maximum number of ECS instances that can be added to the scaling group. If you specify **InitialMaxSize**, you must also specify **PredictiveValueBehavior**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'EstimatedInstanceWarmup' => [ - 'description' => 'The warmup period of an ECS instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '300', - ], - 'ScaleOutEvaluationCount' => [ - 'description' => 'The number of consecutive times that the event-triggered task created for scale-outs must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'PredictiveScalingMode' => [ - 'description' => 'The mode of the predictive scaling rule. Valid values:'."\n" - ."\n" - .'* PredictAndScale: provides predictions and creates prediction tasks.'."\n" - .'* PredictOnly: provides predictions but does not create prediction tasks.'."\n", - 'type' => 'string', - 'example' => 'PredictAndScale', - ], - 'MinAdjustmentMagnitude' => [ - 'description' => 'The minimum number of instances that must be scaled. This parameter takes effect only if you set `ScalingRuleType` to `SimpleScalingRule` or `StepScalingRule`, and `AdjustmentType` to **PercentChangeInCapacity**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScalingRuleAri' => [ - 'description' => 'The unique identifier of the scaling rule.'."\n", - 'type' => 'string', - 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', - ], - 'PredictiveTaskBufferTime' => [ - 'description' => 'The amount of buffer time before the prediction task runs. By default, all prediction tasks that are automatically created by a predictive scaling rule run on the hour. You can specify a buffer time to run prediction tasks and prepare resources in advance. Valid values: 0 to 60. Unit: minutes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'MinSize' => [ - 'description' => 'The minimum number of ECS instances that the scaling group must contain.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group whose scaling rules are queried.'."\n", - 'type' => 'string', - 'example' => 'asg-bp1ffogfdauy0jw0****', - ], - 'PredictiveValueBehavior' => [ - 'description' => 'The action on the predicted maximum value. Valid values:'."\n" - ."\n" - .'* MaxOverridePredictiveValue: uses the initial maximum capacity as the maximum value for prediction tasks if the predicted value is greater than the initial maximum capacity.'."\n" - .'* PredictiveValueOverrideMax: uses the predicted value as the maximum value for prediction tasks if the predicted value is greater than the initial maximum capacity.'."\n" - .'* PredictiveValueOverrideMaxWithBuffer: increases the predicted value by a ratio that is specified by **PredictiveValueBuffer**, and uses the increased value as the maximum value for prediction tasks if the predicted value increased by the ratio is greater than the initial maximum capacity.'."\n", - 'type' => 'string', - 'example' => 'MaxOverridePredictiveValue', - ], - 'TargetValue' => [ - 'description' => 'The target value.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.125', - ], - 'Cooldown' => [ - 'description' => 'The cooldown period of the scaling rule. This parameter is available only if you set **ScalingRuleType** to **SimpleScalingRule**. Valid values: 0 to 86400. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'MaxSize' => [ - 'description' => 'The maximum number of ECS instances that the scaling group can contain.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'PredictiveValueBuffer' => [ - 'description' => 'The ratio based on which the predicted value is increased if you set **PredictiveValueBehavior** to **PredictiveValueOverrideMaxWithBuffer**. If the predicted value that is increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'ScalingRuleType' => [ - 'description' => 'The type of the scaling rule. Valid values:'."\n" - ."\n" - .'* SimpleScalingRule: adjusts the number of ECS instances based on the values of **AdjustmentTyp****e** and **AdjustmentValue**.'."\n" - .'* TargetTrackingScalingRule: calculates the number of ECS instances that must be scaled and maintains the value of a predefined metric close to the value of **TargetValue**.'."\n" - .'* StepScalingRule: scales ECS instances in steps based on the specified thresholds and metric values.'."\n" - .'* PredictiveScalingRule: uses machine learning to analyze historical monitoring data of the scaling group and predicts the future values of metrics. In addition, Auto Scaling creates scheduled tasks to adjust the minimum and maximum numbers of instances for the scaling group.'."\n", - 'type' => 'string', - 'example' => 'SimpleScalingRule', - ], - 'AdjustmentValue' => [ - 'description' => 'The number of instances that need to be scaled based on the scaling rule.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScaleInEvaluationCount' => [ - 'description' => 'The number of consecutive times that the event-triggered task created for scale-ins must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'DisableScaleIn' => [ - 'description' => 'Indicates whether to disable scale-in. This parameter takes effect only if you set **ScalingRuleType** to **TargetTrackingScalingRule**. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ScalingRuleName' => [ - 'description' => 'The name of the scaling rule.'."\n", - 'type' => 'string', - 'example' => 'scalingrule****', - ], - 'ScalingRuleId' => [ - 'description' => 'The ID of the scaling rule.'."\n", - 'type' => 'string', - 'example' => 'asr-bp1dvirgwkoowxk7****', - ], - 'Alarms' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Alarm' => [ - 'description' => 'The event-triggered tasks that are associated with the scaling rule. This parameter is returned only if you set **ShowAlarmRules** to **true**. Otherwise, an empty list is returned.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'AlarmTaskId' => [ - 'description' => 'The ID of the event-triggered task that is associated with the scaling rule.'."\n", - 'type' => 'string', - 'example' => 'asg-bp18p2yfxow2dloq****_1f9458d1-70e1-4bee-8c7f-7a47695b****', - ], - 'ComparisonOperator' => [ - 'description' => 'The comparison operator between the statistical value and the threshold of the metric in the event-triggered task that is associated with the scaling rule. The comparison operator indicates the relationship in which the metric value and the metric threshold can meet the alert condition.'."\n" - ."\n" - .'* Valid value if the metric value is greater than or equal to the metric threshold: >='."\n" - .'* Valid value if the metric value is less than or equal to the metric threshold: <='."\n" - .'* Valid value if the metric value is greater than the metric threshold: >'."\n" - .'* Valid value if the metric value is less than the metric threshold: <'."\n", - 'type' => 'string', - 'example' => '>=', - ], - 'MetricName' => [ - 'description' => 'The name of the metric in the event-triggered task that is associated with the scaling rule.'."\n", - 'type' => 'string', - 'example' => 'CpuUtilization', - ], - 'EvaluationCount' => [ - 'description' => 'The number of consecutive times that the event-triggered task that is associated with the scaling rule must meet the alert condition before an alert is triggered.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'AlarmTaskName' => [ - 'description' => 'The name of the event-triggered task that is associated with the scaling rule.'."\n", - 'type' => 'string', - 'example' => 'alarmtask****', - ], - 'MetricType' => [ - 'description' => 'The type of the metric in the event-triggered task that is associated with the scaling rule. Valid values:'."\n" - ."\n" - .'* system: system metric'."\n" - .'* custom: custom metric'."\n", - 'type' => 'string', - 'example' => 'system', - ], - 'Threshold' => [ - 'description' => 'The threshold of the metric in the event-triggered task that is associated with the scaling rule.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '50', - ], - 'Statistics' => [ - 'description' => 'The statistical method of the event-triggered task that is associated with the scaling rule. Valid values:'."\n" - ."\n" - .'* Average'."\n" - .'* Maximum'."\n" - .'* Minimum'."\n", - 'type' => 'string', - 'example' => 'Average', - ], - 'Dimensions' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Dimension' => [ - 'description' => 'The dimensions of the event-triggered task that is associated with the scaling rule.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DimensionKey' => [ - 'description' => 'The dimension key of the event-triggered task that is associated with the scaling rule. Valid values:'."\n" - ."\n" - .'* scaling_group: the ID of the scaling group'."\n" - .'* userId: the ID of the Alibaba Cloud account'."\n", - 'type' => 'string', - 'example' => 'scaling_group', - ], - 'DimensionValue' => [ - 'description' => 'The dimension value of the event-triggered task that is associated with the scaling rule.'."\n", - 'type' => 'string', - 'example' => 'asg-bp18p2yfxow2dloq****', - ], - ], - ], - ], - ], - ], - 'Period' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - ], - ], - ], - 'StepAdjustments' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'StepAdjustment' => [ - 'description' => 'The step adjustments of the step scaling rule.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'MetricIntervalUpperBound' => [ - 'description' => 'The number of ECS instances that are scaled in a step adjustment.', - 'type' => 'number', - 'format' => 'float', - 'example' => '5.0', - ], - 'ScalingAdjustment' => [ - 'description' => 'The lower limit that is specified in a step adjustment. Valid values: -9.999999E18 to 9.999999E18.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MetricIntervalLowerBound' => [ - 'description' => 'auditing', - 'type' => 'number', - 'format' => 'float', - 'example' => '1.0', - ], - ], - 'description' => 'The upper limit that is specified in a step adjustment. Valid values: -9.999999E18 to 9.999999E18.', - ], - ], - ], - ], - 'AlarmDimensions' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'AlarmDimension' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DimensionKey' => [ - 'type' => 'string', - ], - 'DimensionValue' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - 'MetricType' => [ - 'type' => 'string', - ], - 'HybridMonitorNamespace' => [ - 'type' => 'string', - ], - 'HybridMetrics' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'HybridMetric' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'type' => 'string', - ], - 'Expression' => [ - 'type' => 'string', - ], - 'MetricName' => [ - 'type' => 'string', - ], - 'Statistic' => [ - 'type' => 'string', - ], - 'Dimensions' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Dimension' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DimensionKey' => [ - 'type' => 'string', - ], - 'DimensionValue' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"ScalingRules\\": {\\n \\"ScalingRule\\": [\\n {\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"AdjustmentType\\": \\"QuantityChangeInCapacity\\",\\n \\"InitialMaxSize\\": 100,\\n \\"EstimatedInstanceWarmup\\": 300,\\n \\"ScaleOutEvaluationCount\\": 3,\\n \\"PredictiveScalingMode\\": \\"PredictAndScale\\",\\n \\"MinAdjustmentMagnitude\\": 1,\\n \\"ScalingRuleAri\\": \\"ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****\\",\\n \\"PredictiveTaskBufferTime\\": 30,\\n \\"MinSize\\": 1,\\n \\"ScalingGroupId\\": \\"asg-bp1ffogfdauy0jw0****\\",\\n \\"PredictiveValueBehavior\\": \\"MaxOverridePredictiveValue\\",\\n \\"TargetValue\\": 0.125,\\n \\"Cooldown\\": 20,\\n \\"MaxSize\\": 2,\\n \\"PredictiveValueBuffer\\": 50,\\n \\"ScalingRuleType\\": \\"SimpleScalingRule\\",\\n \\"AdjustmentValue\\": 1,\\n \\"ScaleInEvaluationCount\\": 15,\\n \\"DisableScaleIn\\": true,\\n \\"ScalingRuleName\\": \\"scalingrule****\\",\\n \\"ScalingRuleId\\": \\"asr-bp1dvirgwkoowxk7****\\",\\n \\"Alarms\\": {\\n \\"Alarm\\": [\\n {\\n \\"AlarmTaskId\\": \\"asg-bp18p2yfxow2dloq****_1f9458d1-70e1-4bee-8c7f-7a47695b****\\",\\n \\"ComparisonOperator\\": \\">=\\",\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"EvaluationCount\\": 3,\\n \\"AlarmTaskName\\": \\"alarmtask****\\",\\n \\"MetricType\\": \\"system\\",\\n \\"Threshold\\": 50,\\n \\"Statistics\\": \\"Average\\",\\n \\"Dimensions\\": {\\n \\"Dimension\\": [\\n {\\n \\"DimensionKey\\": \\"scaling_group\\",\\n \\"DimensionValue\\": \\"asg-bp18p2yfxow2dloq****\\"\\n }\\n ]\\n },\\n \\"Period\\": 60\\n }\\n ]\\n },\\n \\"StepAdjustments\\": {\\n \\"StepAdjustment\\": [\\n {\\n \\"MetricIntervalUpperBound\\": 5,\\n \\"ScalingAdjustment\\": 1,\\n \\"MetricIntervalLowerBound\\": 1\\n }\\n ]\\n },\\n \\"AlarmDimensions\\": {\\n \\"AlarmDimension\\": [\\n {\\n \\"DimensionKey\\": \\"rulePool\\",\\n \\"DimensionValue\\": \\"sgp-l1cbirz451yxu2****\\"\\n }\\n ]\\n },\\n \\"MetricType\\": \\"system\\",\\n \\"HybridMonitorNamespace\\": \\"aliyun-test\\",\\n \\"HybridMetrics\\": {\\n \\"HybridMetric\\": [\\n {\\n \\"Id\\": \\"a\\",\\n \\"Expression\\": \\"(a+b)/2\\",\\n \\"MetricName\\": \\"AliyunSmq_NumberOfMessagesVisible\\",\\n \\"Statistic\\": \\"Average\\",\\n \\"Dimensions\\": {\\n \\"Dimension\\": [\\n {\\n \\"DimensionKey\\": \\"queue\\",\\n \\"DimensionValue\\": \\"testQueue\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n 1\\n 50\\n 1\\n \\n CpuUtilization\\n QuantityChangeInCapacity\\n 100\\n 300\\n 3\\n PredictAndScale\\n 1\\n ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****\\n 30\\n 1\\n asg-bp1ffogfdauy0jw0****\\n MaxOverridePredictiveValue\\n 0.125\\n 20\\n 2\\n 50\\n SimpleScalingRule\\n 1\\n 15\\n true\\n scalingrule****\\n asr-bp1dvirgwkoowxk7****\\n \\n asg-bp18p2yfxow2dloq****_1f9458d1-70e1-4bee-8c7f-7a47695b****\\n >=\\n CpuUtilization\\n 3\\n alarmtask****\\n system\\n 50\\n Average\\n \\n scaling_group\\n asg-bp18p2yfxow2dloq****\\n \\n \\n \\n 5\\n 1\\n 1\\n \\n \\n rulePool\\n sgp-l1cbirz451yxu2****\\n \\n \\n","errorExample":""}]', - 'title' => 'DescribeScalingRules', - 'description' => '## Usage notes'."\n" - ."\n" - .'You can specify a scaling group ID to query all scaling rules in the scaling group. You can also specify the scaling rule ID, name, unique identifier, and type in the request parameters as filter conditions.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'AttachInstances' => [ - 'summary' => '为伸缩组手动添加实例', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92649', - '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 the scaling group manages the lifecycle of instances that are manually added to the scaling group. Valid values:'."\n" - ."\n" - .'* true: The scaling group manages the lifecycle of instances that are manually added in a similar manner in which the scaling group manages the lifecycle of automatically created instances. When the instances are removed from the scaling group, the instances are automatically released. However, if you call the DetachInstances operation to remove the instances from the scaling group, the instances are not released.'."\n" - .'* false: The scaling group does not manage the lifecycle of instances that are manually added. After the instances are removed from the scaling group, the instances are not released.'."\n" - ."\n" - .'> This parameter is unavailable for subscription instances.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The ID of instance N that you want to add. Valid values of N: 1 to 20.'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* The ID of the ECS instance that you want to add is `i-28wt4****`.'."\n" - .'* The ID of the elastic container instance that you want to add is `eci-bp17gw49eu09yiwm****`.', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of instance N that you want to add. Valid values of N: 1 to 20.'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* The ID of the ECS instance that you want to add is `i-28wt4****`.'."\n" - .'* The ID of the elastic container instance that you want to add is `eci-bp17gw49eu09yiwm****`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-28wt4****', - ], - 'required' => false, - 'example' => 'i-28wt4****', - 'maxItems' => 100, - ], - ], - [ - 'name' => 'LoadBalancerWeight', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The weight of instance N as a backend server of the Server Load Balancer (SLB) instance that is associated with the scaling group to which you want to add instance N. Valid values of N: 1 to 20. Valid values of this parameter: 1 to 100.'."\n" - ."\n" - .'Default value: 50.', - 'type' => 'array', - 'items' => [ - 'description' => 'The weight of instance N as a backend server of the Server Load Balancer (SLB) instance that is associated with the scaling group to which you want to add instance N. Valid values of N: 1 to 20. Valid values of this parameter: 1 to 100.'."\n" - ."\n" - .'Default value: 50.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], - 'required' => false, - 'example' => '50', - 'maxItems' => 100, - ], - ], - [ - 'name' => 'LifecycleHook', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to trigger a lifecycle hook for the scaling group to which instances are being added. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'IgnoreInvalidInstance', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], - ], - ], - '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', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1crxor24s28xf1****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n asa-bp1crxor24s28xf1****\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'AttachInstances', - 'description' => '## Description'."\n" - ."\n" - .'Before you call this operation, make sure that the following conditions are met:'."\n" - ."\n" - .'* The scaling group is in the Active state.'."\n" - .'* No scaling activities in the scaling group are in progress.'."\n" - ."\n" - .'The ECS instances and the elastic container instances that you want to add to a scaling group must meet the following requirements:'."\n" - ."\n" - .'* The instances reside in the same region as the scaling group.'."\n" - .'* The instances are in the Running state.'."\n" - .'* The instances are not added to other scaling groups.'."\n" - .'* The instances use the subscription or pay-as-you-go billing method, or are preemptible instances.'."\n" - .'* If the VswitchID parameter is specified for a scaling group, the instances that are in the classic network or those that are not in the same virtual private cloud (VPC) as the specified vSwitch cannot be added to the scaling group.'."\n" - .'* If the VswitchID parameter is not specified for a scaling group, the instances that are in VPCs cannot be added to the scaling group.'."\n" - ."\n" - .'If no scaling activities in the specified scaling group are in progress, the operation can trigger scaling activities even before the cooldown time expires.'."\n" - ."\n" - .'A successful call indicates that Auto Scaling accepts the request. However, the scaling activity may still fail. You can obtain the status of a scaling activity by using the value of the ScalingActivityId parameter in the response.'."\n" - ."\n" - .'If the sum of the number of instances that you want to add and the number of existing instances in the scaling group is greater than the MaxSize value, the call fails.'."\n" - ."\n" - .'Instances that are manually added by calling the AttachInstances operation are not associated with the active scaling configuration of the scaling group.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DetachInstances' => [ - 'summary' => '从一个伸缩组移出一台或多台实例', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92690', - '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' => 'IgnoreInvalidInstance', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - ], - ], - [ - 'name' => 'DetachOption', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove the instances from the default server groups and vServer groups of the Server Load Balancer (SLB) instance that is associated with the scaling group, and whether to remove the IP addresses of the instances from the whitelist that manages access to the ApsaraDB RDS instance that is associated with the scaling group.'."\n" - ."\n" - .'If you set this parameter to both, the instances are removed from the default sever groups and vServer groups of the associated SLB instance, and the IP addresses of the instances are removed from the whitelist that manages access to the associated ApsaraDB RDS instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'both', - ], - ], - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The ID of ECS instance N or elastic container instance N that you want to remove from the scaling group. Valid values of N: 1 to 20.'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* The ID of the ECS instance that you want to remove is `i-bp109k5j3dum1ce6****`.'."\n" - .'* The ID of the elastic container instance that you want to remove is `eci-bp17gw49eu09yiwm****`.', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of ECS instance N or elastic container instance N that you want to remove from the scaling group. Valid values of N: 1 to 20.'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* The ID of the ECS instance that you want to remove is `i-bp109k5j3dum1ce6****`.'."\n" - .'* The ID of the elastic container instance that you want to remove is `eci-bp17gw49eu09yiwm****`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp109k5j3dum1ce6****', - ], - 'required' => true, - 'example' => 'i-bp109k5j3dum1ce6****', - 'maxItems' => 100, - ], - ], - [ - 'name' => 'LifecycleHook', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to trigger the lifecycle hook for the scaling group when you remove instances from the scaling group. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - ], - '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****', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1gbswjhjrw8tko****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n asa-bp1gbswjhjrw8tko****\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'DetachInstances', - 'description' => '## Description'."\n" - ."\n" - .'After ECS instances or elastic container instances are removed from a scaling group, you can call the [AttachInstances](~~25954~~) operation to add the ECS instances or elastic container instances that are removed from the scaling group to other scaling groups.'."\n" - ."\n" - .'After you remove an ECS instance or elastic container instance by calling the DetachInstances operation, the instance is not stopped or released.'."\n" - ."\n" - .'Before you call this operation, make sure that the following conditions are met:'."\n" - ."\n" - .'* The specified scaling group is enabled.'."\n" - .'* No scaling activities in the specified scaling group are in progress.'."\n" - ."\n" - .'If no scaling activities in the specified scaling group are in progress, the operation can immediately trigger scaling activities without the need to wait for the cooldown time to expire.'."\n" - ."\n" - .'A successful call indicates only that Auto Scaling accepts the request. However, the scaling activity may still fail. You can obtain the status of a scaling activity based on the return value of the ScalingActivityId parameter.'."\n" - ."\n" - .'The number of ECS instances or elastic container instances in a scaling group after you remove a specific number of instances from the scaling group must be equal to or greater than the value of the MinSize parameter. Otherwise, an error is reported when you call the DetachInstances operation.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'ExecuteScalingRule' => [ - 'summary' => '执行一条伸缩规则', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92698', - 'abilityTreeNodes' => [ - 'FEATUREessKCZYL8', - ], - ], - 'parameters' => [ - [ - 'name' => 'ScalingRuleAri', - 'in' => 'query', - 'schema' => [ - 'description' => 'The unique identifier of the scaling rule.'."\n" - ."\n" - .'> You can call the ExecuteScalingRule operation to execute only simple scaling rules and step scaling rules. To execute a step scaling rule, you must specify both BreachThreshold and MetricValue.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests. 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-426655440000', - ], - ], - [ - 'name' => 'BreachThreshold', - 'in' => 'query', - 'schema' => [ - 'description' => 'The threshold specified when the step scaling rule is executed. Valid values: -9.999999E18~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~9.999999E18.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1.0', - ], - ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'example' => 'asa-bp13o672yeautiil****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp13o672yeautiil****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n asa-bp13o672yeautiil****\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'ExecuteScalingRule', - 'description' => '## Description'."\n" - ."\n" - .'Before you call this operation, make sure that the following conditions are met:'."\n" - ."\n" - .'* The scaling group is in the Active state.'."\n" - .'* The scaling group does not have scaling activities in progress.'."\n" - ."\n" - .'If no scaling activity is being executed in the scaling group, this operation can trigger scaling activities immediately without waiting for the cooldown time to expire.'."\n" - ."\n" - .'If the call is successful, Auto Scaling has accepted the request. However, this does not mean that the scaling activity will succeed. You can determine the status of a scaling activity based on the return value of the ScalingActivityId parameter.'."\n" - ."\n" - .'If the number of ECS instances to be added will leave the number of instances in the scaling group greater than MaxSize, Auto Scaling adds the proper number of ECS instances to maintain the number of ECS instances in the scaling group equal to the MaxSize value.'."\n" - ."\n" - .'If the number of ECS instances to be removed will leave the number of instances in the scaling group less than MinSize, Auto Scaling removes the proper number of ECS instances to maintain the number of ECS instances in the scaling group equal to the MinSize value.'."\n" - ."\n" - .'A limited number of ECS instances can be adjusted at a time. For more information, see the description about the AdjustmentValue parameter in [CreateScalingRule](~~25948~~).'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'RemoveInstances' => [ - 'summary' => '从一个伸缩组删除一台或多台实例', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'high', - 'chargeType' => 'free', - 'abilityTreeCode' => '92714', - '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 that is performed when ECS instances are removed. Valid values:'."\n" - ."\n" - .'* recycle: The ECS instances enter the economical mode.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** This setting takes effect only if you set ScalingPolicy to recycle.'."\n" - ."\n" - .'* release: The ECS instances are released.'."\n" - ."\n" - .'The ScalingPolicy parameter that you specify when you call the CreateScalingGroup operation specifies the reclaim mode of the scaling group. The RemovePolicy parameter that you specify when you call the RemoveInstances operation specifies the action to be performed on ECS instances when the ECS instances are removed. Examples:'."\n" - ."\n" - .'* If you set ScalingPolicy and RemovePolicy to recycle, the ECS instances enter the economical mode when they are removed.'."\n" - .'* If you set ScalingPolicy to recycle and RemovePolicy to release, the ECS instances are released when they are removed.'."\n" - .'* If you set ScalingPolicy to release and RemovePolicy to recycle, the ECS instances are released when they are removed.'."\n" - .'* If you set ScalingPolicy and RemovePolicy to release, the ECS instances are released when they are removed.'."\n" - ."\n" - .'Default value: release.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'release', - ], - ], - [ - '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 a scaling group, the expected number of ECS instances in the scaling group decreases.'."\n" - .'* false: After ECS instances are removed from a scaling group, the expected number of ECS instances in the scaling group remains unchanged.'."\n" - ."\n" - .'Default value: true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'IgnoreInvalidInstance', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - ], - ], - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The ID of ECS instance N that you want to remove. Valid values of N: 1 to 20.', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of ECS instance N that you want to remove. Valid values of N: 1 to 20.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-28wt4****', - ], - 'required' => true, - 'example' => 'i-28wt4****', - 'maxItems' => 1000, - ], - ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'StopInstanceTimeout', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - [ - 'name' => 'LifecycleHookContext', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'DisableLifecycleHook' => [ - 'type' => 'boolean', - ], - 'IgnoredLifecycleHookIds' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - 'LifecycleHookResult' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - '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-A3DC0DE3C83E', - ], - 'IgnoredInstances' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'IgnoredInstance' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'InstanceId' => [ - 'type' => 'string', - ], - 'Code' => [ - 'type' => 'string', - ], - 'Message' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp175o6f6ego3r2j****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"IgnoredInstances\\": {\\n \\"IgnoredInstance\\": [\\n {\\n \\"InstanceId\\": \\"\\",\\n \\"Code\\": \\"\\",\\n \\"Message\\": \\"\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n asa-bp175o6f6ego3r2j****\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'RemoveInstances', - 'description' => '## Description'."\n" - ."\n" - .'* Before you call this operation, make sure that the following requirements are met:'."\n" - ."\n" - .' * The scaling group is in the Active state.'."\n" - .' * No scaling activity is in progress within the scaling group.'."\n" - ."\n" - .'If no scaling activity is in progress within the scaling group, you can call the operation even within the cooldown period.'."\n" - ."\n" - .'* If an ECS instance is automatically created by Auto Scaling, or if an ECS instance is manually added to a scaling group and managed by the scaling group, the ECS instance enters the economical mode or is released when the instance is removed from the scaling group.'."\n" - .'* If an ECS instance is manually added to a scaling group and is not managed by the scaling group, the ECS instance is not stopped or released when the instance is removed from the scaling group.'."\n" - .'* If the difference between the number of existing ECS instances specified by TotalCapacity and the number of ECS instances that you specified to remove is less than the value of MinSize, the call fails.'."\n" - ."\n" - .'A successful call indicates that Auto Scaling accepts the request. However, the scaling activity may still fail. You can obtain the status of a scaling activity based on the value of the ScalingActivityId parameter in the response.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'CreateScheduledTask' => [ - 'summary' => '创建一个定时任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '92660', - '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" - .'By default, 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. If you specify the `ScheduledAction` parameter, you must select an existing scaling rule for the scheduled task.'."\n" - ."\n" - .'> You cannot specify the `ScheduledAction` and `ScalingGroupId` parameters at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ari:acs:ess:cn-hangzhou:140692647****:scalingrule/asr-bp12tcnol686y1ik****', - ], - ], - [ - '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 in the YYYY-MM-DDThh:mmZ format. The time must be in UTC. You cannot enter a point in time that is later than 90 days from the point in time at which the scheduled task is created.'."\n" - ."\n" - .'* If you specify the `RecurrenceType` parameter, the scheduled task is repeatedly executed at the point in time that is specified by the LaunchTime parameter.'."\n" - .'* If you do not specify the `RecurrenceType` parameter, the task is executed only once at the point in time that is specified by the LaunchTime parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2014-08-17T16:52Z', - 'docRequired' => true, - ], - ], - [ - 'name' => 'RecurrenceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The interval at which the scheduled task is repeatedly executed. Valid values:'."\n" - ."\n" - .'* Daily: The scheduled task is executed once every specified number of days.'."\n" - .'* Weekly: The scheduled task is executed on each specified day of a week.'."\n" - .'* Monthly: The scheduled task is executed on each specified day of a month.'."\n" - .'* Cron: The scheduled task is executed based on the specified cron expression.'."\n" - ."\n" - .'You must specify the `RecurrenceType` and `RecurrenceValue` parameters at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Daily', - ], - ], - [ - 'name' => 'RecurrenceValue', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of recurrences of the scheduled task.'."\n" - ."\n" - .'* If you set the `RecurrenceType` parameter to `Daily`, you can specify only one value. Valid values: 1 to 31.'."\n" - .'* If you set the `RecurrenceType` parameter to `Weekly`, you can specify multiple values. Separate the values with commas (,). The values that correspond to Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday are 0, 1, 2, 3, 4, 5, and 6.'."\n" - .'* If you set the `RecurrenceType` parameter to `Monthly`, you can specify two values in the `A-B` format. Valid values of A and B: 1 to 31. B must be greater than or equal to A.'."\n" - .'* If you set the `RecurrenceType` parameter to `Cron`, you can specify a cron expression. A cron expression is written in UTC time and consists of the following fields: minute, hour, day, month, and week. The expression can contain the letters L and W and the following wildcard characters: commas (,), question marks (?), hyphens (-), asterisks (\\*), number signs (#), and forward slashes (/).'."\n" - ."\n" - .'You must specify the `RecurrenceType` and `RecurrenceValue` parameters at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'TaskEnabled', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the scheduled task.'."\n" - ."\n" - .'* true: enables the scheduled task.'."\n" - .'* false: disables the scheduled task.'."\n" - ."\n" - .'Default value: true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'LaunchExpirationTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The period of time during which a failed scheduled task is retried. Unit: seconds. Valid values: 0 to 21600.'."\n" - ."\n" - .'Default value: 600.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '86400', - 'minimum' => '0', - 'example' => '600', - 'default' => '600', - ], - ], - [ - 'name' => 'MinValue', - 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of instances in the scaling group if the scaling method of the scaling group is to specify the number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], - ], - [ - 'name' => 'MaxValue', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of instances in the scaling group if the scaling method of the scaling group is to specify the number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'DesiredCapacity', - 'in' => 'query', - 'schema' => [ - 'description' => 'The expected number of instances in the scaling group if the scaling method of the scaling group is to specify the number of instances.'."\n" - ."\n" - .'> You must specify the `DesiredCapacity` parameter when you create a scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group whose number of instances is changed when the scheduled task is triggered. If you specify the `ScalingGroupId` parameter for a scheduled task, the scaling method of the scheduled task is to specify the number of instances in the scaling group. In this case, you must specify at least one of the `MinValue`, `MaxValue`, and `DesiredCapacity` parameters.'."\n" - ."\n" - .'> You cannot specify the `ScheduledAction` and `ScalingGroupId` parameters at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], - ], - ], - '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****', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScheduledTaskId\\": \\"edRtShc57WGXdt8TlPbr****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n edRtShc57WGXdt8TlPbr****\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'CreateScheduledTask', - 'description' => '## Description'."\n" - ."\n" - .'* If a scheduled task fails to execute a scaling rule due to an ongoing scaling activity in a scaling group or because the scaling group is disabled, the scheduled task is automatically retried during the period that is specified by the `LaunchExpirationTime` parameter. If the scheduled task still fails after the specified period ends, the task is automatically skipped.'."\n" - ."\n" - .'* If multiple tasks are scheduled at similar points in time to execute scaling rules in the same scaling group, the earliest task triggers the first scaling activity. Other tasks execute scaling rules within their launch expiration time. Only one scaling activity can be triggered in a scaling group at a time. If the previous scaling activity is complete and another scheduled task attempts to trigger a scaling activity, Auto Scaling executes the scaling rule that is specified in the scheduled task and then triggers a scaling activity.'."\n" - ."\n" - .'* A scheduled task supports the following scaling methods:'."\n" - ."\n" - .' * If you specify the `ScheduledAction` parameter, the scaling method of the scheduled task is to specify an existing scaling rule that you want to execute when the scheduled task is triggered.'."\n" - ."\n" - .' * If you specify the `ScalingGroupId` parameter, the scaling method of the scheduled task is to specify the minimum number, maximum number, or expected number of instances in the scaling group for which you create the scheduled task.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** You cannot specify the `ScheduledAction` and `ScalingGroupId` parameters at the same time.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DeleteScheduledTask' => [ - 'summary' => '删除一个定时任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '92669', - 'abilityTreeNodes' => [ - 'FEATUREess30IPAO', - ], - ], - 'parameters' => [ - [ - 'name' => 'ScheduledTaskId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scheduled task. 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 ID of the region where the scheduled task is created.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'DeleteScheduledTask', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DeleteScheduledTask\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'ModifyScheduledTask' => [ - 'summary' => '修改一个定时任务的信息', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92711', - '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 (.). The name must start with a letter or a digit. The name of the scheduled task must be unique in the region and within the Alibaba Cloud account.'."\n", - 'type' => 'string', - '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. If you specify the `ScheduledAction` parameter, you must select an existing scaling rule.'."\n" - ."\n" - .'> You cannot specify the `ScheduledAction` and `ScalingGroupId` parameters at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ari:acs:ess:cn-hangzhou:14069264****:scalingrule/asr-bp12tcnol686y1ik****', - ], - ], - [ - '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 time point later than 365 days from the scheduled task modification.'."\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 was triggered. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mmZ format. The time must be in UTC. You cannot enter a time point later than 90 days from the scheduled task modification.'."\n" - ."\n" - .'* If you specify the `RecurrenceType` parameter, the task is repeatedly executed at the time point that is specified by the LaunchTime parameter.'."\n" - .'* If you do not specify the `RecurrenceType` parameter, the task is executed only once at the time point that is specified by the LaunchTime parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2014-08-18T10:52Z', - ], - ], - [ - 'name' => 'RecurrenceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The interval at which the scheduled task is repeatedly executed. Valid values:'."\n" - ."\n" - .'* Daily: The scheduled task is executed once every specified number of days.'."\n" - .'* Weekly: The scheduled task is executed on each specified day of a week.'."\n" - .'* Monthly: The scheduled task is executed on each specified day of a month.'."\n" - .'* Cron: The scheduled task is executed based on the specified cron expression.'."\n" - ."\n" - .'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. Valid values: 1 to 31.'."\n" - .'* If you set the `RecurrenceType` parameter to `Weekly`, you can specify multiple values. Separate them with commas (,). For example, the values that correspond to Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday are 0, 1, 2, 3, 4, 5, and 6.``'."\n" - .'* If you set the `RecurrenceType` parameter to `Monthly`, you can specify two values in the `A-B` format. Valid values of A and B: 1 to 31. B must be greater than or equal to A.'."\n" - .'* If you set `RecurrenceType` to `Cron`, you can specify a cron expression. A cron expression is written in UTC time and consists of the following fields: minute, hour, day, month, and week. The expression can contain wildcard characters, including commas (,), question marks (?), hyphens (-), asterisks (\\*), number signs (#), forward slashes (/), and the letters L and W.'."\n" - ."\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: enables the scheduled task.'."\n" - .'* false: disables the scheduled task.'."\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', - ], - ], - [ - '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 the 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 is changed when the scheduled task is triggered. If you specify the `ScalingGroupId` parameter, you must specify at least one of the `MinValue`, `MaxValue`, and `DesiredCapacity` parameters.'."\n" - ."\n" - .'> You cannot specify the `ScheduledAction` and `ScalingGroupId` parameters at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], - ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Throttling', - 'errorMessage' => 'Request was denied due to request throttling.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'ModifyScheduledTask', - 'description' => '## Description'."\n" - ."\n" - .'You can use the following parameters to specify the scaling method of a scheduled task:'."\n" - ."\n" - .'* If you use the `ScheduledAction` parameter, you must select an existing scaling rule for the scheduled task.'."\n" - .'* If you use the `ScalingGroupId` parameter, you must specify at least one of the minimum number, maximum number, and expected number of instances in the scheduled task for a scaling group.'."\n" - ."\n" - .'> You cannot specify the `ScheduledAction` and `ScalingGroupId` parameters at the same time.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DescribeScheduledTasks' => [ - 'summary' => '查询定时任务的信息', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '92686', - 'abilityTreeNodes' => [ - 'FEATUREessAWW1X1', - ], - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group to which a scheduled task belongs.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-qingdao', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number of the scheduled task list to return. Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'example' => '50', - 'default' => '10', - ], - ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group in which you want to execute the scheduled task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp1bo5tca4m56nap****', - ], - ], - [ - 'name' => 'ScheduledAction', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The actions that you want Auto Scaling to perform when the scheduled task is triggered.', - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The operation that you want to perform when scheduled task N is triggered. Valid values of N: 1 to 20.'."\n", - 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****', - ], - 'required' => false, - 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****', - 'maxItems' => 20, - ], - ], - [ - 'name' => 'ScheduledTaskId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The total number of scheduled tasks.', - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The ID of scheduled task N that you want to query. Valid values of N: 1 to 20.'."\n", - 'example' => 'edRtShc57WGXdt8TlPbr****', - ], - 'required' => false, - 'example' => 'edRtShc57WGXdt8TlPbr****', - 'maxItems' => 20, - ], - ], - [ - 'name' => 'ScheduledTaskName', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The total number of scheduled tasks.', - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The name of scheduled task N that you want to query. Valid values of N: 1 to 20.'."\n", - 'example' => 'scheduled****', - ], - 'required' => false, - 'example' => 'scheduled****', - 'maxItems' => 20, - ], - ], - [ - 'name' => 'TaskName', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'RecurrenceType', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'RecurrenceValue', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - [ - 'name' => 'TaskEnabled', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'TotalCount' => [ - 'description' => 'The total number of scheduled tasks.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScheduledTasks' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ScheduledTask' => [ - 'description' => 'The collection of scheduled tasks.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'TaskEnabled' => [ - 'description' => 'Specifies whether the scheduled task is enabled.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'RecurrenceValue' => [ - 'description' => 'The number of recurrences of the scheduled task.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'RecurrenceType' => [ - 'description' => 'The interval at which the scheduled task recurs.'."\n", - 'type' => 'string', - 'example' => 'Daily', - ], - 'MaxValue' => [ - 'description' => 'The maximum number of instances in the scaling group when the Scaling Method parameter of the scheduled task is set to Configure Number of Instances in Scaling Group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'ScheduledTaskName' => [ - 'description' => 'The name of the scheduled task.'."\n", - 'type' => 'string', - 'example' => 'scheduled****', - ], - 'RecurrenceEndTime' => [ - 'description' => 'The end time of the recurrence of the scheduled task.'."\n", - 'type' => 'string', - 'example' => '2014-08-20T16:55Z', - ], - 'DesiredCapacity' => [ - 'description' => 'The expected number of instances in the scaling group when the Scaling Method parameter of the scheduled task is set to Configure Number of Instances in Scaling Group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'ScheduledTaskId' => [ - 'description' => 'The ID of the scheduled task.'."\n", - 'type' => 'string', - 'example' => 'edRtShc57WGXdt8TlPbr****', - ], - 'MinValue' => [ - 'description' => 'The minimum number of instances in the scaling group when the Scaling Method parameter of the scheduled task is set to Configure Number of Instances in Scaling Group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group in which you want to execute the scheduled task.'."\n", - 'type' => 'string', - 'example' => 'asg-bp1bo5tca4m56nap****', - ], - 'LaunchExpirationTime' => [ - 'description' => 'The time period during which the failed scheduled task is retried. Unit: seconds. Valid values: 0 to 21600.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '600', - ], - 'Description' => [ - 'description' => 'The description of the scheduled task.'."\n", - 'type' => 'string', - 'example' => 'Test scheduled task.', - ], - 'ScheduledAction' => [ - 'description' => 'The scaling rule that you want to use to execute the scheduled task. This parameter is returned only if a scaling rule is specified for the scheduled task.'."\n", - 'type' => 'string', - 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****', - ], - 'LaunchTime' => [ - 'description' => 'The point in time at which the scheduled task is triggered.'."\n", - 'type' => 'string', - 'example' => '2014-08-18T10:52Z', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"ScheduledTasks\\": {\\n \\"ScheduledTask\\": [\\n {\\n \\"TaskEnabled\\": true,\\n \\"RecurrenceValue\\": \\"1\\",\\n \\"RecurrenceType\\": \\"Daily\\",\\n \\"MaxValue\\": 10,\\n \\"ScheduledTaskName\\": \\"scheduled****\\",\\n \\"RecurrenceEndTime\\": \\"2014-08-20T16:55Z\\",\\n \\"DesiredCapacity\\": 10,\\n \\"ScheduledTaskId\\": \\"edRtShc57WGXdt8TlPbr****\\",\\n \\"MinValue\\": 0,\\n \\"ScalingGroupId\\": \\"asg-bp1bo5tca4m56nap****\\",\\n \\"LaunchExpirationTime\\": 600,\\n \\"Description\\": \\"Test scheduled task.\\",\\n \\"ScheduledAction\\": \\"ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****\\",\\n \\"LaunchTime\\": \\"2014-08-18T10:52Z\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n 1\\n 50\\n 1\\n \\n true\\n 1\\n Daily\\n 10\\n scheduled****\\n 2014-08-20T16:55Z\\n 10\\n edRtShc57WGXdt8TlPbr****\\n 0\\n asg-bp1bo5tca4m56nap****\\n 600\\n Test scheduled task.\\n ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****\\n 2014-08-18T10:52Z\\n \\n","errorExample":""}]', - 'title' => 'DescribeScheduledTasks', - 'description' => '## Description'."\n" - ."\n" - .'You can query scheduled tasks based on scaling rule, task ID, and task name.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'CreateLifecycleHook' => [ - 'summary' => '为伸缩组创建一个生命周期挂钩', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '92655', - '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 (.). The name must start with a letter or a digit.'."\n" - ."\n" - .'If you do not specify this parameter, the value of the LifecycleHookId parameter is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lifecyclehook****', - ], - ], - [ - 'name' => 'LifecycleTransition', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the scaling activities to which you want to apply the lifecycle hook. Valid values:'."\n" - ."\n" - .'* SCALE_OUT: scale-out activities'."\n" - .'* SCALE_IN: scale-in activities'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'SCALE_OUT', - ], - ], - [ - 'name' => 'DefaultResult', - 'in' => 'query', - 'schema' => [ - 'description' => 'The action that Auto Scaling performs after the lifecycle hook times out. Valid values:'."\n" - ."\n" - .'* CONTINUE: Auto Scaling continues to respond to a scale-in or scale-out request.'."\n" - .'* ABANDON: Auto Scaling releases ECS instances that are created during scale-out activities or removes ECS instances from the scaling group during scale-in activities.'."\n" - .'* ROLLBACK: For scale-in activities, Auto Scaling rejects the requests to release ECS instances but rolls back ECS instances. For scale-out activities, the ROLLBACK setting has the same effect as the `ABANDON` setting.'."\n" - ."\n" - .'If a scaling group has multiple lifecycle hooks in effect and you set the `DefaultResult` parameter for one of the lifecycle hooks to `ABANDON` or `ROLLBACK`, the following rule applies to scale-in activities: When the lifecycle hook whose **DefaultResult** parameter is set to **ABANDON** or **ROLLBACK** times out, other lifecycle hooks time out ahead of schedule. In other cases, Auto Scaling performs the action only after all lifecycle hooks time out. The action that Auto Scaling performs is specified by the **DefaultResult** parameter of the last lifecycle hook that times out.'."\n" - ."\n" - .'Default value: CONTINUE.'."\n", - 'type' => 'string', + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'CONTINUE', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'HeartbeatTimeout', + 'name' => 'NetworkInterfaces', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The period of time before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the action that is specified by the **DefaultResult** parameter. Valid values: 30 to 21600. Unit: seconds.'."\n" - ."\n" - .'You can call the [RecordLifecycleActionHeartbeat](~~73846~~) operation to extend the period of time before a lifecycle hook times out. You can also call the [CompleteLifecycleAction](~~73847~~) operation to end a lifecycle hook ahead of schedule.'."\n" - ."\n" - .'Default value: 600.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The list of elastic network interfaces (ENIs).', + 'type' => 'array', + 'items' => [ + 'description' => 'The elastic network interface (ENI) information.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The type of the elastic network interface (ENI). When you use `NetworkInterfaces.N`, you must configure the primary network interface but cannot set the `SecurityGroupId` or `SecurityGroupIds.N` parameter at the same time. Valid values:'."\n" + ."\n" + .'- Primary: primary network interface.'."\n" + ."\n" + .'- Secondary: secondary network interface.'."\n" + ."\n" + .'Default value: Secondary.', 'type' => 'string', 'required' => false, 'example' => 'Primary', 'title' => ''], + 'NetworkInterfaceTrafficMode' => ['description' => 'The communication mode of the network interface. Valid values:'."\n" + ."\n" + .'- Standard: uses the TCP communication mode.'."\n" + .'- HighPerformance: enables the Elastic RDMA Interface (ERI) and uses the RDMA communication mode.'."\n" + ."\n" + .'Default value: Standard.'."\n" + .'> The number of elastic network interfaces (ENIs) in RDMA mode cannot exceed the limit of the instance family. For more information, see [Instance families](~~25378~~).', 'type' => 'string', 'required' => false, 'example' => 'HighPerformance', 'title' => ''], + 'Ipv6AddressCount' => ['description' => 'The number of randomly generated IPv6 addresses allocated to the primary network interface. Note the following:'."\n" + ."\n" + .'- This parameter takes effect only when `NetworkInterfaces.N.InstanceType` is set to `Primary`.'."\n" + .'- If `NetworkInterface.N.InstanceType` is set to `Secondary` or left empty, this parameter cannot be set.'."\n" + .'- After this parameter is set, you cannot set the `Ipv6AddressCount` parameter.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'SecurityGroupIds' => [ + 'description' => 'The IDs of one or more security groups to which the elastic network interface (ENI) belongs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of a security group to which the elastic network interface (ENI) belongs. Note the following:'."\n" + ."\n" + .'- If `NetworkInterfaces.N.InstanceType` is set to `Primary`, this parameter is required. In this case, this parameter has the same effect as `SecurityGroupIds.N`, but you cannot set `SecurityGroupId` or `SecurityGroupIds.N` at the same time.'."\n" + ."\n" + .'- If `NetworkInterfaces.N.InstanceType` is set to `Secondary` or left empty, this parameter is optional. The default value is the security group of the ECS instance (the security group of the primary network interface).', 'type' => 'string', 'required' => false, 'example' => 'sg-uf6ij8dwxh****', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + 'SecondaryPrivateIpAddressCount' => ['description' => 'The number of secondary private IPv4 addresses assigned to the network interface. Valid values: 1 to 49.'."\n" + ."\n" + .'- The value cannot exceed the limit on the number of IP addresses for the instance type. For more information, see [Instance families](~~25378~~).'."\n" + .'- NetworkInterface.N.SecondaryPrivateIpAddressCount specifies the number of secondary private IPv4 addresses assigned to the network interface (excluding the primary private IP address of the network interface). The system randomly assigns addresses from the available CIDR block of the vSwitch (NetworkInterface.N.VSwitchId) associated with the network interface.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '600', + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'NotificationMetadata', + 'name' => 'DedicatedHostClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The fixed string that is included in a notification that Auto Scaling sends when the lifecycle hook takes effect. Auto Scaling sends the value of the NotificationMetadata parameter together with the notification. This helps you categorize your notifications. If you specify this parameter, you must also specify the `NotificationArn` parameter. The value of this parameter cannot exceed 4,096 characters in length.'."\n" - ."\n" - .'If you use the `NotificationArn` parameter to specify a public or custom OOS template, the value of the `NotificationMetadata` parameter must be a JSON string that contains the OOS template parameters.'."\n" - ."\n" - .'For example, your OOS template includes the following parameters: `{"dbInstanceId": "dds-bp17661e0135****", "modifyMode": "Append"}`, `dbInstanceId`, and `modifyMode`. Specific parameters that are defined in your OOS template have default values. When you specify the `NotificationMetadata` parameter, specify parameters that do not have default values. If you specify parameters that have default values, the default values are overwritten. The default values of the following parameters must be retained to obtain information about scaling activities that are in progress:'."\n" - ."\n" - .'* regionId: the region ID of the scaling activity that is in progress. Default value: ${regionId}.'."\n" - ."\n" - .'* instanceIds: the IDs of ECS instances that are scaled in the scaling activity. Default value: ${instanceIds}.'."\n" - ."\n" - .'* lifecycleHookId: the ID of the lifecycle hook. Default value: ${lifecycleHookId}.'."\n" - ."\n" - .'* lifecycleActionToken: the token of the lifecycle hook. You can use the token to end the timeout period of the lifecycle hook ahead of schedule. Default value: ${lifecycleActionToken}'."\n" - ."\n" - .'* scalingGroupId: the ID of the scaling group in which the scaling activity is executed. Default value: ${scalingGroupId}.'."\n" - ."\n" - .'* lifecycleActionResult: the action that Auto Scaling performs after the lifecycle hook times out. If the OOS template fails to be executed, the lifecycle hook times out ahead of schedule. If you set the `DefalutResult` parameter to `ROLLBACK`, the default value of this parameter is `ROLLBACK`. If you set the `DefaultResult` parameter to other values, the default value of this parameter is ABANDON.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note**'."\n" - ."\n" - .' * You can specify a value for the `lifecycleActionResult` parameter to overwrite the default value. Valid values: **ABANDON**, **CONTINUE**, **ROLLBACK**, and **${lifecycleActionResult}**. A value of `${lifecycleActionResult}` specifies that the value of the **lifecycleActionResult** parameter is the same as the value of the **DefaultResult** parameter.'."\n" - .' * You can view the details of the OOS template that you specify in the [OOS console](https://oos.console.aliyun.com/).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test lifecycle hook.', - ], + 'schema' => ['description' => 'The ID of the dedicated host cluster.', 'type' => 'string', 'required' => false, 'example' => 'dc-2zedxc67zqzt7lb4****', 'title' => ''], ], [ - 'name' => 'NotificationArn', + 'name' => 'SecurityOptions', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notification method. If you do not specify this parameter, no notification is sent when the lifecycle hook takes effect. If you specify this parameter, the following rules apply:'."\n" - ."\n" - .'* If you use an MNS queue as the notification method, specify the value in the acs:mns:{region-id}:{account-id}:queue/{queuename} format.'."\n" - .'* If you use an MNS topic as the notification method, specify the value in the acs:mns:{region-id}:{account-id}:topic/{topicname} format.'."\n" - .'* If you use an OOS template as the notification method, specify the value in the acs:oos:{region-id}:{account-id}:template/{templatename} format.'."\n" - ."\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. The ID of a RAM user is not supported.'."\n" - .'* queuename: the name of the MNS queue.'."\n" - .'* topicname: the name of the MNS topic.'."\n" - .'* templatename: the name of the OOS template.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ + 'description' => 'The security options.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'LifecycleHookId' => [ - 'description' => 'The ID of the lifecycle hook.'."\n", - 'type' => 'string', - 'example' => 'ash-bp1at9ufhmcf9cmy****', - ], + 'ConfidentialComputingMode' => ['description' => 'The confidential computing mode. Valid values:'."\n" + .'- Enclave: the ECS instance uses Enclave to build a confidential computing environment. For more information, see [Build a confidential computing environment by using Enclave](~~203433~~).'."\n" + .'- TDX: builds a TDX confidential computing environment. For more information, see [Build a TDX confidential computing environment](~~479090~~).', 'type' => 'string', 'required' => false, 'example' => 'TDX', 'title' => ''], ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"LifecycleHookId\\": \\"ash-bp1at9ufhmcf9cmy****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n ash-bp1at9ufhmcf9cmy****\\n","errorExample":""}]', - 'title' => 'CreateLifecycleHook', - 'description' => '## Usage notes'."\n" - ."\n" - .'* You can create up to six lifecycle hooks for each scaling group. Elastic Compute Service (ECS) instances are not immediately added to or removed from scaling groups that have effective lifecycle hooks during scaling activities. The ECS instances are added to or removed from the scaling groups only after the lifecycle hooks time out. The period of time before the lifecycle hooks time out is specified by the HeartbeatTimeout parameter. Before lifecycle hooks time out, you can initialize the configurations of ECS instances and query data on the ECS instances.'."\n" - .'* If lifecycle hooks take effect for scale-out activities, the private IP addresses of ECS instances are added to the IP address whitelists of the associated ApsaraDB RDS instances and the ECS instances are added to the backend server groups of the associated Server Load Balancer (SLB) instances only after the lifecycle hooks time out. If lifecycle hooks take effect for scale-in activities, the private IP addresses of ECS instances are removed from the IP address whitelists of the disassociated ApsaraDB RDS instances and the ECS instances are removed from the backend server groups of the disassociated SLB instances only after the lifecycle hooks time out.'."\n" - .'* You can configure a notification method for a lifecycle hook. When the lifecycle hook takes effect, a notification can be sent by using a Message Service (MNS) topic, an MNS queue, or an Operation Orchestration Service (OOS) template. If you want to configure an OOS template, you must create a RAM role for OOS. For more information, see [Grant RAM permissions to OOS](~~120810~~).'."\n" - ."\n" - .'> If your scaling group has existing ECS instances and you configured an OOS template that is used to add private IP addresses of ECS instances to or remove private IP addresses of ECS instances from IP address whitelists of cloud databases that are not ApsaraDB RDS databases, you must manually add the IP addresses to or remove the IP addresses from the IP address whitelists.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DeleteLifecycleHook' => [ - 'summary' => '删除一个生命周期挂钩', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '92664', - 'abilityTreeNodes' => [ - 'FEATUREessZQ2TYX', - ], - ], - 'parameters' => [ - [ - 'name' => 'LifecycleHookId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lifecycle hook.'."\n", - 'type' => 'string', 'required' => false, - 'example' => 'ash-bp14g3ee6bt3sc98****', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'HttpEndpoint', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'Specifies whether to enable the access channel for instance metadata. Valid values:'."\n" + ."\n" + .'- enabled: enabled.'."\n" + .'- disabled: disabled.'."\n" + ."\n" + .'Default value: enabled.'."\n" + ."\n" + .'> For more information about instance metadata, see [Overview of instance metadata](~~108460~~).', 'type' => 'string', 'required' => false, 'example' => 'enabled', 'title' => ''], ], [ - 'name' => 'LifecycleHookName', + 'name' => 'HttpTokens', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the lifecycle hook.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lifecyclehook****', - ], + 'schema' => ['description' => 'Specifies whether to forcefully use the security-hardened mode (IMDSv2) when you access instance metadata. Valid values:'."\n" + ."\n" + .'- optional: does not forcefully use the security-hardened mode.'."\n" + .'- required: forcefully uses the security-hardened mode. After this value is set, instance metadata cannot be accessed in normal mode.'."\n" + ."\n" + .'Default value: optional.'."\n" + ."\n" + .'> For more information about instance metadata access modes, see [Instance metadata access modes](~~108460~~).', 'type' => 'string', 'required' => false, 'example' => 'optional', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'ResourcePoolOptions', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', + 'description' => 'The resource pool policy used when instances are created. Note the following when you set this parameter:'."\n" + ."\n" + .'- This parameter takes effect only when pay-as-you-go instances are created.'."\n" + ."\n" + .'- This parameter cannot be specified together with PrivatePoolOptions.MatchCriteria or PrivatePoolOptions.Id.', + 'type' => 'object', + 'properties' => [ + 'Strategy' => ['description' => 'A resource pool includes private pools generated after an elasticity assurance or capacity reservation takes effect, and public pools. You can select a resource pool when you start an instance. Valid values:'."\n" + ."\n" + .'- PrivatePoolFirst: private pool first. When this policy is selected and ResourcePoolOptions.PrivatePoolIds is specified or PrivatePoolTags conditions are met, the corresponding private pools are used first. If no private pool is specified or the specified private pool has insufficient capacity, open private pools are automatically matched. If no matching private pool is available, the public pool is used to create instances.'."\n" + ."\n" + .'- PrivatePoolOnly: private pool only. When this policy is selected, you must specify ResourcePoolOptions.PrivatePoolIds. If the specified private pool has insufficient capacity, the instance fails to start.'."\n" + ."\n" + .'- PublicPoolFirst: public pool first. The public pool is used first to create instances. When the public pool has insufficient resources, private pools are used as supplements. Open private pools are automatically matched first. If no matching private pool is available, the Target private pools specified by ResourcePoolOptions.PrivatePoolIds or matching PrivatePoolTags conditions are used.'."\n" + .' > This policy is in invitational preview and is not available for use.'."\n" + ."\n" + .'- None: no resource pool policy is used.'."\n" + ."\n" + .'Default value: None.', 'type' => 'string', 'required' => false, 'example' => 'PrivatePoolFirst', 'title' => ''], + 'PrivatePoolIds' => [ + 'description' => 'The IDs of private pools. A private pool ID is the ID of an elasticity assurance or capacity reservation. Only Target-mode private pool IDs can be specified. This parameter cannot be specified together with the PrivatePoolTags parameter.', + 'type' => 'array', + 'items' => ['description' => 'The private pool ID, which is the ID of an elasticity assurance or capacity reservation. Only Target-mode private pool IDs can be specified. This parameter cannot be specified together with the PrivatePoolTags parameter. Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'eap-bp67acfmxazb4****', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'PrivatePoolTags' => [ + 'description' => 'Filters available Target private pools by tag. Valid values of N: 1 to 20.'."\n" + .'Note the following:'."\n" + ."\n" + .'- When this parameter is set, the system filters only Target private pools that are associated with your account, match the specified tags, and meet the scaling group constraints such as zone and instance type.'."\n" + ."\n" + .'- Tag matching rule: the private pool must match all specified tags.'."\n" + ."\n" + .'- This parameter cannot be specified together with the PrivatePoolIds parameter.', + 'type' => 'array', + 'items' => [ + 'description' => 'Filters available Target private pools by tag. Valid values of N: 1 to 20.'."\n" + .'Note the following:'."\n" + ."\n" + .'- When this parameter is set, the system filters only Target private pools that are associated with your account, match the specified tags, and meet the scaling group constraints such as zone and instance type.'."\n" + ."\n" + .'- Tag matching rule: the private pool must match all specified tags.'."\n" + ."\n" + .'- This parameter cannot be specified together with the PrivatePoolIds parameter.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the private pool.'."\n" + ."\n" + .'This parameter is used to filter available Target private pools by tag. Valid values of N: 1 to 20. Note the following:'."\n" + ."\n" + .'When this parameter is set, the system filters only Target private pools that are associated with your account, match the specified tags, and meet the scaling group constraints such as zone and instance type.'."\n" + .'Tag matching rule: the private pool must match all specified tags.'."\n" + .'This parameter cannot be specified together with the PrivatePoolIds parameter.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], + 'Value' => ['description' => 'The tag value of the private pool.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], 'required' => false, - 'example' => 'cn-hangzhou', + 'title' => '', + 'example' => '', ], ], ], @@ -13245,1425 +4082,1459 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'ScalingConfigurationId' => ['description' => 'The scaling configuration ID.', 'type' => 'string', 'example' => 'asc-bp1ffogfdauy0nu5****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'DeleteLifecycleHook', - 'description' => '## Description'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingConfigurationId\\": \\"asc-bp1ffogfdauy0nu5****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'gatewayOptions' => [ + 'gatewayProtocols' => [], + ], + 'title' => 'CreateScalingConfiguration', + 'description' => '## Operation description'."\n" + ."\n" + .'A scaling configuration specifies the ECS instance template used for elastic scale-out. The following instance configuration methods are supported:'."\n" + ."\n" + .'- InstancePatternInfo.N: intelligent configuration mode. You do not need to specify specific instance types. You only need to specify the number of vCPU cores, memory size, instance family level, and maximum price based on your business requirements. The system automatically filters instance types that meet the requirements and preferentially selects the instance type with the lowest price to create ECS instances. This mode applies only to scaling groups whose network type is Virtual Private Cloud (VPC) and can effectively reduce the risk of insufficient instance type inventory during scale-out.'."\n" + ."\n" + .'- InstanceType: specifies a single instance type.'."\n" ."\n" - .'If you delete a lifecycle hook that is in effect in a scaling group, instances are removed from the pending state in advance. You can use one of the following methods to specify the lifecycle hooks that you want to delete:'."\n" + .'- InstanceTypes.N: specifies multiple instance types.'."\n" ."\n" - .'* Specify the lifecycle hook ID by using the LifecycleHookId parameter. In this case, the ScalingGroupId parameter and the LifecycleHookName parameter are ignored.'."\n" - .'* Specify the scaling group ID by using the ScalingGroupId parameter and specify the lifecycle hook name by using the LifecycleHookName parameter.'."\n", + .'- InstanceTypeOverride.N: specifies multiple instance types and configures weights for different instance types.'."\n" + ."\n" + .'- Cpu and Memory: specifies the CPU and memory to define the range of instance types. Auto Scaling determines the set of available instance types based on factors such as I/O optimization and zones, and creates instances with the lowest price based on price sorting. This method applies only when the scaling policy of the scaling group is cost optimization and no instance type is specified in the scaling configuration.'."\n" + ."\n" + .'- You can use either of the following methods to configure the primary network interface. However, you can use only one method per API call. Using both methods simultaneously causes the API call to fail and returns an error message.'."\n" + .' - Use parameters such as `SecurityGroupId`, `SecurityGroupIds.N`, and `Ipv6AddressCount` to directly configure the primary network interface.'."\n" + .' - Use `NetworkInterfaces.N` to configure both the primary and secondary network interfaces. When you use this parameter, you must configure the primary network interface. When `NetworkInterfaces.N.InstanceType` is set to `Primary`, the primary network interface is configured. When `NetworkInterfaces.N.InstanceType` is set to `Secondary` or left empty, a secondary network interface is configured.'."\n" + ."\n" + .'> The four methods InstanceType, InstanceTypes.N, InstanceTypeOverride.N, and Cpu and Memory cannot be specified simultaneously. However, InstanceType or InstanceTypes.N can be specified together with InstancePatternInfo.N. When specified together with InstancePatternInfo.N, Auto Scaling preferentially uses the instance types you specified for scale-out. When the specified instance types are out of stock, instance types that match the InstancePatternInfo.N configuration are used.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'ModifyLifecycleHook' => [ - 'summary' => '修改一个生命周期挂钩的信息', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InstanceType.Mismatch|The specified scaling configuration and existing active scaling configuration have different instance type.|The instance type of the specified scaling configuration does not match the instance type of the current scaling configuration.|'."\n" + .'|404|InvalidDataDiskSnapshotId.NotFound|Snapshot "XXX" does not exist.|The specified snapshot does not exist.|'."\n" + .'|400|InvalidDataDiskSnapshotId.SizeNotSupported|The capacity of snapshot "XXX" exceeds the size limit of the specified disk category.|The size of the specified snapshot exceeds the size limit of the cloud disk.|'."\n" + .'|403|InvalidDevice.InUse|Device "XXX" has been occupied.|The data cloud disk mount point is duplicated.|'."\n" + .'|400|InvalidImageId.InstanceTypeMismatch|The specified image does not support the specified instance type.|The specified image cannot be used with the specified instance type.|'."\n" + .'|404|InvalidImageId.NotFound|The specified image does not exist.|The specified image does not exist in this account.|'."\n" + .'|400|InvalidKeyPairName.NotFound|The specified KeyPairName does not exist in our records.|The specified KeyPairName does not exist.|'."\n" + .'|400|InvalidNetworkType.ForRAMRole|RAMRole can\'t be used For classic instance.|The RamRoleName parameter is not supported for classic network instances.|'."\n" + .'|400|InvalidParameter|The specified value of parameter KeyPairName is not valid.|The KeyPairName parameter is not supported for Windows instances.|'."\n" + .'|400|InvalidParameter.Conflict|The value of parameter SystemDisk.Category and parameter DataDisk.N.Category are conflict.|The specified system cloud disk type conflicts with the data cloud disk type.|'."\n" + .'|400|InvalidRamRole.NotFound|The specified RamRoleName does not exist.|The specified RamRoleName does not exist.|'."\n" + .'|400|InvalidScalingConfigurationName.Duplicate|The specified value of parameter ScalingConfigurationName is duplicated.|A scaling configuration with the same name already exists.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in this account.|'."\n" + .'|400|InvalidSecurityGroupId.IncorrectNetworkType|The network type of specified security Group does not support this action.|The network type of the specified security group does not match the network type of the scaling group.|'."\n" + .'|404|InvalidSecurityGroupId.NotFound|The specified security group does not exist.|The specified security group does not exist in this account.|'."\n" + .'|400|InvalidSecurityGroupId.VPCMismatch|The specified security group and the specified virtual switch are not in the same VPC.|The specified security group and the specified vSwitch do not belong to the same VPC.|'."\n" + .'|403|InvalidSnapshot.TooOld|This operation is denied because the specified snapshot is created before 2013-07-15.|The snapshot was created on or before July 15, 2013. The call is rejected.|'."\n" + .'|403|InvalidSystemDiskCategory.ValueUnauthorized|The system disk category is not authorized.|You do not have the permission to create a system cloud disk of the specified type.|'."\n" + .'|400|InvalidUserData.Base64FormatInvalid|The specified parameter UserData must be base64 encoded.|The UserData parameter does not comply with the Base64 encoding specification.|'."\n" + .'|400|InvalidUserData.SizeExceeded|The specified parameter UserData exceeds the size.|The specified UserData is too long.|'."\n" + .'|403|QuotaExceeded.EphemeralDiskSize|Ephemeral disk size quota exceeded.|The total capacity of local data cloud disks exceeds 2 TiB (2048 GiB).|'."\n" + .'|400|QuotaExceeded.ScalingConfiguration|Scaling configuration quota exceeded in the specified scaling group.|The number of scaling configurations has reached the upper limit.|'."\n" + .'|400|QuotaExceeded.SecurityGroupInstance|Instance quota exceeded in the specified security group.|The number of ECS instances in the specified security group has reached the upper limit.|'."\n" + .'|400|InvalidSecurityGroupId.IncorrectType|The managed security group "XXX" is not supported.|The managed security group "XXX" is not supported.|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateScalingConfiguration'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateScalingConfiguration', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'CreateScalingGroup' => [ + 'summary' => 'To automatically increase or decrease the number of instances of a specified type based on business changes and policies, you can call the CreateScalingGroup API to create a scaling group that automatically adjusts your business computing capacity (i.e., the number of instances).', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92706', - 'abilityTreeNodes' => [ - 'FEATUREessKFTMD6', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92658', + 'abilityTreeNodes' => ['FEATUREessGIWHSQ'], ], 'parameters' => [ [ - 'name' => 'LifecycleHookId', + 'name' => 'ScalingGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lifecycle hook that you want to modify.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ash-bp1fxuqyi98w0aib****', - ], + 'schema' => ['description' => 'The name of the scaling group. The name must be unique within the same region.'."\n" + ."\n" + .'The name must be 2 to 64 characters in length and can contain letters, digits, underscores (_), hyphens (-), and periods (.). It must start with a digit, letter, or Chinese character.'."\n" + ."\n" + .'Default value: the value of ScalingGroupId.', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'LaunchTemplateId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group to which the lifecycle hook belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The ID of the launch template from which the scaling group obtains launch configuration information.', 'type' => 'string', 'required' => false, 'example' => 'lt-m5e3ofjr1zn1aw7****', 'title' => ''], ], [ - 'name' => 'LifecycleHookName', + 'name' => 'LaunchTemplateVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the lifecycle hook that you want to modify.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test_SCALE_IN', - ], + 'schema' => ['description' => 'The version of the launch template. Valid values:'."\n" + ."\n" + .'- A fixed template version number.'."\n" + .'- Default: always uses the default version of the template.'."\n" + .'- Latest: always uses the latest version of the template.', 'type' => 'string', 'required' => false, 'example' => 'Default', 'title' => ''], ], [ - 'name' => 'DefaultResult', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The action that Auto Scaling performs after the lifecycle hook times out. Valid values:'."\n" - ."\n" - .'* CONTINUE: Auto Scaling continues to respond to a scale-in or scale-out request.'."\n" - .'* ABANDON: Auto Scaling releases Elastic Compute Service (ECS) instances that are created during scale-out activities or removes ECS instances from the scaling group during scale-in activities.'."\n" - .'* ROLLBACK: For scale-in activities, Auto Scaling rejects the requests to release ECS instances but rolls back ECS instances. For scale-out activities, the ROLLBACK setting has the same effect as the ABANDON setting.'."\n" - ."\n" - .'If a scaling group has multiple lifecycle hooks in effect and you set the `DefaultResult` parameter for one of the lifecycle hooks to `ABANDON` or `ROLLBACK`, the following rule applies to scale-in activities: When the lifecycle hook whose **DefaultResult** parameter is set to **ABANDON** or **ROLLBACK** times out, other lifecycle hooks time out ahead of schedule. In other cases, Auto Scaling performs the action only after the last lifecycle hook times out.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CONTINUE', - ], + 'schema' => ['description' => 'The ID of the instance. When creating a scaling group, the required configuration information is obtained from the specified instance, and a scaling configuration is automatically created.', 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****', 'title' => ''], ], [ - 'name' => 'HeartbeatTimeout', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The period of time before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the action that is specified by the **DefaultResult **parameter. Valid values: 30 to 21600. Unit: seconds.'."\n" - ."\n" - .'You can call the [RecordLifecycleActionHeartbeat](~~73846~~) operation to extend the period of time before a lifecycle hook times out. You can also call the [CompleteLifecycleAction](~~73847~~) operation to end a lifecycle hook ahead of schedule.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '600', - ], + 'schema' => ['description' => 'The region ID of the scaling group. For more information, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'LifecycleTransition', + 'name' => 'MinSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the scaling activity to which the lifecycle hook applies. Valid values:'."\n" - ."\n" - .'* SCALE_OUT: scale-out activity'."\n" - .'* SCALE_IN: scale-in activity'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SCALE_IN', - ], + 'schema' => ['description' => 'The minimum number of instances in the scaling group. When the number of instances in the scaling group is less than the value of `MinSize`, Auto Scaling automatically creates instances.'."\n" + ."\n" + .'> The value of `MinSize` must be less than or equal to the value of `MaxSize`.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '2', 'title' => ''], ], [ - 'name' => 'NotificationMetadata', + 'name' => 'MaxSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The fixed string that is included in a notification that Auto Scaling sends when the lifecycle hook takes effect. The value of this parameter cannot exceed 4,096 characters in length.'."\n" - ."\n" - .'Auto Scaling sends the value of the `NotificationMetadata` parameter together with the notification. This helps you categorize your notifications. If you specify the `NotificationMetadata` parameter, you must specify the `NotificationArn` parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test', - ], + 'schema' => ['description' => 'The maximum number of instances in the scaling group. When the number of instances in the scaling group is greater than the value of `MaxSize`, Auto Scaling automatically removes instances.'."\n" + ."\n" + .'The value range of MaxSize depends on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value for **Maximum number of instances that can be set for a single scaling group**.'."\n" + ."\n" + .'The value range of MaxSize depends on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value for **Maximum number of instances that can be set for a single scaling group**.'."\n" + ."\n" + .'The value range of MaxSize depends on your Auto Scaling usage. Go to Quota Center to view the quota value for **Maximum number of instances that can be set for a single scaling group**.'."\n" + ."\n" + .'If the quota value for **Maximum number of instances that can be set for a single scaling group** is 2000, the value range of `MaxSize` is 0 to 2000.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '20', 'title' => ''], ], [ - 'name' => 'NotificationArn', + 'name' => 'DefaultCooldown', 'in' => 'query', - 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notification method.'."\n" - ."\n" - .'* If you use a Message Service (MNS) queue as the notification method, specify the value in the `acs:mns:{region-id}:{account-id}:queue/{queuename}` format.'."\n" - .'* If you use an MNS topic as the notification method, specify the value in the `acs:mns:{region-id}:{account-id}:topic/{topicname}` format.'."\n" - .'* If you use an Operation Orchestration Service (OOS) template as the notification method, specify the value in the `acs:oos:{region-id}:{account-id}:template/{templatename}` format.'."\n" - ."\n" - .'The variables in the preceding formats have the following meanings:'."\n" - ."\n" - .'* region-id: the region ID of the scaling group.'."\n" - .'* account-id: the ID of the Alibaba Cloud account.'."\n" - .'* queuename: the name of the MNS queue.'."\n" - .'* topicname: the name of the MNS topic.'."\n" - .'* templatename: the name of the OOS template.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****', - ], + 'schema' => ['description' => 'The cooldown period after a scaling activity (adding or removing instances) ends. Valid values: 0 to 86400. Unit: seconds.'."\n" + ."\n" + .'During the cooldown period, the scaling group does not execute any other scaling activities. This only applies to scaling activities triggered by CloudMonitor alarm tasks.'."\n" + ."\n" + .'Default value: 300.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'LoadBalancerIds', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => 'The IDs of Classic Load Balancer (CLB, formerly SLB) instances. The value can be a JSON array of multiple CLB instance IDs, separated by commas (,).'."\n" + ."\n" + .'The total number of CLB instances that can be associated with a single scaling group depends on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value for **Total number of load balancer instances that can be associated with a single scaling group**.'."\n" + ."\n" + .'The total number of CLB instances that can be associated with a single scaling group depends on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value for **Total number of load balancer instances that can be associated with a single scaling group**.'."\n" + ."\n" + .'The total number of CLB instances that can be associated with a single scaling group depends on your Auto Scaling usage. Go to Quota Center to view the quota value for **Total number of load balancer instances that can be associated with a single scaling group**.', 'type' => 'string', 'required' => false, 'example' => '["lb-bp1u7etiogg38yvwz****", "lb-bp168cqrux9ai9l7f****", "lb-bp1jv3m9zvj22ufxp****"]', 'title' => ''], ], [ - 'name' => 'LifecycleHookStatus', + 'name' => 'DBInstanceIds', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => 'The status that you want to specify for the lifecycle hook. Valid values: Valid values:'."\n" - ."\n" - .'* Active'."\n" - .'* InActive'."\n" - ."\n" - .'If you do not specify this parameter, the status of the lifecycle hook remains unchanged after you call this operation.'."\n" - ."\n" - .'> By default, a new lifecycle hook is in the **Active** state.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Active', - ], + 'schema' => ['description' => 'The IDs of RDS instances. The value can be a JSON array of multiple RDS instance IDs, separated by commas (,).'."\n" + ."\n" + .'The total number of RDS instances that can be associated with a single scaling group depends on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value for **Total number of RDS instances that can be associated with a single scaling group**.'."\n" + ."\n" + .'The total number of RDS instances that can be associated with a single scaling group depends on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value for **Total number of RDS instances that can be associated with a single scaling group**.'."\n" + ."\n" + .'The total number of RDS instances that can be associated with a single scaling group depends on your Auto Scaling usage. Go to Quota Center to view the quota value for **Total number of RDS instances that can be associated with a single scaling group**.', 'type' => 'string', 'required' => false, 'example' => '["rm-bp142f86de0t7****", "rm-bp18l1z42ar4o****", "rm-bp1lqr97h4aqk****"]', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - ], + [ + 'name' => 'RemovalPolicy.1', + 'in' => 'query', + 'schema' => ['description' => 'The first-stage filter policy for instance removal. It cannot have the same value as RemovalPolicy.2 or RemovalPolicy.3. Valid values:'."\n" + ."\n" + .'- OldestInstance: removes the instance that was earliest added to the scaling group.'."\n" + .'- NewestInstance: removes the instance that was most recently added to the scaling group.'."\n" + .'- OldestScalingConfiguration: removes the instance created from the earliest scaling configuration.'."\n" + .'- CustomPolicy: removes ECS instances based on a custom scale-in policy Function.'."\n" + ."\n" + .'The scaling configuration mentioned in OldestScalingConfiguration refers to the source of instance configuration information within the group, including scaling configurations and launch templates. CustomPolicy can only be set as the first removal policy. When specifying CustomPolicy, the CustomPolicyARN parameter must also be specified.'."\n" + ."\n" + .'> The removal of ECS instances from a scaling group is also affected by the scaling group\'s multi-zone scaling policy (MultiAZPolicy). For more information, see [Set combination policies for instance removal](~~254822~~).', 'type' => 'string', 'required' => false, 'example' => 'OldestScalingConfiguration', 'title' => ''], + ], + [ + 'name' => 'RemovalPolicy.2', + 'in' => 'query', + 'schema' => ['description' => 'The second-stage filter policy for instance removal. It cannot have the same value as RemovalPolicy.1 or RemovalPolicy.3. Valid values:'."\n" + ."\n" + .'- OldestInstance: removes the instance that was earliest added to the scaling group.'."\n" + .'- NewestInstance: removes the instance that was most recently added to the scaling group.'."\n" + .'- OldestScalingConfiguration: removes the instance created from the earliest scaling configuration.'."\n" + ."\n" + .'> The removal of ECS instances from a scaling group is also affected by the scaling group\'s multi-zone scaling policy (MultiAZPolicy). For more information, see [Set combination policies for instance removal](~~254822~~).', 'type' => 'string', 'required' => false, 'example' => 'OldestInstance', 'title' => ''], + ], + [ + 'name' => 'RemovalPolicy.3', + 'in' => 'query', + 'schema' => ['description' => 'The third-stage filter policy for instance removal. It cannot have the same value as RemovalPolicy.1 or RemovalPolicy.2. Valid values:'."\n" + ."\n" + .'- OldestInstance: removes the instance that was earliest added to the scaling group.'."\n" + .'- NewestInstance: removes the instance that was most recently added to the scaling group.'."\n" + .'- OldestScalingConfiguration: removes the instance created from the earliest scaling configuration.'."\n" + ."\n" + .'> The removal of ECS instances from a scaling group is also affected by the scaling group\'s multi-zone scaling policy (MultiAZPolicy). For more information, see [Set combination policies for instance removal](~~254822~~).', 'type' => 'string', 'required' => false, 'example' => 'NewestInstance', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'ModifyLifecycleHook', - 'description' => '## Usage notes'."\n" - ."\n" - .'You can use one of the following methods to specify the lifecycle hook that you want to modify:'."\n" - ."\n" - .'* Specify the lifecycle hook ID by using the `LifecycleHookId` parameter. When you use this method, the `ScalingGroupId` and `LifecycleHookName` parameters are ignored.'."\n" - .'* Specify the scaling group ID by using the `ScalingGroupId` parameter and specify the lifecycle hook name by using the `LifecycleHookName` parameter.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DescribeLifecycleActions' => [ - 'summary' => '查看伸缩活动对应的生命周期操作详情', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the vSwitch. After this parameter is specified, the network type of the scaling group is VPC.'."\n" + ."\n" + .'> When neither the VSwitchId nor VSwitchIds.N parameter is specified for the scaling group, the network type of the scaling group defaults to classic network.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp14zolna43z266bq****', 'title' => ''], ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '92674', - 'abilityTreeNodes' => [ - 'FEATUREess54US0Q', + [ + 'name' => 'MultiAZPolicy', + 'in' => 'query', + 'schema' => ['description' => 'The ECS instance scaling policy for the multi-zone scaling group. Valid values:'."\n" + ."\n" + .'- PRIORITY: The vSwitch specified first (VSwitchIds.N) has the highest priority. Auto Scaling preferentially attempts to scale in the zone of the highest-priority vSwitch. If scaling cannot be performed, it automatically attempts to scale in the zone of the next highest-priority vSwitch.'."\n" + .'- COST_OPTIMIZED: During scale-out, Auto Scaling attempts to create ECS instances in order of vCPU unit price from lowest to highest. During scale-in, it attempts to remove ECS instances in order of vCPU unit price from highest to lowest. When the scaling configuration specifies multiple instance types with preemptible billing, preemptible instances are created first. You can use the CompensateWithOnDemand parameter to specify whether to automatically create pay-as-you-go instances when preemptible instances cannot be created due to insufficient inventory or other reasons.'."\n" + ."\n" + .' > COST_OPTIMIZED only takes effect when the scaling configuration specifies multiple instance types or uses preemptible instances.'."\n" + .'- BALANCE: ECS instances are evenly distributed across the multiple zones specified by the scaling group. If zones become unbalanced due to insufficient inventory, you can call the [RebalanceInstance](~~71516~~) API to rebalance resources.'."\n" + .'- COMPOSABLE: A composite policy that allows you to combine the above multi-zone scaling group ECS instance scaling policies as needed, or further specify parameters for more granular control over the scaling group capacity.'."\n" + ."\n" + .'Default value: PRIORITY.', 'type' => 'string', 'required' => false, 'example' => 'PRIORITY', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingActivityId', + 'name' => 'HealthCheckType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asa-bp17mug9t0pegagw****', - ], + 'schema' => ['description' => 'The health check mode of the scaling group. Valid values:'."\n" + ."\n" + .'- NONE: No health check is performed.'."\n" + .'- ECS: Health checks are performed on instances in the scaling group (both ECS-type and ECI-type scaling groups use this value to enable instance health checks).'."\n" + .'- LOAD_BALANCER: Instance health status is determined based on load balancer health check results (CLB load balancer type is currently not supported).'."\n" + ."\n" + .'Default value: ECS.'."\n" + ."\n" + .'> To enable both instance health checks and load balancer health checks simultaneously, use the `HealthCheckTypes` parameter.', 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''], ], [ - 'name' => 'LifecycleActionStatus', + 'name' => 'ScalingPolicy', 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the lifecycle action. Valid values:'."\n" - ."\n" - .'* Pending: ECS instances enter the Pending state.'."\n" - .'* Timeout: The lifecycle hook times out. ECS instances are automatically removed from the Pending state.'."\n" - .'* Completed: ECS instances are manually removed from the Pending state.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Pending', - ], + 'schema' => ['description' => 'The reclaim mode of the scaling group. Valid values:'."\n" + ."\n" + .'- recycle: The reclaim mode of the scaling group is stop and reclaim mode.'."\n" + .'- release: The reclaim mode of the scaling group is release mode.'."\n" + .'- forcerelease: The reclaim mode of the scaling group is force release mode.'."\n" + ."\n" + .' > After selecting `forcerelease`, the system will forcibly release `Running` instances during scale-in activities. Force releasing an instance is equivalent to a power-off operation, which will erase temporary data in the instance\'s memory and storage. Data cannot be recovered. Please use this option with caution.'."\n" + ."\n" + .'- forcerecycle: The reclaim mode of the scaling group is force stop and reclaim mode.'."\n" + ."\n" + .' > After selecting `forcerecycle`, the system will forcibly shut down `Running` instances during scale-in activities. Force shutdown is equivalent to a power-off operation, which will erase temporary data in the instance\'s memory and storage. Data cannot be recovered. Please use this option with caution.'."\n" + ."\n" + .'ScalingPolicy specifies the reclaim mode of the scaling group, but the specific action when an instance is removed from the scaling group is determined by the RemovePolicy parameter of RemoveInstances. For more information, see [RemoveInstances](~~25955~~).', 'type' => 'string', 'required' => false, 'example' => 'recycle', 'title' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The token that is used to specify the lifecycle action from which the query starts.'."\n" - ."\n" - .'For example, after the first 10 lifecycle actions were queried, the query starts from the 11th lifecycle action. Set this parameter to the NextToken value that is returned in the previous API call. If you do not specify this parameter, the query starts from the beginning.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AAAAAcSz4VTb1Nq****', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'Generate a unique parameter value from your client, ensuring that the value is unique across different requests. Only ASCII characters are supported. The value cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'MaxResults', + 'name' => 'OnDemandBaseCapacity', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of entries to return on each page. Valid values: 1 to 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The minimum number of pay-as-you-go instances required in the scaling group. Valid values: 0 to 1000. When the number of pay-as-you-go instances is less than this value, pay-as-you-go instances are created first.'."\n" + ."\n" + .'When the `MultiAZPolicy` parameter is set to `COMPOSABLE`, the default value is 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'OnDemandPercentageAboveBaseCapacity', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The percentage of pay-as-you-go instances among the excess instances after the minimum number of pay-as-you-go instances (OnDemandBaseCapacity) is met. Valid values: 0 to 100.'."\n" + ."\n" + .'When the `MultiAZPolicy` parameter is set to `COMPOSABLE`, the default value is 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], ], - ], - '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 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' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'LifecycleAction' => [ - 'description' => 'The lifecycle actions that correspond to each lifecycle hook.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'LifecycleHookId' => [ - 'description' => 'The ID of the lifecycle hook.'."\n", - 'type' => 'string', - 'example' => 'ash-bp18uoft0deax0f7****', - ], - 'LifecycleActionToken' => [ - 'description' => 'The token of the lifecycle action.'."\n", - 'type' => 'string', - 'example' => '9C2E9DA7-F794-449A-ACF6-CEE24444F7BB', - ], - 'LifecycleActionStatus' => [ - 'description' => 'The status of the lifecycle action.'."\n", - 'type' => 'string', - 'example' => 'Pending', - ], - 'LifecycleActionResult' => [ - 'description' => 'The action that is performed after the lifecycle action triggered by the lifecycle hook is complete. Valid values:'."\n" - ."\n" - .'* CONTINUE: Auto Scaling continues to respond to scale-out requests and adds ECS instances to the scaling group, or continues to respond to scale-in requests and removes ECS instances from the scaling group.'."\n" - .'* ABANDON: Auto Scaling stops scale-out activities and releases the created ECS instances, or continues to respond to scale-in requests and removes ECS instances from the scaling group.'."\n", - 'type' => 'string', - 'example' => 'CONTINUE', - ], - 'InstanceIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceId' => [ - 'description' => 'The IDs of the ECS instances to which the lifecycle hook applies.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of the ECS instances.'."\n", - 'type' => 'string', - 'example' => '["i-bp11m3fzlqrgk5vh****","i-bp11m3fzlqrgk5vh****"]', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + [ + 'name' => 'SpotInstanceRemedy', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable supplementing preemptible instances. When enabled, if a system message is received indicating that a preemptible instance will be reclaimed, the scaling group will attempt to create a new instance to replace the preemptible instance that is about to be reclaimed.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"AAAAAcSz4VTb1Nq****\\",\\n \\"RequestId\\": \\"42A742EB-FCF3-459E-9C62-E107048C17E3\\",\\n \\"TotalCount\\": 3,\\n \\"MaxResults\\": 3,\\n \\"LifecycleActions\\": {\\n \\"LifecycleAction\\": [\\n {\\n \\"LifecycleHookId\\": \\"ash-bp18uoft0deax0f7****\\",\\n \\"LifecycleActionToken\\": \\"9C2E9DA7-F794-449A-ACF6-CEE24444****\\",\\n \\"LifecycleActionStatus\\": \\"Pending\\",\\n \\"LifecycleActionResult\\": \\"CONTINUE\\",\\n \\"InstanceIds\\": {\\n \\"InstanceId\\": [\\n \\"[\\\\\\"i-bp11m3fzlqrgk5vh****\\\\\\",\\\\\\"i-bp11m3fzlqrgk5vh****\\\\\\"]\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n AAAAAcSz4VTb1Nq****\\n 42A742EB-FCF3-459E-9C62-E107048C17E3\\n 3\\n 3\\n \\n ash-bp18uoft0deax0f7****\\n 9C2E9DA7-F794-449A-ACF6-CEE24444F7BB\\n Pending\\n CONTINUE\\n [\\"i-bp11m3fzlqrgk5vh****\\",\\"i-bp11m3fzlqrgk5vh****\\"]\\n \\n","errorExample":""}]', - 'title' => 'DescribeLifecycleActions', - 'description' => '## Description'."\n" - ."\n" - .'If a scaling activity whose type is the same as the type of a lifecycle hook occurs, the lifecycle hook triggers a lifecycle action. The status of a lifecycle action can be:'."\n" - ."\n" - .'* Pending: Elastic Compute Service (ECS) instances in the scaling group enter the Pending state.'."\n" - .'* Timeout: The lifecycle hook times out. ECS instances in the scaling group are automatically removed from the Pending state.'."\n" - .'* Completed: ECS instances are manually removed from the Pending state.'."\n" - ."\n" - .'If you do not specify the subsequent actions when you create a lifecycle hook, such as triggering the execution of a specific Operation Orchestration Service (OOS) template after the ECS instances are removed from the Pending state, you can call this operation to obtain the token of the lifecycle action that corresponds to the scaling activity. This helps you specify the subsequent actions.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DescribeLifecycleHooks' => [ - 'summary' => '查询生命周期挂钩详情', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'CompensateWithOnDemand', + 'in' => 'query', + 'schema' => ['description' => 'When `MultiAZPolicy` is set to `COST_OPTIMIZED`, specifies whether to allow automatic creation of pay-as-you-go instances to meet the ECS instance quantity requirement when preemptible instances cannot be created due to price, inventory, or other reasons. Valid values:'."\n" + ."\n" + .'- true: Allowed.'."\n" + .'- false: Not allowed.'."\n" + ."\n" + .'Default value: true.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '92675', - 'abilityTreeNodes' => [ - 'FEATUREess54US0Q', + [ + 'name' => 'SpotInstancePools', + 'in' => 'query', + 'schema' => ['description' => 'The number of available instance types. The scaling group creates preemptible instances evenly across multiple types with the lowest cost. Valid values: 1 to 10.'."\n" + ."\n" + .'When the `MultiAZPolicy` parameter is set to `COMPOSABLE`, the default value is 2.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'DesiredCapacity', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + 'schema' => ['description' => 'The expected number of ECS instances in the scaling group. The scaling group automatically maintains the number of ECS instances at the desired capacity. The value must not be greater than MaxSize or less than MinSize.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], ], [ - 'name' => 'LifecycleHookName', + 'name' => 'GroupDeletionProtection', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the lifecycle hook.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lifecyclehook****', - ], + 'schema' => ['description' => 'Specifies whether to enable deletion protection for the scaling group. Valid values:'."\n" + ."\n" + .'- true: Enables deletion protection for the scaling group. The scaling group cannot be deleted.'."\n" + .'- false: Disables deletion protection for the scaling group.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'GroupType', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The type of instances managed by the scaling group. Valid values:'."\n" + ."\n" + .'- ECS: The instances managed in the scaling group are ECS instances.'."\n" + .'- ECI: The instances managed in the scaling group are ECI instances.'."\n" + ."\n" + .'Default value: ECS.', 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'ContainerGroupId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the ECI instance, i.e., the container group ID.', 'type' => 'string', 'required' => false, 'example' => 'eci-uf6fonnghi50u374****', 'title' => ''], + ], + [ + 'name' => 'VSwitchIds', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The number of entries to return on each page. Maximum value: 50.'."\n" + 'description' => 'The IDs of one or more vSwitches. If you use the VSwitchIds parameter, the VSwitchId parameter is ignored. After this parameter is specified, the network type of the scaling group is VPC.'."\n" ."\n" - .'Default value: 50.'."\n", - 'type' => 'integer', - 'format' => 'int32', + .'When multiple vSwitches are specified:'."\n" + ."\n" + .'- They must belong to the same VPC.'."\n" + .'- They can belong to different zones.'."\n" + .'- The priority of vSwitches is sorted in ascending numerical order, with 1 indicating the highest priority. When an ECS instance cannot be created in the zone of the highest-priority vSwitch, the next highest-priority vSwitch is automatically selected.'."\n" + ."\n" + .'> When neither the VSwitchId nor VSwitchIds parameter is specified for the scaling group, the network type of the scaling group defaults to classic network.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of one or more vSwitches. If you use the VSwitchIds.N parameter, the VSwitchId parameter is ignored. After this parameter is specified, the network type of the scaling group is VPC.'."\n" + ."\n" + .'When multiple vSwitches are specified:'."\n" + ."\n" + .'- They must belong to the same VPC.'."\n" + .'- They can belong to different zones.'."\n" + .'- The priority of vSwitches is sorted in ascending numerical order, with 1 indicating the highest priority. When an ECS instance cannot be created in the zone of the highest-priority vSwitch, the next highest-priority vSwitch is automatically selected.'."\n" + ."\n" + .'> When neither the VSwitchId nor VSwitchIds.N parameter is specified for the scaling group, the network type of the scaling group defaults to classic network.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp14zolna43z266bq****', 'title' => ''], 'required' => false, - 'example' => '50', + 'example' => 'vsw-bp14zolna43z266bq****', + 'maxItems' => 8, + 'title' => '', ], ], [ - 'name' => 'LifecycleHookId', + 'name' => 'LifecycleHook', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the lifecycle hook.'."\n", + 'description' => 'The lifecycle hook information.', 'type' => 'array', 'items' => [ - 'description' => 'The ID of lifecycle hook N.'."\n", - 'type' => 'string', + 'description' => 'The lifecycle hook information.', + 'type' => 'object', + 'properties' => [ + 'DefaultResult' => ['description' => 'The action to take after the wait state ends. Valid values:'."\n" + ."\n" + .'- CONTINUE: continues to respond to the scale-out activity or continues to respond to the scale-in activity.'."\n" + .'- ABANDON: directly releases the ECS instance created during the scale-out activity, or directly removes the ECS instance from the scaling group during the scale-in activity.'."\n" + ."\n" + .'When a scale-in activity (SCALE_IN) triggers multiple lifecycle hooks, and the wait state of a lifecycle hook with DefaultResult set to ABANDON ends, all other corresponding wait states are ended early. In other cases, the action is determined by the last lifecycle hook whose wait state ends.'."\n" + ."\n" + .'Default value: CONTINUE.', 'type' => 'string', 'required' => false, 'example' => 'CONTINUE', 'title' => ''], + 'LifecycleHookName' => ['description' => 'The name of the lifecycle hook. Once specified, it cannot be modified. If not specified, the default value is the same as the lifecycle hook ID.', 'type' => 'string', 'required' => false, 'example' => 'lifecyclehook****', 'title' => ''], + 'LifecycleTransition' => ['description' => 'The type of scaling activity to which the lifecycle hook applies. Valid values:'."\n" + ."\n" + .'- SCALE_OUT: scale-out activity of the scaling group.'."\n" + .'- SCALE_IN: scale-in activity of the scaling group.'."\n" + ."\n" + .'> If a lifecycle hook is specified for the scaling group, this parameter is required. Other related parameters are optional.', 'type' => 'string', 'required' => false, 'example' => 'SCALE_OUT', 'title' => ''], + 'NotificationMetadata' => ['description' => 'The fixed string information for the wait state of the scaling activity. The parameter value cannot exceed 128 characters in length. Each time Auto Scaling sends a message to the notification object, it also sends the pre-specified NotificationMetadata parameter value, which facilitates managing and identifying different categories of notification information. This parameter only takes effect when the NotificationArn parameter is also specified.', 'type' => 'string', 'required' => false, 'example' => 'Test', 'title' => ''], + 'NotificationArn' => ['description' => 'The identifier of the notification object for the lifecycle hook. Supports queues or topics of Simple Message Queue (formerly MNS). The parameter value format is: acs:ess:{region}:{account-id}:{resource-relative-id}.'."\n" + ."\n" + .'- region: the region where the scaling group resides.'."\n" + .'- account-id: the Alibaba Cloud account ID.'."\n" + ."\n" + .'Examples:'."\n" + ."\n" + .'- MNS queue: acs:ess:{region}:{account-id}:queue/{queuename}.'."\n" + .'- MNS topic: acs:ess:{region}:{account-id}:topic/{topicname}.', 'type' => 'string', 'required' => false, 'example' => 'acs:ess:cn-hangzhou:1111111111:queue/queue2', 'title' => ''], + 'HeartbeatTimeout' => ['description' => 'The wait time set by the lifecycle hook for the scaling group activity. After the wait state times out, the next action is executed. Valid values: 30 to 21600. Unit: seconds.'."\n" + ."\n" + .'After creating a lifecycle hook, you can call [RecordLifecycleActionHeartbeat](~~73846~~) to extend the wait time of the ECS instance, or call [CompleteLifecycleAction](~~73847~~) to end the wait state of the scaling activity early.'."\n" + ."\n" + .'Default value: 600.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '600', 'title' => ''], + ], 'required' => false, - 'example' => 'ash-bp1at9ufhmcf9cmy****', + 'title' => '', + 'example' => '', ], 'required' => false, - 'example' => 'ash-bp19d1032y9kij96****', 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'RegionId', + 'name' => 'VServerGroup', 'in' => 'query', + 'style' => 'repeatList', '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-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' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'LifecycleHook' => [ - 'description' => 'Details of the lifecycle hooks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'DefaultResult' => [ - 'description' => 'The action that Auto Scaling performs when the lifecycle hook times out.'."\n", - 'type' => 'string', - 'example' => 'CONTINUE', - ], - 'LifecycleHookId' => [ - 'description' => 'The ID of the lifecycle hook.'."\n", - 'type' => 'string', - 'example' => 'ash-bp19d1032y9kij96****', - ], - 'LifecycleHookName' => [ - 'description' => 'The name of the lifecycle hook.'."\n", - 'type' => 'string', - 'example' => 'lifecyclehook****', - ], - 'LifecycleTransition' => [ - 'description' => 'The type of the scaling activity to which the lifecycle hook applies.'."\n", - 'type' => 'string', - 'example' => 'SCALE_OUT', - ], - 'NotificationMetadata' => [ - 'description' => 'The fixed string that is included in a notification. Auto Scaling sends the notification when the lifecycle hook takes effect.'."\n", - 'type' => 'string', - 'example' => 'Test Lifecycle Hook.', - ], - 'NotificationArn' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the method that is used by Auto Scaling to send notifications when the lifecycle hook takes effect. Specify the value in one of the following formats:'."\n" - ."\n" - .'* If you do not create a notification rule, specify the value in the `acs:ess:{region-id}:{account-id}:null/null` format.'."\n" - .'* If you specify a Message Service (MNS) queue as the notification method, specify the value in the `acs:mns:{region-id}:{account-id}:queue/{queuename}` format.'."\n" - .'* If you specify an MNS topic as the notification method, specify the value in the `acs:mns:{region-id}:{account-id}:topic/{topicname}` format.'."\n" - .'* If you specify an Operation Orchestration Service (OOS) template as the notification method, specify the value in the `acs:oos:{region-id}:{account-id}:template/{templatename}` format.'."\n" - ."\n" - .'The variables in the preceding parameter formats have the following meanings:'."\n" - ."\n" - .'* region-id: the region ID of the scaling group.'."\n" - .'* account-id: the ID of the Alibaba Cloud account.'."\n" - .'* queuename: the name of the MNS queue.'."\n" - .'* topicname: the name of the MNS topic.'."\n" - .'* templatename: the name of the OOS template.'."\n", - 'type' => 'string', - 'example' => 'acs:ess:cn-beijing:161456884340****:null/null', - ], - 'HeartbeatTimeout' => [ - 'description' => 'The period of time during which the lifecycle hook is in effect. Auto Scaling performs the default action when the lifecycle hook times out.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asg-bp1igpak5ft1flyp****', - ], - 'LifecycleHookStatus' => [ - 'description' => 'The status of the lifecycle hook. Valid values:'."\n" - ."\n" - .'* Active'."\n" - .'* InActive'."\n", - 'type' => 'string', - 'example' => 'Active', - ], - ], + 'description' => 'The information collection of vServer groups associated with the scaling group.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information collection of vServer groups associated with the scaling group.', + 'type' => 'object', + 'properties' => [ + 'VServerGroupAttribute' => [ + 'description' => 'The backend server group attributes.', + 'type' => 'array', + 'items' => [ + 'description' => 'The backend server group attributes.', + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => ['description' => 'The ID of the vServer group.'."\n" + ."\n" + .'For more information, see [AttachVServerGroups](~~98983~~).', 'type' => 'string', 'required' => false, 'example' => 'rsp-bp1443g77****', 'title' => ''], + 'Weight' => ['description' => 'The weight of the instance as a backend server after Auto Scaling adds the instance to the vServer group. A higher weight results in more access requests being distributed to the instance. If the weight is 0, the instance does not receive any access requests. Valid values: 0 to 100. Default value: 50.'."\n" + ."\n" + .'For more information, see [AttachVServerGroups](~~98983~~).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by the instance after Auto Scaling adds the instance to the vServer group. Valid values: 1 to 65535.'."\n" + ."\n" + .'For more information, see [AttachVServerGroups](~~98983~~).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], + 'LoadBalancerId' => ['description' => 'The ID of the CLB (formerly SLB) instance to which the vServer group belongs.'."\n" + ."\n" + .'For more information, see [AttachVServerGroups](~~98983~~).', 'type' => 'string', 'required' => false, 'example' => 'lb-bp1u7etiogg38yvwz****', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"LifecycleHooks\\": {\\n \\"LifecycleHook\\": [\\n {\\n \\"DefaultResult\\": \\"CONTINUE\\",\\n \\"LifecycleHookId\\": \\"ash-bp19d1032y9kij96****\\",\\n \\"LifecycleHookName\\": \\"lifecyclehook****\\",\\n \\"LifecycleTransition\\": \\"SCALE_OUT\\",\\n \\"NotificationMetadata\\": \\"Test Lifecycle Hook.\\",\\n \\"NotificationArn\\": \\"acs:ess:cn-beijing:161456884340****:null/null\\",\\n \\"HeartbeatTimeout\\": 60,\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\",\\n \\"LifecycleHookStatus\\": \\"Active\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 1\\n 50\\n 1\\n \\n CONTINUE\\n ash-bp19d1032y9kij96****\\n lifecyclehook****\\n SCALE_OUT\\n Test Lifecycle Hook.\\n acs:ess:cn-beijing:161456884340****:null/null\\n 60\\n asg-bp1igpak5ft1flyp****\\n Active\\n \\n","errorExample":""}]', - 'title' => 'DescribeLifecycleHooks', - 'description' => '## Description'."\n" - ."\n" - .'You can use one of the following methods to query lifecycle hooks:'."\n" - ."\n" - .'* Specify a list of lifecycle hook IDs by using the LifecycleHookId.N parameter. In this case, you do not need to specify the ScalingGroupId and LifecycleHookName parameters.'."\n" - .'* Specify the scaling group ID by using the ScalingGroupId parameter.'."\n" - .'* Specify the scaling group ID by using the ScalingGroupId parameter and the lifecycle hook name by using the LifecycleHookName parameter.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'RecordLifecycleActionHeartbeat' => [ - 'summary' => '延长生命周期挂钩触发后ECS实例被挂起等待时间', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92713', - 'abilityTreeNodes' => [ - 'FEATUREessKFTMD6', - ], - ], - 'parameters' => [ - [ - 'name' => 'lifecycleHookId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lifecycle hook.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ash-bp1fxuqyi98w0aib****', + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'lifecycleActionToken', + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The token that indicates the pending state of a scaling activity. You can obtain this token by using a Message Service (MNS) queue or an MNS topic that is specified for the lifecycle hook.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'F324B880-900E-4968-85DD-81691113****', + 'description' => 'The tag information collection of the scaling group.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tag information collection of the scaling group.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'Department', 'title' => ''], + 'Value' => ['description' => 'The tag value of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'Finance', 'title' => ''], + 'Propagate' => ['description' => 'Specifies whether the tag is a propagatable tag. Valid values:'."\n" + .'- true: The tag on the scaling group is only propagated to newly created instances, and is not propagated to instances already running in the scaling group.'."\n" + .'- false: The tag on the scaling group is not propagated to instances.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'heartbeatTimeout', + 'name' => 'LaunchTemplateOverride', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The timeout period of the lifecycle hook. When the lifecycle hook times out, Auto Scaling performs the default action. Unit: seconds. Valid values: 30 to 21600.'."\n" - ."\n" - .'After you create a lifecycle hook, you can call the RecordLifecycleActionHeartbeat operation to extend the timeout period of the lifecycle hook. You can also call the [CompleteLifecycleAction](~~73847~~) operation to end the timeout period of the lifecycle hook in advance.'."\n" - ."\n" - .'Default value: 600.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The launch template override information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The launch template override information.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'When you need the scaling group to scale based on instance type capacity, specify both this parameter and LaunchTemplateOverride.N.WeightedCapacity.'."\n" + ."\n" + .'This parameter specifies the instance type and overrides the instance type in the launch template. You can specify N values for this parameter to extend the launch template to support N instance types. Valid values of N: 1 to 20.'."\n" + .'> This parameter only takes effect when the LaunchTemplateId parameter specifies a launch template.'."\n" + ."\n" + .'Valid values of InstanceType: ECS instance types that are available for purchase. For more information, see [Instance families](~~25378~~).', 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.xlarge', 'title' => ''], + 'WeightedCapacity' => ['description' => 'When you need the scaling group to scale based on instance type capacity, after specifying LaunchTemplateOverride.N.InstanceType, also specify this parameter. The two parameters correspond one-to-one, and N must be consistent.'."\n" + ."\n" + .'This parameter specifies the weight of the instance type, i.e., the capacity size that a single instance of this type represents in the scaling group. A higher weight means fewer instances of this type are needed to meet the desired capacity.'."\n" + ."\n" + .'Since performance metrics such as the number of vCPUs and memory size vary across instance types, you can configure different weights for different instance types based on your needs.'."\n" + ."\n" + .'Example:'."\n" + ."\n" + .'- Current capacity: 0.'."\n" + .'- Desired capacity: 6.'."\n" + .'- ecs.c5.xlarge capacity: 4.'."\n" + ."\n" + .'To meet the desired capacity, the scaling group will scale out 2 ecs.c5.xlarge instances.'."\n" + ."\n" + .'> During scale-out, the capacity of the scaling group must not exceed the sum of the maximum capacity (MaxSize) and the maximum weight of the instance types.'."\n" + ."\n" + .'Valid values of WeightedCapacity: 1 to 500.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], + 'SpotPriceLimit' => ['description' => 'The maximum bid price for the instance type specified in the launch template override (`LaunchTemplateOverride.N.InstanceType`). You can specify N values for this parameter to extend the launch template to support N instance types. Valid values of N: 1 to 20.'."\n" + .'> This parameter only takes effect when the `LaunchTemplateId` parameter specifies a launch template.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.025', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '600', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'RegionId', + 'name' => 'AlbServerGroup', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', + 'description' => 'The information collection of ALB server groups.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information collection of ALB server groups.', + 'type' => 'object', + 'properties' => [ + 'AlbServerGroupId' => ['description' => 'The ID of the ALB server group.'."\n" + ."\n" + .'N is the sequence number of the ALB server group. The number of ALB server groups that can be associated with a single scaling group is limited. To view or request an increase in the quota value, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).', 'type' => 'string', 'required' => false, 'example' => 'sgp-ddwb0y0g6y9bjm****', 'title' => ''], + 'Weight' => ['description' => 'The weight of the instance as a backend server after Auto Scaling adds the instance to the ALB server group. A higher weight results in more access requests being distributed to the instance. If the weight is 0, the instance does not receive any access requests. Valid values: 0 to 100.'."\n" + ."\n" + .'N is the sequence number of the ALB server group.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by the instance after Auto Scaling adds the instance to the ALB server group. Valid values: 1 to 65535.'."\n" + ."\n" + .'N is the sequence number of the ALB server group.'."\n" + ."\n" + .'> If N is the same but Port is different, the system will associate multiple ALB server groups with different Ports to the scaling group by default.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'cn-hangzhou', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'ServerGroup', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'description' => 'The information collection of load balancer server groups.'."\n" + .'> Setting the same server group information in both `AlbServerGroups` and `ServerGroups` simultaneously is not supported.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information collection of load balancer server groups.', + 'type' => 'object', + 'properties' => [ + 'ServerGroupId' => ['description' => 'The ID of the server group.', 'type' => 'string', 'required' => false, 'example' => 'sgp-5yc3bd9lfyh*****', 'title' => ''], + 'Type' => ['description' => 'The type of the server group. Valid values:'."\n" + ."\n" + .'- ALB: Application Load Balancer.'."\n" + .'- NLB: Network Load Balancer.'."\n" + .'- GWLB: Gateway Load Balancer.', 'type' => 'string', 'required' => false, 'example' => 'ALB', 'title' => ''], + 'Weight' => ['description' => 'The weight of the instance as a backend server after Auto Scaling adds the instance to the server group. Valid values: 0 to 100.'."\n" + ."\n" + .'A higher weight results in more access requests being distributed to the instance. If the weight is 0, the instance does not receive any access requests.'."\n" + ."\n" + .'> This parameter is required for ALB and NLB type load balancers. This parameter cannot be set for GWLB type load balancers.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by the instance after Auto Scaling adds the instance to the server group. Valid values: 1 to 65535.'."\n" + ."\n" + .'> This parameter is required for ALB and NLB type load balancers. This parameter cannot be set for GWLB type load balancers, and the default value is 6081.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'RecordLifecycleActionHeartbeat', - 'description' => '## Description'."\n" - ."\n" - .'You can call the operation up to 20 times to extend the timeout period of a lifecycle hook. However, the total length of the timeout period cannot exceed 6 hours because an ECS instance cannot be in the pending state for more than 6 hours.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'CompleteLifecycleAction' => [ - 'summary' => '提前结束伸缩活动的等待状态', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'AzBalance', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to evenly distribute the capacity of the scaling group across multiple zones (only takes effect when the `MultiAZPolicy` parameter is set to `COMPOSABLE`). Valid values:'."\n" + .'- true: The capacity of the scaling group is evenly distributed across multiple zones.'."\n" + .'- false: The capacity of the scaling group is not evenly distributed across multiple zones.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92652', - 'abilityTreeNodes' => [ - 'FEATUREessKFTMD6', + [ + 'name' => 'AllocationStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The capacity allocation strategy that determines how the scaling group selects available instance types to meet capacity requirements. The capacity distribution strategy applies to both pay-as-you-go and preemptible capacity (only takes effect when the `MultiAZPolicy` parameter is set to `COMPOSABLE`). Valid values:'."\n" + ."\n" + .'- priority: Instances are created in the order of configured instance types.'."\n" + .'- lowestPrice: Instances are created in order of unit vCPU price from lowest to highest.'."\n" + ."\n" + .'Default value: priority.', 'type' => 'string', 'required' => false, 'example' => 'priority', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'LifecycleHookId', + 'name' => 'SpotAllocationStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lifecycle hook.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ash-bp14g3ee6bt3sc98****', - ], + 'schema' => ['description' => 'The preemptible capacity distribution strategy. You can use this parameter to separately specify the distribution strategy for preemptible capacity (only takes effect when the `MultiAZPolicy` parameter is set to `COMPOSABLE`). Valid values:'."\n" + ."\n" + .'- priority: Instances are created in the order of configured instance types.'."\n" + .'- lowestPrice: Instances are created in order of unit vCPU price from lowest to highest.'."\n" + ."\n" + .'Default value: priority.', 'type' => 'string', 'required' => false, 'example' => 'lowestPrice', 'title' => ''], ], [ - 'name' => 'LifecycleActionToken', + 'name' => 'MaxInstanceLifetime', + 'in' => 'query', + 'schema' => ['description' => 'The maximum time that an instance can survive in the scaling group. Unit: seconds.'."\n" + ."\n" + .'Valid values: `[86400, Integer.maxValue]`.'."\n" + ."\n" + .'Default value: null.'."\n" + .'> This parameter is not supported for ECI-type scaling groups or scaling groups with the stop-and-no-charge feature enabled.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => 'null', 'title' => ''], + ], + [ + 'name' => 'CustomPolicyARN', + 'in' => 'query', + 'schema' => ['description' => 'The ARN of the custom scale-in policy Function. This parameter only takes effect when the first removal policy in RemovalPolicies is configured as CustomPolicy.', 'type' => 'string', 'required' => false, 'example' => 'acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name', 'title' => ''], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource group to which the newly created scaling group belongs.'."\n" + .'> The newly created scaling group is assigned to the specified resource group. If this parameter is not specified, the scaling group is assigned to the default resource group.', 'type' => 'string', 'required' => false, 'example' => 'rg-123****', 'title' => ''], + ], + [ + 'name' => 'LoadBalancerConfig', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The token of the lifecycle hook. You can obtain the token by using a Message Service (MNS) queue or an MNS topic that is specified for the lifecycle hook.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'aaaa-bbbbb-cccc-ddddd', + 'description' => 'The list of CLB (formerly SLB) configurations.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of CLB (formerly SLB) configurations.', + 'type' => 'object', + 'properties' => [ + 'LoadBalancerId' => ['description' => 'The ID of the CLB (formerly SLB) instance.', 'type' => 'string', 'required' => false, 'example' => '147b46d767c-cn-qingdao-cm5****', 'title' => ''], + 'Weight' => ['description' => 'The weight of the instance as a backend server after Auto Scaling adds the instance to the CLB (formerly SLB) server group. A higher weight results in more access requests being distributed to the instance. If the weight is 0, the instance does not receive any access requests.'."\n" + ."\n" + .'Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'LifecycleActionResult', + 'name' => 'HealthCheckTypes', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The action that you want Auto Scaling to perform after the lifecycle hook times out. Valid values:'."\n" - ."\n" - .'* CONTINUE: Auto Scaling continues to respond to a scale-in or scale-out request.'."\n" - .'* ABANDON: Auto Scaling releases Elastic Compute Service (ECS) instances that are created during scale-out activities or removes ECS instances from the scaling group during scale-in activities.'."\n" - .'* ROLLBACK: For scale-in activities, Auto Scaling rejects the requests to release ECS instances but rolls back ECS instances. For scale-out activities, the ROLLBACK setting has the same effect as the ABANDON setting.'."\n" - ."\n" - .'If you do not specify this parameter, Auto Scaling performs the action that is specified by the `DefaultResult` parameter after the lifecycle hook times out.'."\n" + 'description' => 'The health check modes of the scaling group.'."\n" + .'> This parameter allows setting multiple values to enable multiple health check options. If the `HealthCheckType` parameter is set, this parameter is ignored.', + 'type' => 'array', + 'items' => ['description' => 'The list of health check modes for the scaling group. Valid values:'."\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" + .'- NONE: No health check is performed.'."\n" + .'- ECS: Health checks are performed on instances in the scaling group (both ECS-type and ECI-type scaling groups use this value to enable instance health checks).'."\n" + .'- LOAD_BALANCER: Instance health status is determined based on load balancer health check results (CLB load balancer type is currently not supported).'."\n" ."\n" - .'* For scale-in activities, when lifecycle hooks whose LifecycleActionResult parameter is set to `ABANDON` or `ROLLBACK` time out, other lifecycle hooks time out ahead of schedule.'."\n" - .'* For scale-in and scale-out activities, if you set the LifecycleActionResult parameter for all lifecycle hooks to `CONTINUE`, Auto Scaling performs the subsequent action only after the last lifecycle hook times out. The action that is performed by Auto Scaling varies based on the value that you specified for the LifecycleActionResult parameter of the last lifecycle hook that times out.'."\n", - 'type' => 'string', + .'Default value: ECS.', 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''], 'required' => false, - 'example' => 'CONTINUE', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ClientToken', + 'name' => 'DBInstance', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n" - ."\n" - .'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', + 'description' => 'The list of databases associated with the scaling group.', + 'type' => 'array', + 'items' => [ + 'description' => 'The configuration information of databases associated with the scaling group.', + 'type' => 'object', + 'properties' => [ + 'DBInstanceId' => ['description' => 'The ID of the database instance.', 'type' => 'string', 'required' => false, 'example' => 'rm-m5eqju85s45mu0***', 'title' => ''], + 'Type' => ['description' => 'The type of the database. Valid values:'."\n" + ."\n" + .'- RDS.'."\n" + .'- Redis.'."\n" + .'- MongoDB.'."\n" + ."\n" + .'Default value: RDS.', 'type' => 'string', 'required' => false, 'example' => 'RDS', 'title' => ''], + 'AttachMode' => ['description' => 'The association mode between the scaling group and the database. Valid values:'."\n" + ."\n" + .'- SecurityIp: IP whitelist mode. The IP addresses of scaled-out instances are automatically added to the database IP whitelist (currently only supported for RDS databases).'."\n" + .'- SecurityGroup: Security group mode. The security group from the scaling configuration is added to the database security group whitelist, enabling instances in the security group to access the database.', 'type' => 'string', 'required' => false, 'example' => 'SecurityIp', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', + 'maxItems' => 5, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'RegionId', + 'name' => 'StopInstanceTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period for waiting for ECS instances to stop during the scale-in process. Unit: seconds.'."\n" + .'Valid values: 30 to 240.'."\n" + ."\n" + .'> - This parameter only takes effect during the scale-in process when ScalingPolicy is set to release mode.'."\n" + .'- If this parameter is set, the system waits up to StopInstanceTimeout seconds for the instance to stop successfully. After the timeout, the scale-in continues regardless of whether the instance has successfully stopped.'."\n" + .'- If this parameter is not set, the system waits indefinitely for the instance to stop successfully. The scale-in continues only after the instance has successfully stopped. If the instance fails to stop, the scale-in process rolls back and fails.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], + ], + [ + 'name' => 'CapacityOptions', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', + 'description' => 'The capacity options.', + 'type' => 'object', + 'properties' => [ + 'OnDemandBaseCapacity' => ['description' => 'The minimum number of pay-as-you-go instances required in the existing scaling group. When the number of pay-as-you-go instances in the scaling group is less than this value, the system preferentially creates pay-as-you-go instances. Valid values: 0 to 1000.'."\n" + ."\n" + .'When the `MultiAZPolicy` parameter is set to `COMPOSABLE`, the default value is 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''], + 'OnDemandPercentageAboveBaseCapacity' => ['description' => 'The percentage of pay-as-you-go instances among the excess instances after the minimum number of pay-as-you-go instances `OnDemandBaseCapacity` is met. Valid values: 0 to 100.'."\n" + ."\n" + .'When the `MultiAZPolicy` parameter is set to `COMPOSABLE`, the default value is 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], + 'CompensateWithOnDemand' => ['description' => 'When `MultiAZPolicy` is set to `COST_OPTIMIZED`, specifies whether to allow automatic creation of pay-as-you-go instances to meet the ECS instance quantity requirement when preemptible instances cannot be created due to price, inventory, or other reasons. Valid values:'."\n" + ."\n" + .'- true: Allowed.'."\n" + .'- false: Not allowed.'."\n" + ."\n" + .'Default value: true.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'SpotAutoReplaceOnDemand' => ['description' => 'When `CompensateWithOnDemand` is enabled, if the pay-as-you-go ratio exceeds the `OnDemandPercentageAboveBaseCapacity` ratio, the system attempts to replace pay-as-you-go capacity with spot instances. A common scenario is when `CompensateWithOnDemand` causes spot instances to be degraded to pay-as-you-go instances due to spot inventory or pricing issues. To avoid prolonged existence of pay-as-you-go instances, the system attempts to replace excess pay-as-you-go capacity with spot instances. Valid values:'."\n" + ."\n" + .'- true: Allowed.'."\n" + .'- false: Not allowed.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'PriceComparisonMode' => ['description' => 'The price comparison mode for the cost optimization strategy of the scaling group. Valid values:'."\n" + ."\n" + .'- PricePerUnit: Compare prices per unit of capacity.'."\n" + ."\n" + .' The capacity size of an instance in the scaling group equals the weight set for the instance type, which defaults to 1, meaning one ECS instance occupies a capacity of 1.'."\n" + ."\n" + .'- PricePerVCpu: Compare prices per unit of vCPU.'."\n" + ."\n" + .'Default value: PricePerUnit.', 'type' => 'string', 'required' => false, 'example' => 'PricePerUnit', 'title' => ''], + ], 'required' => false, - 'example' => 'cn-qingdao', + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'BalanceMode', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The zone balancing mode. This parameter only takes effect when zone balancing is enabled. Valid values:'."\n" + ."\n" + .'- BalancedBestEffort: When resource creation fails in a zone, it falls back to other zones to ensure best-effort resource delivery.'."\n" + ."\n" + .'- BalancedOnly: When resource creation fails in a zone, it does not fall back to other zones. The scale-out activity partially succeeds, avoiding excessive imbalance of resources across zones.'."\n" + ."\n" + .'Default value: BalancedBestEffort.', 'type' => 'string', 'required' => false, 'example' => 'BalancedBestEffort'], + ], + [ + 'name' => 'AutoRebalance', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'Specifies whether to enable automatic rebalancing for the scaling group. This parameter only takes effect when BalancedOnly is enabled for the zone-balanced scaling group. Valid values:'."\n" + .'- false: Disables automatic rebalancing for the scaling group.'."\n" + .'- true: When enabled, the scaling group automatically monitors the capacity across zones. When the capacity becomes unbalanced across zones, it proactively scales in and out to rebalance the capacity across zones.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The scaling group ID.', 'type' => 'string', 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'CompleteLifecycleAction', - 'description' => '## Usage notes'."\n" + 'errorCodes' => [ + 404 => [ + ['errorCode' => 'ResourceNotAvailable.VPCNetwork', 'errorMessage' => 'The specified zone does not support vpc network or sold out.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingGroupId\\": \\"asg-bp14wlu85wrpchm0****\\"\\n}","type":"json"}]', + 'title' => 'Create a scaling group', + 'description' => '## API Description'."\n" + ."\n" + .'A scaling group is a collection of ECS instances with the same application scenario.'."\n" + ."\n" + .'The number of scaling groups that can be created in a region depends on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value for **Total number of scaling groups**.'."\n" + ."\n" + .'The number of scaling groups that can be created in a region depends on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value for **Total number of scaling groups**.'."\n" + ."\n" + .'The number of scaling groups that can be created in a region depends on your Auto Scaling usage. Go to Quota Center to view the quota value for **Total number of scaling groups**.'."\n" + ."\n\n" + .'A scaling group does not take effect immediately after it is created. You must first call the [EnableScalingGroup](~~25939~~) API to enable the scaling group before it can trigger scaling activities and execute scaling rules.'."\n" + ."\n" + .'The scaling group, associated CLB (formerly SLB) instances, and associated RDS instances must be in the same region. For more information, see [Regions and zones](~~40654~~).'."\n" + ."\n" + .'If you associate a CLB instance with the scaling group, the scaling group automatically adds the ECS instances that join the scaling group to the backend server group of the CLB instance. You can specify the server groups to which the ECS instances are added, including the default server group and vServer groups, as described below:'."\n" + ."\n" + .'> If you specify both the default server group and multiple vServer groups, the ECS instances are added to all these server groups simultaneously.'."\n" + ."\n" + .'- Default server group: receives frontend requests. If a listener does not have a vServer group or primary/secondary server group configured, requests are forwarded to the ECS instances in the default server group by default.'."\n" + .'- vServer group: When you need to forward different requests to different backend servers, or need to forward requests based on domain names and URLs, you can use vServer groups.'."\n" + ."\n" + .'After an ECS instance is added to the backend server group of a CLB instance, the default weight is 50. The CLB instance must meet the following conditions:'."\n" + ."\n" + .'- The CLB instance must be in the active state. You can call the [DescribeLoadBalancers](~~27582~~) API to view the status of a specified CLB instance.'."\n" ."\n" - .'If you set the **LifecycleActionResult** parameter for a lifecycle hook of a scaling group to **CONTINUE** in the operation, Auto Scaling continues to complete the scaling activity in the scaling group after the lifecycle hook times out. If you set the **LifecycleActionResult** parameter to **ABANDON**, Auto Scaling stops the scaling activity in the scaling group after the lifecycle hook times out.'."\n", + .'- Health checks must be enabled for all listener ports configured on the CLB instance. Otherwise, the scaling group creation fails.'."\n" + ."\n" + .'If you associate ALB server groups, NLB server groups, or GWLB server groups with the scaling group, the scaling group automatically adds the ECS instances that join the scaling group as backend servers to the ALB, NLB, or GWLB server groups to process access requests distributed by the ALB, NLB, or GWLB instances. You can specify multiple ALB, NLB, or GWLB server groups, but the server groups must belong to the same VPC as the scaling group. For more information, see [AttachAlbServerGroups](~~266800~~) or [AttachServerGroups](~~600535~~).'."\n" + ."\n\n" + .'If you associate an RDS instance with the scaling group, the scaling group automatically adds the private IP addresses of the ECS instances that join the scaling group to the whitelist of the RDS instance. The RDS instance must meet the following conditions:'."\n" + ."\n" + .'- The RDS instance must be in the Running state. You can call the [DescribeDBInstances](~~26232~~) API to view the status of a specified RDS instance.'."\n" + ."\n" + .'- The number of IPs in the whitelist of the RDS instance must not exceed the upper limit. For more information, see the RDS documentation [Configure a whitelist](~~43185~~).'."\n" + ."\n" + .'If the `MultiAZPolicy` of the scaling group is set to `COST_OPTIMIZED`:'."\n" + ."\n" + .'- When the OnDemandBaseCapacity, OnDemandPercentageAboveBaseCapacity, and SpotInstancePools parameters are specified, the instance allocation method under the cost optimization strategy is defined. During scaling, this instance allocation method is prioritized.'."\n" + ."\n" + .'- When the OnDemandBaseCapacity, OnDemandPercentageAboveBaseCapacity, or SpotInstancePools parameters are not specified, the cost optimization strategy only creates instances in the most cost-effective manner. (In this mode, creating instances through Elasticity Assurance or Capacity Reservation is not supported.)'."\n" + ."\n" + .'If you set propagatable tags for the scaling group, i.e., `Tag.N.Propagate` is set to `true`:'."\n" + ."\n" + .'- Tags on the scaling group are only propagated to newly created instances, and are not propagated to instances already running in the scaling group.'."\n" + .'- If you specify instance tags in the scaling configuration and also choose to propagate the scaling group tags to the instance, all tags coexist.'."\n" + .'- If the propagatable tag in the scaling group and the tag in the scaling configuration specify the same tag key, the tag value in the scaling configuration takes precedence.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'CreateNotificationConfiguration' => [ - 'summary' => '创建弹性伸缩事件及资源变化通知', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '|HttpCode|Error Code|Error Message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|IncorrectDBInstanceStatus|The current status of DB instance "XXX" does not support this action.|The specified RDS instance must be in the Running state.|'."\n" + .'|400|IncorrectLoadBalancerHealthCheck|The current health check type of specified load balancer does not support this action.|Health checks must be enabled for the specified CLB instance.|'."\n" + .'|400|IncorrectLoadBalancerStatus|The current status of the specified load balancer does not support this action.|The specified CLB instance must be in the active state.|'."\n" + .'|400|IncorrectVSwitchStatus|The current status of virtual switch does not support this operation.|The vSwitch is unavailable, and ECS instances cannot be created.|'."\n" + .'|400|InvalidDBInstanceId. RegionMismatch|DB instance "XXX" and the specified scaling group are not in the same Region.|The specified RDS instance and the scaling group must be in the same region.|'."\n" + .'|400|InvalidLoadBalancerId.IncorrectAddressType|The current address type of specified load balancer does not support this action.|After a vSwitch is specified, the CLB instance must be of the private network type.|'."\n" + .'|400|InvalidLoadBalancerId.IncorrectInstanceNetworkType|The network type of the instance in specified Load Balancer does not support this action.|The network type of ECS instances in the specified CLB instance must be the same as that of the scaling group.|'."\n" + .'|400|InvalidLoadBalancerId.RegionMismatch|The specified Load Balancer and the specified scaling group are not in the same Region.|The specified CLB instance and the scaling group must be in the same region.|'."\n" + .'|400|InvalidLoadBalancerId.VPCMismatch|The specified virtual switch and the instance in specified Load Balancer are not in the same VPC.|The ECS instances in the CLB instance associated with the scaling group must be in the same VPC as the vSwitch.|'."\n" + .'|400|InvalidParameter|The specified value of parameter "ScalingPolicy" is not valid.|The specified reclaim mode parameter does not exist.|'."\n" + .'|400|InvalidParameter.Conflict|The value of parameter <parameter name> and parameter <parameter name> are conflict.|The specified MinSize cannot be greater than MaxSize.|'."\n" + .'|400|InvalidScalingGroupName.Duplicate|The specified value of parameter <parameter name> is duplicated.|The scaling group name already exists.|'."\n" + .'|400|QuotaExceeded.DBInstanceSecurityIP|Security IP quota exceeded in DB instance "XXX".|The number of IPs in the whitelist of the specified RDS instance has reached the upper limit.|'."\n" + .'|400|QuotaExceeded.PrivateIpAddress|Private IP address quota exceeded in the specified virtual switch.|The vSwitch cannot allocate any more private IP addresses.|'."\n" + .'|400|QuotaExceeded.ScalingGroup|Scaling group quota exceeded.|The number of scaling groups used by the user has reached the upper limit.|'."\n" + .'|400|QuotaExceeded.VPCInstance|Instance quota exceeded in the specified VPC.|The number of instances in the VPC exceeds the limit.|'."\n" + .'|404|InvalidDBInstanceId.NotFound|DB instance "XXX" does not exist.|The specified RDS instance does not exist.|'."\n" + .'|404|InvalidLoadBalancerId.NotFound|The specified Load Balancer does not exist.|The specified CLB instance does not exist.|'."\n" + .'|404|InvalidRegionId.NotFound|The specified region does not exist.|The specified region does not exist.|'."\n" + .'|404|InvalidVSwitchId.NotFound|The specified virtual switch does not exist.|The specified vSwitch does not exist.|'."\n" + .'|400|LaunchTemplateVersionSet.NotFound|The specific version of launch template is not exist.|The specified version of the launch template does not exist.|'."\n" + .'|400|LaunchTemplateSet.NotFound|The specified launch template set is not found.|The specified launch template does not exist.|'."\n" + .'|400|TemplateMissingParameter.ImageId|The input parameter "ImageId" that is mandatory for processing this request is not supplied.|The specified version of the launch template is missing image information.|'."\n" + .'|400|TemplateMissingParameter.InstanceTypes|The input parameter "InstanceTypes" that is mandatory for processing this request is not supplied.|The specified version of the launch template is missing instance type information.|'."\n" + .'|400|TemplateMissingParameter.SecurityGroup|The input parameter "SecurityGroup" that is mandatory for processing this request is not supplied.|The specified version of the launch template is missing security group information.|'."\n" + .'|400|TemplateVersion.NotNumber|The input parameter "LaunchTemplateVersion" is supposed to be a string representing the version number.|The specified fixed version number of the launch template is not a number.|'."\n" + .'|400|AlbServerGroup.NotExist|The ServerGroup "%s" do(es) not exist.|The specified ALB server group does not exist in the account.|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateScalingGroup'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/*'], + ], + ], + ], ], + ], + 'CreateScalingRule' => [ + 'summary' => 'Creates a scaling rule.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92656', - 'abilityTreeNodes' => [ - 'FEATUREess6E26FJ', - 'FEATUREessFY8KDA', - ], + 'abilityTreeCode' => '92659', + 'abilityTreeNodes' => ['FEATUREessRTZKQT'], ], 'parameters' => [ [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + 'schema' => ['description' => 'The ID of the scaling group to which the scaling rule belongs.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1ffogfdauy0jw0****', 'title' => ''], ], [ - 'name' => 'NotificationArn', + 'name' => 'ScalingRuleName', 'in' => 'query', - 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notified party. The following list describes the value formats of this parameter:'."\n" - ."\n" - .'* If the notified party is CloudMonitor, the value format of this parameter is acs:ess:{region-id}:{account-id}:cloudmonitor.'."\n" - .'* If the notified party is an MNS queue, the value format of this parameter is acs:mns:{region-id}:{account-id}:queue/{queuename}.'."\n" - .'* If the notified party is an MNS topic, the value format of this parameter is acs:mns:{region-id}:{account-id}:topic/{topicname}.'."\n" - ."\n" - .'The variables in the preceding formats have the following meanings:'."\n" - ."\n" - .'* region-id: the region ID of the scaling group.'."\n" - .'* account-id: the ID of the Alibaba Cloud account.'."\n" - .'* queuename: the name of the MNS queue.'."\n" - .'* topicname: the name of the MNS topic.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****', - ], + 'schema' => ['description' => 'The name of the scaling rule. The name must be 2 to 64 characters in length and start with a digit, letter, or Chinese character. It can contain digits, underscores (_), hyphens (-), or periods (.).'."\n" + ."\n" + .'The scaling rule name must be unique within a scaling group under the same user account in the same region.'."\n" + ."\n" + .'>If this parameter is not specified, the default value is the value of ScalingRuleId.', 'type' => 'string', 'required' => false, 'example' => 'scalingrule****', 'title' => ''], ], [ - 'name' => 'NotificationType', + 'name' => 'Cooldown', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The type of notification N for scaling activities or resource changes. Valid values of N: 1 to 8. Specify multiple values in the repeated list form.'."\n" - ."\n" - .'You can call the [DescribeNotificationTypes](~~71117~~) operation to query the values of this parameter.', - 'type' => 'array', - 'items' => [ - 'description' => 'The type of notification N for scaling activities or resource changes. Valid values of N: 1 to 8. Specify multiple values in the repeated list form.'."\n" - ."\n" - .'You can call the [DescribeNotificationTypes](~~71117~~) operation to query the values of this parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', - ], - 'required' => true, - 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', - 'maxItems' => 12, - ], + 'schema' => ['description' => 'The cooldown period of the scaling rule. This parameter is applicable only to simple scaling rules. Valid values: 0 to 86400. Unit: seconds.'."\n" + ."\n" + .'Default value: empty.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], + ], + [ + 'name' => 'MinAdjustmentMagnitude', + 'in' => 'query', + 'schema' => ['description' => 'The minimum number of instances to adjust in a scaling rule. This parameter takes effect only when the scaling rule type is `SimpleScalingRule` or `StepScalingRule`, and `AdjustmentType` is set to `PercentChangeInCapacity`.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'AdjustmentType', + 'in' => 'query', + 'schema' => ['description' => 'The adjustment method of the scaling rule. This parameter is applicable to simple scaling rules and step scaling rules, and is required in these cases. Valid values:'."\n" + ."\n" + .'- QuantityChangeInCapacity: adds or removes the specified number of ECS instances.'."\n" + .'- PercentChangeInCapacity: adds or removes the specified percentage of ECS instances.'."\n" + .'- TotalCapacity: adjusts the number of ECS instances in the current scaling group to the specified number.', 'type' => 'string', 'required' => false, 'example' => 'QuantityChangeInCapacity', 'title' => ''], + ], + [ + 'name' => 'AdjustmentValue', + 'in' => 'query', + 'schema' => ['description' => 'The adjustment value of the scaling rule. This parameter is applicable to simple scaling rules and step scaling rules, and is required in these cases. The number of ECS instances adjusted in a single scaling activity cannot exceed 1,000. Valid values for different adjustment methods:'."\n" + .'- QuantityChangeInCapacity: -1000 to 1000.'."\n" + .'- PercentChangeInCapacity: -100 to 10000.'."\n" + .'- TotalCapacity: 0 to 2000.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + ], + [ + 'name' => 'ScalingRuleType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the scaling rule. Valid values:'."\n" + ."\n" + .'- SimpleScalingRule: simple scaling rule. Adjusts the number of ECS or ECI instances based on the adjustment method (AdjustmentType) and adjustment value (AdjustmentValue).'."\n" + .'- TargetTrackingScalingRule: target tracking scaling rule. Dynamically calculates the number of ECS or ECI instances to scale based on the predefined metric (MetricName) and attempts to keep the metric value close to the target value (TargetValue).'."\n" + .'- StepScalingRule: step scaling rule. Provides a step-based scaling method based on thresholds and metric values.'."\n" + .'- PredictiveScalingRule: predictive scaling rule. Uses machine learning to analyze the historical monitoring data of a scaling group, predict future metric values, and supports automatically creating scheduled tasks to set scaling group boundaries.'."\n" + ."\n" + .'Default value: SimpleScalingRule.', 'type' => 'string', 'required' => false, 'default' => 'SimpleScalingRule', 'example' => 'SimpleScalingRule', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'EstimatedInstanceWarmup', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => 'The warm-up period of instances. This parameter is applicable to target tracking scaling rules and step scaling rules. ECS instances in the warm-up state are added to the scaling group as normal but do not report monitoring data to CloudMonitor during the warm-up period.'."\n" + .'> When dynamically calculating the number of ECS instances to scale, instances in the warm-up state are not counted as part of the existing instance count.'."\n" + .' '."\n" + .'Valid values: 0 to 86400. Unit: seconds.'."\n" + ."\n" + .'Default value: 300.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'title' => ''], ], [ - 'name' => 'TimeZone', + 'name' => 'MetricName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The predefined metric. This parameter is applicable to target tracking scaling rules and predictive scaling rules, and is required in these cases.'."\n" + ."\n\n" + .'Valid values for target tracking scaling rules: '."\n" + .'- CpuUtilizationAgent: (Agent) CPU utilization (recommended).'."\n" + .'- MemoryUtilization: (Agent) memory utilization (recommended).'."\n" + .'- CpuUtilization: (ECS) average CPU utilization.'."\n" + .'- IntranetTx: (ECS) average outbound traffic over the internal network.'."\n" + .'- IntranetRx: (ECS) average inbound traffic over the internal network.'."\n" + .'- VpcInternetTx: (ECS) average outbound traffic over the public network.'."\n" + .'- VpcInternetRx: (ECS) average inbound traffic over the public network.'."\n" + .'- LoadBalancerRealServerAverageQps: (ALB) average QPS per server in the server group.'."\n" + ."\n" + .'Valid values for predictive scaling rules: '."\n" + .'- CpuUtilization: (ECS) average CPU utilization.'."\n" + .'- IntranetRx: (ECS) average inbound traffic over the internal network.'."\n" + .'- IntranetTx: (ECS) average outbound traffic over the internal network.'."\n" + ."\n" + .'For more information, see [System monitoring alert tasks](~~74854~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization', 'title' => ''], ], [ - 'name' => 'MessageEncoding', + 'name' => 'TargetValue', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - ], + 'schema' => ['description' => 'The target value. This parameter is applicable to target tracking scaling rules and predictive scaling rules, and is required in these cases. The TargetValue can have up to three decimal places and must be greater than 0.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.125', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'CreateNotificationConfiguration', - 'description' => '## Description'."\n" - ."\n" - .'You can configure CloudMonitor system events, Message Service (MNS) queues, or MNS topics to receive notifications. When a specified type of scaling activity or resource change occurs in a scaling group, Auto Scaling notifies CloudMonitor or MNS.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DeleteNotificationConfiguration' => [ - 'summary' => '删除一条弹性伸缩事件及资源变化通知', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '92665', - 'abilityTreeNodes' => [ - 'FEATUREessJ2FJEV', + 'name' => 'DisableScaleIn', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to disable scale-in. This parameter is applicable only to target tracking scaling rules.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'ScaleInEvaluationCount', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'After a target tracking scaling rule is created, an alert task is automatically created. This parameter specifies the number of consecutive times that the threshold condition must be met before the corresponding scale-in alert task triggers an alert.'."\n" + ."\n" + .'Default value: 15.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '15', 'title' => ''], ], [ - 'name' => 'NotificationArn', + 'name' => 'ScaleOutEvaluationCount', 'in' => 'query', - 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notified party. The following list describes the value formats of this parameter:'."\n" - ."\n" - .'* If the notified party is CloudMonitor, the value format of this parameter is acs:ess:{region-id}:{account-id}:cloudmonitor.'."\n" - .'* If the notified party is a Message Service (MNS) queue, the value format of this parameter is acs:mns:{region-id}:{account-id}:queue/{queuename}.'."\n" - .'* If the notified party is an MNS topic, the value format of this parameter is acs:mns:{region-id}:{account-id}:topic/{topicname}.'."\n" - ."\n" - .'The variables in the preceding formats have the following meanings:'."\n" - ."\n" - .'* region-id: the region ID of the scaling group.'."\n" - .'* account-id: the ID of the Alibaba Cloud account.'."\n" - .'* queuename: the name of the MNS queue.'."\n" - .'* topicname: the name of the MNS topic.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'acs:ess:cn-beijing:161456884340****:cloudmonitor', - ], + 'schema' => ['description' => 'After a target tracking scaling rule is created, an alert task is automatically created. This parameter specifies the number of consecutive times that the threshold condition must be met before the corresponding scale-out alert task triggers an alert.'."\n" + ."\n" + .'Default value: 3.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'PredictiveScalingMode', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\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-A3DC0DE3C83E', - ], - ], - ], + 'schema' => ['description' => 'The mode of the predictive scaling rule. Valid values:'."\n" + ."\n" + .'- PredictAndScale: generates prediction results and creates prediction tasks.'."\n" + .'- PredictOnly: generates prediction results but does not create prediction tasks.'."\n" + ."\n" + .'Default value: PredictAndScale.', 'type' => 'string', 'required' => false, 'example' => 'PredictAndScale', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'DeleteNotificationConfiguration', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DeleteNotificationConfiguration\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'ModifyNotificationConfiguration' => [ - 'summary' => '修改一条弹性伸缩事件及资源变化通知', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'PredictiveValueBehavior', + 'in' => 'query', + 'schema' => ['description' => 'The method used to process the maximum value for the predictive scaling rule. Valid values:'."\n" + ."\n" + .'- MaxOverridePredictiveValue: the initial maximum value overrides the predicted value. When the predicted value is greater than the initial maximum value, the maximum value of the prediction task uses the initial maximum value.'."\n" + .'- PredictiveValueOverrideMax: the predicted value overrides the initial maximum value. When the predicted value is greater than the initial maximum value, the maximum value of the prediction task uses the predicted value.'."\n" + .'- PredictiveValueOverrideMaxWithBuffer: the predicted value is increased by a specified ratio. The predicted value is increased based on the PredictiveValueBuffer ratio. When the increased value is greater than the initial maximum value, the increased value is used.'."\n" + ."\n" + .'Default value: MaxOverridePredictiveValue.', 'type' => 'string', 'required' => false, 'example' => 'MaxOverridePredictiveValue', 'title' => ''], ], - ], - 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92707', - 'abilityTreeNodes' => [ - 'FEATUREess6E26FJ', - 'FEATUREessFY8KDA', + [ + 'name' => 'PredictiveValueBuffer', + 'in' => 'query', + 'schema' => ['description' => 'This parameter takes effect only when `PredictiveValueBehavior` is set to `PredictiveValueOverrideMaxWithBuffer`. The predicted value is increased by the specified ratio. When the increased value is greater than the initial maximum value, the increased value is used. Valid values: 0 to 100.'."\n" + ."\n" + .'Default value: 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'PredictiveTaskBufferTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + 'schema' => ['description' => 'Prediction tasks automatically created by a predictive scaling rule are executed at the start of each hour by default. You can set a pre-launch time to execute prediction tasks in advance to prepare resources ahead of time. Valid values: 0 to 60. Unit: minutes.'."\n" + ."\n" + .'Default value: 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''], ], [ - 'name' => 'NotificationArn', + 'name' => 'InitialMaxSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notified party. The following list describes the value formats of this parameter:'."\n" - ."\n" - .'* If the notified party is CloudMonitor, the value format of this parameter is acs:ess:{region-id}:{account-id}:cloudmonitor.'."\n" - .'* If the notified party is a Message Service (MNS) queue, the value format of this parameter is acs:mns:{region-id}:{account-id}:queue/{queuename}.'."\n" - .'* If the notified party is an MNS topic, the value format of this parameter is acs:mns:{region-id}:{account-id}:topic/{topicname}.'."\n" - ."\n" - .'The variables in the preceding formats have the following meanings:'."\n" - ."\n" - .'* region-id: the ID of the region where the scaling group resides.'."\n" - .'* account-id: the ID of the Alibaba Cloud account.'."\n" - .'* queuename: the name of the MNS queue.'."\n" - .'* topicname: the name of the MNS topic.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'acs:ess:cn-beijing:161456884340****:cloudmonitor', - ], + 'schema' => ['description' => 'The maximum number of instances in the scaling group. This parameter is used in combination with PredictiveValueBehavior.'."\n" + ."\n" + .'Default value: the maximum number of instances in the scaling group (the value of MaxSize).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], ], [ - 'name' => 'NotificationType', + 'name' => 'StepAdjustment', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The type of notification N for scaling activities or resource changes. Valid values of N: 1 to 8. Specify multiple values in the repeated list form.'."\n" - ."\n" - .'You can call the [DescribeNotificationTypes](~~71117~~) operation to query the value of this parameter.', + 'description' => 'The collection of instance scaling information corresponding to step adjustments.', 'type' => 'array', 'items' => [ - 'description' => 'The type of notification N for scaling activities or resource changes. Valid values of N: 1 to 8. Specify multiple values in the repeated list form.'."\n" - ."\n" - .'You can call the [DescribeNotificationTypes](~~71117~~) operation to query the value of this parameter.'."\n", - 'type' => 'string', + 'description' => 'The collection of instance scaling information corresponding to step adjustments.', + 'type' => 'object', + 'properties' => [ + 'MetricIntervalUpperBound' => ['description' => 'The upper boundary of a step adjustment. This parameter is applicable only to step scaling rules. Valid values: -9.999999E18 to 9.999999E18.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '5.0', 'title' => ''], + 'ScalingAdjustment' => ['description' => 'The number of instances to scale corresponding to a step adjustment. This parameter is applicable only to step scaling rules.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'MetricIntervalLowerBound' => ['description' => 'The lower boundary of a step adjustment. This parameter is applicable only to step scaling rules. Valid values: -9.999999E18 to 9.999999E18.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], + ], 'required' => false, - 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', + 'title' => '', + 'example' => '', ], - 'required' => true, - 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', - 'maxItems' => 12, - ], - ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', 'required' => false, - 'example' => 'cn-beijing', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'TimeZone', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'MessageEncoding', + 'name' => 'AlarmDimension', 'in' => 'query', + 'allowEmptyValue' => false, + 'style' => 'repeatList', 'schema' => [ - 'type' => 'string', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'description' => 'The dimension information associated with the metric. This parameter is applicable to target tracking scaling rules. Set this parameter when the metric requires additional dimension information. For example, the `LoadBalancerRealServerAverageQps` metric requires the `rulePool` dimension information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The dimension information associated with the metric. This parameter is applicable to target tracking scaling rules. Set this parameter when the metric requires additional dimension information. For example, the `LoadBalancerRealServerAverageQps` metric requires the `rulePool` dimension information.', + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => ['description' => 'The key of the dimension associated with the metric.', 'type' => 'string', 'required' => false, 'example' => 'rulePool', 'title' => ''], + 'DimensionValue' => ['description' => 'The value of the dimension associated with the metric.', 'type' => 'string', 'required' => false, 'example' => 'sgp-l1cbirz451yxu2****', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'required' => false, + 'maxItems' => 5, + 'title' => '', + 'example' => '', ], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'ModifyNotificationConfiguration', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=ModifyNotificationConfiguration\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DescribeNotificationConfigurations' => [ - 'summary' => '查询弹性伸缩事件及资源变化通知', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92677', - 'abilityTreeNodes' => [ - 'FEATUREess6E26FJ', - 'FEATUREessFY8KDA', + 'name' => 'MetricType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the metric. Valid values:'."\n" + ."\n" + .'- system: uses CloudMonitor system metrics.'."\n" + .'- custom: uses custom metrics reported to CloudMonitor.'."\n" + .'- hybrid: uses Hybrid Cloud Monitoring metrics.', 'type' => 'string', 'required' => false, 'example' => 'system', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'HybridMonitorNamespace', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + 'schema' => ['description' => 'The ID of the Hybrid Cloud Monitoring metric namespace.'."\n" + ."\n" + .'To manage metric namespaces, see [Manage metric namespaces](~~217606~~).', 'type' => 'string', 'required' => false, 'example' => 'aliyun-test', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'HybridMetrics', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\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-A3DC0DE3C83E', - ], - 'NotificationConfigurationModels' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'NotificationConfigurationModel' => [ - 'description' => 'The details of the notifications for scaling activities or resource changes.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'NotificationArn' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notified party. The following list describes the value formats of this parameter:'."\n" - ."\n" - .'* If the notified party is CloudMonitor, the value format is acs:ess:{region-id}:{account-id}:cloudmonitor.'."\n" - .'* If the notified party is a Message Service (MNS) queue, the value format is acs:mns:{region-id}:{account-id}:queue/{queuename}.'."\n" - .'* If the notified party is an MNS topic, the value format is acs:mns:{region-id}:{account-id}:topic/{topicname}.'."\n" - ."\n" - .'The variables in the preceding formats have the following meanings:'."\n" - ."\n" - .'* region-id: the region ID of the scaling group.'."\n" - .'* account-id: the ID of the Alibaba Cloud account.'."\n" - .'* queuename: the name of the MNS queue.'."\n" - .'* topicname: the name of the MNS topic.'."\n", - 'type' => 'string', - 'example' => 'acs:mns:cn-beijing:161456884340****:topic/modifyLifecycleHo****', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asg-bp1igpak5ft1flyp****', - ], - 'NotificationTypes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'NotificationType' => [ - 'description' => 'The types of notifications for scaling activities or resource changes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The types of notifications for scaling activities or resource changes.', - 'type' => 'string', - 'example' => 'AUTOSCALING:SCALE_IN_SUCCESS', - ], - ], - ], - ], - 'TimeZone' => [ - 'type' => 'string', - ], - 'MessageEncoding' => [ - 'type' => 'string', - ], - ], + 'description' => 'The Hybrid Cloud Monitoring metric settings. For information about how to configure them, see [Use formula-based custom target tracking rules](~~2852162~~).', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => 'The reference ID of the metric in the metric expression.', 'type' => 'string', 'required' => false, 'example' => 'a', 'title' => ''], + 'Expression' => ['description' => 'The metric expression for multiple Hybrid Cloud Monitoring metrics. The calculation result of the expression is used to trigger scaling.'."\n" + ."\n" + .'The expression must conform to the Reverse Polish Notation (RPN) specification, and only the operators `+ - * /` are supported.', 'type' => 'string', 'required' => false, 'example' => '(a+b)/2', 'title' => ''], + 'MetricName' => ['description' => 'The metric name in the Hybrid Cloud Monitoring metric namespace.', 'type' => 'string', 'required' => false, 'example' => 'AliyunSmq_NumberOfMessagesVisible', 'title' => ''], + 'Statistic' => ['description' => 'The statistical method of the metric. Valid values:'."\n" + .'- Average: the average of all data points within the specified period.'."\n" + .'- Minimum: the minimum value of all data points within the specified period.'."\n" + .'- Maximum: the maximum value of all data points within the specified period.', 'type' => 'string', 'required' => false, 'example' => 'Average', 'title' => ''], + 'Dimensions' => [ + 'description' => 'The metric dimensions. Used to specify the resources monitored by the metric.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => ['description' => 'The key of the metric dimension.', 'type' => 'string', 'required' => false, 'example' => 'queue', 'title' => ''], + 'DimensionValue' => ['description' => 'The value of the metric dimension.', 'type' => 'string', 'required' => false, 'example' => 'testQueue', 'title' => ''], ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', ], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', ], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"NotificationConfigurationModels\\": {\\n \\"NotificationConfigurationModel\\": [\\n {\\n \\"NotificationArn\\": \\"acs:mns:cn-beijing:161456884340****:topic/modifyLifecycleHo****\\",\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\",\\n \\"NotificationTypes\\": {\\n \\"NotificationType\\": [\\n \\"AUTOSCALING:SCALE_IN_SUCCESS\\"\\n ]\\n },\\n \\"TimeZone\\": \\"UTC+8\\",\\n \\"MessageEncoding\\": \\"PlainText\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n \\n acs:mns:cn-beijing:161456884340****:topic/modifyLifecycleHo****\\n asg-bp1igpak5ft1flyp****\\n AUTOSCALING:SCALE_IN_SUCCESS\\n \\n","errorExample":""}]', - 'title' => 'DescribeNotificationConfigurations', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DescribeNotificationConfigurations\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DescribeNotificationTypes' => [ - 'summary' => '查询弹性伸缩事件及资源变化通知的类型', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92678', - 'abilityTreeNodes' => [ - 'FEATUREessFY8KDA', + 'name' => 'AlarmOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The alert attribute definitions.', + 'type' => 'object', + 'properties' => [ + 'Period' => ['description' => 'The period for collecting metric data in the target tracking scaling rule. Unit: seconds. Valid values:'."\n" + ."\n" + .'- 15.'."\n" + .'- 60.'."\n" + .'- 120.'."\n" + .'- 300.'."\n" + .'- 900.'."\n" + ."\n" + .'> Default value: 60.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'NotificationTypes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'NotificationType' => [ - 'description' => 'The types of notifications for scaling activities and resource changes.'."\n" - ."\n" - .'* AUTOSCALING:SCALE_OUT_SUCCESS: The scale-out event is successful.'."\n" - .'* AUTOSCALING:SCALE_IN_SUCCESS: The scale-in event is successful.'."\n" - .'* AUTOSCALING:SCALE_OUT_ERROR: The scale-out event fails.'."\n" - .'* AUTOSCALING:SCALE_IN_ERROR: The scale-in event fails.'."\n" - .'* AUTOSCALING:SCALE_REJECT: The scaling activity is rejected.'."\n" - .'* AUTOSCALING:SCALE_OUT_START: The scale-out event is started.'."\n" - .'* AUTOSCALING:SCALE_IN_START: The scale-in event is started.'."\n" - .'* AUTOSCALING:SCHEDULE_TASK_EXPIRING: Auto Scaling sends a notification when a scheduled task is about to expire.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The types of notifications for scaling activities and resource changes.'."\n" - ."\n" - .'* AUTOSCALING:SCALE_OUT_SUCCESS: The scale-out event is successful.'."\n" - .'* AUTOSCALING:SCALE_IN_SUCCESS: The scale-in event is successful.'."\n" - .'* AUTOSCALING:SCALE_OUT_ERROR: The scale-out event fails.'."\n" - .'* AUTOSCALING:SCALE_IN_ERROR: The scale-in event fails.'."\n" - .'* AUTOSCALING:SCALE_REJECT: The scaling activity is rejected.'."\n" - .'* AUTOSCALING:SCALE_OUT_START: The scale-out event is started.'."\n" - .'* AUTOSCALING:SCALE_IN_START: The scale-in event is started.'."\n" - .'* AUTOSCALING:SCHEDULE_TASK_EXPIRING: Auto Scaling sends a notification when a scheduled task is about to expire.', - 'type' => 'string', - 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', - ], - ], - ], - ], + 'ScalingRuleAri' => ['description' => 'The unique identifier of the scaling rule.', 'type' => 'string', 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'ScalingRuleId' => ['description' => 'The ID of the scaling rule, which is generated by the system and is globally unique.', 'type' => 'string', 'example' => 'asr-bp1dvirgwkoowxk7****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"NotificationTypes\\": {\\n \\"NotificationType\\": [\\n \\"AUTOSCALING:SCALE_OUT_SUCCESS\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n AUTOSCALING:SCALE_OUT_SUCCESS\\n","errorExample":""}]', - 'title' => 'DescribeNotificationTypes', - 'description' => '## Debugging'."\n" + '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' => '## API Description'."\n" + ."\n" + .'Note the following about the related parameters:'."\n" ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DescribeNotificationTypes\\&type=RPC\\&version=2014-08-28)'."\n", + .'- When AdjustmentType is TotalCapacity, it adjusts the number of ECS or ECI instances in the current scaling group to the specified number. The corresponding AdjustmentValue must be greater than or equal to 0.'."\n" + .'- When AdjustmentType is QuantityChangeInCapacity or PercentChangeInCapacity, a positive AdjustmentValue indicates adding instances and a negative value indicates removing instances.'."\n" + .'- When AdjustmentType is PercentChangeInCapacity, Auto Scaling calculates the number of ECS or ECI instances to add or remove using the formula: current instance count (Total Capacity) x AdjustmentValue / 100, with rounding applied.'."\n" + .'- When a cooldown period (Cooldown) is specified in the scaling rule, the scaling group will be cooled down for the specified period after the scaling activity triggered by this rule is completed. If no cooldown period is specified in the scaling rule, the cooldown period specified for the scaling group (DefaultCooldown) is used.'."\n" + .'- The number of scaling rules that can be created in a scaling group is limited. For more information, see [Limits](~~25863~~).'."\n" + .'- The returned unique identifier of the scaling rule (ScalingRuleAri) can be used in the following APIs:'."\n" + .' - Specified in the ScalingRuleAri parameter of ExecuteScalingRule to manually execute the scaling rule.'."\n" + .' - Specified in the ScheduledAction parameter of CreateScheduledTask to execute the scaling rule on a schedule.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'SetInstancesProtection' => [ - 'summary' => '开始或停止保护伸缩组内ECS实例', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => '|HttpCode|Error Code|Error Message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist under this user account.|'."\n" + .'|400|InvalidScalingRuleName.Duplicate|The specified value of parameter is duplicated.|The scaling rule name already exists.|'."\n" + .'|400|QuotaExceeded.ScalingRule|Scaling rule quota exceeded in the specified scaling group.|The number of scaling rules used by the user has reached the upper limit.|'."\n" + .'|400|TargetTrackingScalingRule.UnsupportedMetric|Specific metric is not supported for target tracking scaling rule.|The current metric is not supported for target tracking scaling rules.|'."\n" + .'|400|TargetTrackingScalingRule.DumplicateMetric|Only one TargetTrackingScaling rule for a given metric specification is allowed.|Only one target tracking scaling rule is allowed for the same metric within a scaling group.|'."\n" + .'|400|InvalidMinAdjustmentMagnitudeMismatchAdjustmentType|MinAdjustmentMagnitude is not supported by the specified adjustment type.|MinAdjustmentMagnitude does not support the current scaling rule adjustment type.|'."\n" + .'|400|InvalidStepAdjustments.MultipleNullUpperBound|At most one StepAdjustment may have an unspecified upper bound.|At most one step adjustment can have an unspecified upper boundary.|'."\n" + .'|400|InvalidStepAdjustments.MultipleNullLowerBound|At most one StepAdjustment may have an unspecified lower bound.|At most one step adjustment can have an unspecified lower boundary.|'."\n" + .'|400|InvalidStepAdjustments.NoNullLowerBound|There must be a StepAdjustment with an unspecified lower bound when one StepAdjustment has a negative lower bound.|When a step adjustment has a negative lower boundary, there must be a step adjustment with an unspecified lower boundary.|'."\n" + .'|400|InvalidStepAdjustments.NoNullUpperBound|There must be a StepAdjustment with an unspecified upper bound when one StepAdjustment has a positive upper bound.|When a step adjustment has a positive upper boundary, there must be a step adjustment with an unspecified upper boundary.|'."\n" + .'|400|InvalidStepAdjustments.Gap|StepAdjustment intervals can not have gaps between them.|There must be no gaps between step adjustment intervals.|'."\n" + .'|400|InvalidStepAdjustments.Overlap|StepAdjustment intervals can not overlap.|Step adjustment intervals must not overlap.|'."\n" + .'|400|InvalidStepAdjustments.LowerGtUpper|LowerBound must be less than the UpperBound for StepAdjustment :%s.|Within the same step adjustment, the lower boundary must be less than the upper boundary.|'."\n" + .'|400|InvalidStepAdjustments.BothNull|Both lower and upper bounds of a StepAdjustment can not be left unspecified.|Within the same step adjustment, both the upper and lower boundaries cannot be left unspecified.|'."\n" + .'|400|InvalidStepAdjustments.MaxNum|Your scaling rule can have at most %s StepAdjustments.|The number of step adjustments within the same scaling group exceeds the threshold.|'."\n" + .'|400|StepBeyondPermitRange|Specific parameter "%s" beyond permit range.|The upper or lower boundary of a step adjustment exceeds the permitted range.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateScalingRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateScalingRule'], + ], ], + ], + 'CreateScheduledTask' => [ + 'summary' => 'Creates a scheduled task.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92719', - 'abilityTreeNodes' => [ - 'FEATUREessBFHJ1B', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '92660', + 'abilityTreeNodes' => ['FEATUREess30IPAO'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The ID of the region where the scheduled task resides.', 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'ProtectedFromScaleIn', + 'name' => 'ScheduledTaskName', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable protection for an ECS instance to prevent the ECS instance from being stopped or removed from the scaling group during scale-in events. Valid values:'."\n" - ."\n" - .'* true: enables protection for the ECS instance.'."\n" - .'* false: disables protection for the ECS instance.'."\n", - 'type' => 'boolean', - 'required' => true, - 'example' => 'true', - ], + 'schema' => ['description' => 'The name of the scheduled task. The name must be 2 to 64 characters in length and can contain letters, digits, underscores (_), hyphens (-), and periods (.). It must start with a digit, letter, or Chinese character. The name must be unique within the same account in the same region. '."\n" + ."\n" + .'Default value: the value of `ScheduledTaskId`.', 'type' => 'string', 'required' => false, 'example' => 'scheduled****', 'title' => ''], ], [ - 'name' => 'InstanceId', + 'name' => 'Description', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The ID of ECS instance N. Valid values of N: 1 to 20.', - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The ID of ECS instance N. Valid values of N: 1 to 20.'."\n", - 'example' => 'i-28wt4****', - ], - 'required' => true, - 'example' => 'i-28wt4****', - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The description of the scheduled task. The description must be 2 to 200 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'Test scheduled task.', 'title' => ''], + ], + [ + 'name' => 'ScheduledAction', + 'in' => 'query', + 'schema' => ['description' => 'The scaling rule to execute when the scheduled task is triggered. Set this parameter to the unique identifier of the scaling rule.'."\n" + ."\n" + .'If you specify this parameter, the scaling method of the scheduled task is to use an existing scaling rule.'."\n" + ."\n" + .'> You cannot specify both `ScheduledAction` and `ScalingGroupId`.', 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:140692647****:scalingrule/asr-bp12tcnol686y1ik****', 'title' => ''], + ], + [ + 'name' => 'RecurrenceEndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end time of the recurrence for the scheduled task.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in UTC. Format: `YYYY-MM-DDThh:mmZ`. The end time cannot be more than 365 days from the date of creation.', 'type' => 'string', 'required' => false, 'example' => '2014-08-17T16:55Z', 'title' => ''], + ], + [ + 'name' => 'LaunchTime', + 'in' => 'query', + 'schema' => ['description' => 'The point in time at which the scheduled task is triggered.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in UTC. Format: `YYYY-MM-DDThh:mmZ`. The time cannot be more than 90 days from the date of creation. '."\n" + ."\n" + .'- If you specify `RecurrenceType`, the scheduled task is executed repeatedly at the time specified by this parameter.'."\n" + ."\n" + .'- If you do not specify `RecurrenceType`, the task is executed only once at the specified date and time.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '2014-08-17T16:52Z', 'title' => ''], + ], + [ + 'name' => 'RecurrenceType', + 'in' => 'query', + 'schema' => ['description' => 'The recurrence type of the scheduled task. Valid values: '."\n" + .'- Daily: The scheduled task is executed once every specified number of days. '."\n" + .'- Weekly: The scheduled task is executed on specified days of each week. '."\n" + .'- Monthly: The scheduled task is executed on specified days of each month. '."\n" + .'- Cron: The scheduled task is executed based on the specified cron expression. '."\n" + ."\n" + .'You must specify both `RecurrenceType` and `RecurrenceValue`.', 'type' => 'string', 'required' => false, 'example' => 'Daily', 'title' => ''], + ], + [ + 'name' => 'RecurrenceValue', + 'in' => 'query', + 'schema' => ['description' => 'The recurrence value of the scheduled task. '."\n" + ."\n" + .'- If `RecurrenceType` is set to `Daily`, you can specify only one value. Valid values: 1 to 31. '."\n" + .'- If `RecurrenceType` is set to `Weekly`, you can specify multiple values separated by commas (,). The values that correspond to Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday are `0,1,2,3,4,5,6`. '."\n" + .'- If `RecurrenceType` is set to `Monthly`, the value is in the `A-B` format. Valid values of A and B: 1 to 31. B must be greater than or equal to A. '."\n" + .'- If `RecurrenceType` is set to `Cron`, the value is a UTC-based cron expression that supports five fields: minute, hour, day, month, and day of week. The following wildcard characters are supported: comma (,), question mark (?), hyphen (-), asterisk (\\*), pound sign (#), forward slash (/), L, and W. '."\n" + ."\n" + .'You must specify both `RecurrenceType` and `RecurrenceValue`.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'TaskEnabled', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the scheduled task. Valid values: '."\n" + .'- true: enables the task.'."\n" + .'- false: disables the task.'."\n" + ."\n" + .'Default value: true.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'LaunchExpirationTime', + 'in' => 'query', + 'schema' => ['description' => 'The time period during which a failed scheduled task is retried. Unit: seconds. Valid values: 0 to 1800.'."\n" + ."\n" + .'Default value: 600.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '86400', 'minimum' => '0', 'default' => '600', 'example' => '600', 'title' => ''], + ], + [ + 'name' => 'MinValue', + 'in' => 'query', + 'schema' => ['description' => 'The minimum number of instances in the scaling group when the scaling method of the scheduled task is to set the number of instances in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'MaxValue', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of instances in the scaling group when the scaling method of the scheduled task is to set the number of instances in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'DesiredCapacity', + 'in' => 'query', + 'schema' => ['description' => 'The expected number of instances in the scaling group when the scaling method of the scheduled task is to set the number of instances in the scaling group.'."\n" + ."\n" + .'> The scaling group must have the expected number of instances feature enabled, which means `DesiredCapacity` was specified when the scaling group was created.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group whose number of instances is modified when the scheduled task is triggered.'."\n" + ."\n" + .'If you specify this parameter, the scaling method of the scheduled task is to set the number of instances in the scaling group. You must specify a value for at least one of the following parameters: `MinValue`, `MaxValue`, and `DesiredCapacity`.'."\n" + ."\n" + .'> You cannot specify both `ScheduledAction` and `ScalingGroupId`.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], ], 'responses' => [ @@ -14671,37 +5542,58 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'ScheduledTaskId' => ['description' => 'The ID of the scheduled task. The ID is globally unique and generated by the system.', 'type' => 'string', 'example' => 'edRtShc57WGXdt8TlPbr****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'SetInstancesProtection', - 'description' => '## Description'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScheduledTaskId\\": \\"edRtShc57WGXdt8TlPbr****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Create a scheduled task', + 'description' => '## Operation description'."\n" ."\n" - .'After an ECS instance is put into the Protected state, the following limits apply to the instance:'."\n" - ."\n" - .'* The instance remains in the Protected state until you remove the instance from the Protected state.'."\n" - .'* Even if a scale-in event is triggered for a scaling group due to a change in the number of ECS instances or due to an event-triggered task, Auto Scaling does not remove the ECS instances in the Protected state. You must remove the ECS instance from the Protected state before Auto Scaling can remove the ECS instance from the scaling group and release the instance. For information about how to remove an ECS instance from a scaling group, see [Remove an ECS instance from a scaling group](~~25955~~).'."\n" - .'* When the ECS instance is stopped or restarted, the health status of the instance remains unchanged.'."\n", + .'- If a scheduled task fails to trigger a scaling rule because a scaling activity is in progress in the scaling group or the scaling group is disabled, the scheduled task automatically retries within the period specified by `LaunchExpirationTime`. Otherwise, the scheduled task is skipped.'."\n" + .'- If multiple scheduled tasks trigger scaling rules for the same scaling group within a similar time frame, the details of the triggered scaling activities are as follows:'."\n" + .' - **Scaling groups with the expected number of instances configured**: The scaling activities triggered by multiple scheduled tasks are parallel scaling activities. For example, when multiple scheduled tasks are executed within a similar time frame, the scaling group can trigger multiple parallel scaling activities simultaneously.'."\n" + .' - **Scaling groups without the expected number of instances configured**: The earliest triggered scheduled task executes the scaling activity first. Because a scaling group can have only one scaling activity at a time, subsequent scheduled tasks automatically retry within the period specified by `LaunchExpirationTime`. If the previous scaling activity is completed while a subsequent scheduled task is still retrying within the `LaunchExpirationTime` period, the scaling rule of that scheduled task is executed and the corresponding scaling activity is triggered.'."\n" + .'- Scheduled tasks support the following two scaling methods:'."\n" + .' - Use the `ScheduledAction` parameter to specify the scaling rule to execute.'."\n" + .' - Use the `ScalingGroupId` parameter to specify the number of instances in the scaling group.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'SetInstanceHealth' => [ - 'summary' => '设置伸缩组内ECS实例的健康状态', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidRegionId.NotFound|The specified region does not exist.|The specified region does not exist.|'."\n" + .'|400|InvalidScheduledTaskName.Duplicate|The specified value of parameter ScheduledTaskName is duplicated.|The scheduled task name already exists.|'."\n" + .'|400|QuotaExceeded.ScheduledTask|Scheduled task quota exceeded.|The number of scheduled tasks has reached the upper limit.|'."\n" + .'|400|ScheduledAction.RegionMismatch|The specified scheduled task and the specified scheduled action are not in the same Region.|The specified ScheduledAction and the scheduled task are not in the same region.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateScheduledTask'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateScheduledTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'DeactivateScalingConfiguration' => [ + 'summary' => 'Deactivates a specified scaling configuration.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14709,34 +5601,14 @@ ], 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '92718', - 'abilityTreeNodes' => [ - 'FEATUREessBFHJ1B', - ], + 'abilityTreeCode' => '92661', + 'abilityTreeNodes' => ['FEATUREessT4M3WE'], ], 'parameters' => [ [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of an ECS instance in a scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-bp1ap6bro51a7fsa****', - ], - ], - [ - 'name' => 'HealthStatus', + 'name' => 'ScalingConfigurationId', 'in' => 'query', - 'schema' => [ - 'description' => 'The health status of an ECS instance. Valid values:'."\n" - ."\n" - .'* Healthy'."\n" - .'* Unhealthy'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Healthy', - ], + 'schema' => ['description' => 'The ID of the scaling configuration.', 'type' => 'string', 'required' => true, 'example' => 'asc-bp1ahp2ud7qkzt2a****', 'title' => ''], ], ], 'responses' => [ @@ -14744,100 +5616,65 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B755AE57-6093-43E4-938E-DEA422A9B10F', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'D09C9E64-7D19-4E1C-8CD6-123D34A4****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B755AE57-6093-43E4-938E-DEA422A9****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n B755AE57-6093-43E4-938E-DEA422A9****\\n","errorExample":""}]', - 'title' => 'SetInstanceHealth', - 'description' => '## Description'."\n" - ."\n" - .'Auto Scaling performs health checks on ECS instances in a scaling group and removes unhealthy ECS instances. If you want to reserve an ECS instance, you can switch the ECS instance to the Standby or Protected state. For more information, see [EnterStandby](~~69678~~) and [SetInstancesProtection](~~71517~~).'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D09C9E64-7D19-4E1C-8CD6-123D34A4****\\"\\n}","type":"json"}]', + 'title' => 'Deactivate a specified scaling configuration', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'EnterStandby' => [ - 'summary' => '将伸缩组内的ECS实例设置为备用状态', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|IncorrectScalingGroupStatus|The current status of the specified scaling group does not support this action.|The scaling group to which the scaling configuration belongs must be in the Inactive state.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DeactivateScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeactivateScalingConfiguration'], + ], ], + ], + 'DeleteAlarm' => [ + 'summary' => 'Deletes an event-triggered task.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92697', - 'abilityTreeNodes' => [ - 'FEATUREessBFHJ1B', - ], + 'operationType' => 'delete', + 'abilityTreeCode' => '92662', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1fo0dbtsbmqa9h****', - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests.'."\n" - ."\n" - .'The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], - ], - [ - 'name' => 'InstanceId', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of ECS instance N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-28wt4****', - ], - 'required' => true, - 'example' => 'i-28wt4****', - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'Async', + 'name' => 'AlarmTaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to put the ECS instance into the Standby state in an asynchronous manner. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => 'The ID of the event-triggered task.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', 'title' => ''], ], ], 'responses' => [ @@ -14845,119 +5682,155 @@ '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****', - ], + 'AlarmTaskId' => ['description' => 'The ID of the event-triggered task.', 'type' => 'string', 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingActivityId\\": \\"asa-2zeb04oym05qaceq****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n asa-2zeb04oym05qaceq****\\n","errorExample":""}]', - '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 Server Load Balancer (SLB) instance into the Standby state, the weight of the ECS instance as the backend server of the SLB instance is set to 0.'."\n" - .'* You can remove an instance that is in the Standby state from a scaling group, and then release the instance.'."\n" - .'* ECS instances that are in the Standby state are not removed from the scaling group during scale-in activities triggered by event-triggered tasks.'."\n" - .'* If Auto Scaling considers an ECS instance that is in the Standby state unhealthy, for example, the ECS instance is being stopped or being restarted, Auto Scaling does not update the health status of the ECS instance or trigger scale-in activities to remove the ECS instance from the scaling group. Auto Scaling updates the health status of the ECS instance only when the ECS instance is no longer in the Standby state.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\",\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\"\\n}","type":"json"}]', + 'title' => 'Delete an event-triggered task', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'ExitStandby' => [ - 'summary' => '使备用状态实例进入运行状态', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteAlarm'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'DeleteEciScalingConfiguration' => [ + 'summary' => 'Deletes a scaling configuration of the Elastic Container Instance (ECI) type.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '92699', - 'abilityTreeNodes' => [ - 'FEATUREessBFHJ1B', - ], + 'abilityTreeCode' => '92663', + 'abilityTreeNodes' => ['FEATUREessTZHE2G'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'ScalingConfigurationId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1fo0dbtsbmqa9h****', - ], + 'schema' => ['description' => 'The ID of the scaling configuration that you want to delete.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asc-bp1bx8mzur534edp****', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests.'."\n" - ."\n" - .'The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.'."\n" + ."\n" + .'The system returns a request ID regardless of whether the API call is successful.', 'type' => 'string', 'example' => '45D5B0AD-3B00-4A9B-9911-6D5303B0****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The ID of ECS instance N. The value of this parameter can be a JSON array that consists of up to 20 instance IDs. Separate multiple instance IDs with commas (,).', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of ECS instance N. The value of this parameter can be a JSON array that consists of up to 20 instance IDs. Separate multiple instance IDs with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-28wt4****', + ], + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'Forbidden.RiskControl', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"45D5B0AD-3B00-4A9B-9911-6D5303B0****\\"\\n}","type":"json"}]', + 'title' => 'Delete a scaling configuration', + 'description' => '## Operation description'."\n" + ."\n" + .'Before you delete an ECI-type scaling configuration, take note of the following conditions under which the scaling configuration cannot be deleted:'."\n" + ."\n" + .'- The scaling configuration is in the Active state in the scaling group.'."\n" + .'- ECI instances created from the scaling configuration still exist in the scaling group.', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingConfigurationId.NotFound|The specified scaling configuration does not exist.|The specified scaling configuration does not exist in your account.|'."\n" + .'|400|IncorrectScalingConfigurationLifecycleState|The current lifecycle state of specified scaling configuration does not support this action.|The specified scaling configuration is not in the Inactive state.|'."\n" + .'|400|InstanceInUse|You cannot delete a scaling configuration or scaling group while there is an instance associated with it.|ECI instances associated with the specified scaling configuration have not been deleted.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteEciScalingConfiguration'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DeleteEciScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => true, - 'example' => 'i-28wt4****', - 'maxItems' => 20, ], ], + ], + ], + 'DeleteLifecycleHook' => [ + 'summary' => 'Deletes a lifecycle hook.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '92664', + 'abilityTreeNodes' => ['FEATUREessZQ2TYX'], + ], + 'parameters' => [ + [ + 'name' => 'LifecycleHookId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the lifecycle hook.', 'type' => 'string', 'required' => false, 'example' => 'ash-bp14g3ee6bt3sc98****', 'title' => ''], + ], [ - 'name' => 'Async', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to asynchronously remove the ECS instance from the Standby state. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], + ], + [ + 'name' => 'LifecycleHookName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the lifecycle hook.', 'type' => 'string', 'required' => false, 'example' => 'lifecyclehook****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ @@ -14965,71 +5838,90 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'ScalingActivityId' => [ - 'title' => '异步调用伸缩活动ID', - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'example' => 'asa-2zeb04oym05qaceq****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingActivityId\\": \\"asa-2zeb04oym05qaceq****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n asa-2zeb04oym05qaceq****\\n","errorExample":""}]', - 'title' => 'ExitStandby', - 'description' => '## Description'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Delete a lifecycle hook', + 'description' => '## Operation description'."\n" + ."\n" + .'If a lifecycle hook has triggered a scaling activity wait state, deleting the lifecycle hook ends the corresponding wait state early. You can delete a lifecycle hook by using one of the following methods:'."\n" ."\n" - .'If a scaling group is associated with Server Load Balancer (SLB) instances, the weight of the ECS instance in the scaling group is set to the value that is specified in the scaling configuration when the ECS instance is removed from the Standby state.'."\n", + .'- Specify the lifecycle hook ID (`LifecycleHookId`). In this case, the `ScalingGroupId` and `LifecycleHookName` parameters are ignored.'."\n" + ."\n" + .'- Specify both the scaling group ID (`ScalingGroupId`) and the lifecycle hook name (`LifecycleHookName`).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'RebalanceInstances' => [ - 'summary' => '重新平衡ECS实例分布', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidParamter|The specified value of parameter is invalid.|The specified parameter value is invalid.|'."\n" + .'|400|InvalidLifecycleHookId.NotExist|The specified lifecycleHookId does not exist.|The specified lifecycle hook ID does not exist.|'."\n" + .'|400|InvalidLifecycleHookName.NotExist|The specified lifecycleHookName you provided does not exist.|The specified lifecycle hook name does not exist.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteLifecycleHook', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteLifecycleHook'], + ], ], + ], + 'DeleteNotificationConfiguration' => [ + 'summary' => 'Deletes an auto scaling event and resource change notification.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92712', - 'abilityTreeNodes' => [ - 'FEATUREessPV8ZVU', - ], + 'operationType' => 'delete', + 'abilityTreeCode' => '92665', + 'abilityTreeNodes' => ['FEATUREessJ2FJEV'], ], 'parameters' => [ [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], + ], + [ + 'name' => 'NotificationArn', + 'in' => 'query', + 'schema' => ['description' => 'The identity of the Notification Recipient. The parameter format varies by notification method:'."\n" + ."\n" + .'- monitoring: `acs:ess:{region-id}:{account-id}:cloudmonitor`.'."\n" + .'- MNS queue: `acs:mns:{region-id}:{account-id}:queue/{queuename}`.'."\n" + .'- MNS topic: `acs:mns:{region-id}:{account-id}:topic/{topicname}`.'."\n" + ."\n" + .'The variables in the parameter format have the following meanings:'."\n" + ."\n" + .'- region-id: the region ID of the scaling group.'."\n" + .'- account-id: the Alibaba Cloud account ID.'."\n" + .'- queuename: the name of the MNS queue.'."\n" + .'- topicname: the name of the MNS topic.', 'type' => 'string', 'required' => true, 'example' => 'acs:ess:cn-beijing:161456884340****:cloudmonitor', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], ], ], 'responses' => [ @@ -15037,76 +5929,62 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'example' => 'asa-kjgffgdfadah****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingActivityId\\": \\"asa-kjgffgdfadah****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n asa-kjgffgdfadah****\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'RebalanceInstances', - 'description' => '## Description'."\n" - ."\n" - .'To rebalance ECS instances in a multiple-zone scaling group, Auto Scaling creates ECS instances to replace the existing instances. Auto Scaling starts the created instances before it terminates the existing instances. This ensures that the performance and availability of your applications are not affected.'."\n" - ."\n" - .'* You can call this operation only if you set the MultiAZPolicy parameter of the multi-zone scaling group to BALANCE.'."\n" - .'* You can rebalance ECS instances in a scaling group only when the distribution of ECS instances in the scaling group is significantly imbalanced.'."\n" - .'* You can replace up to 20 ECS instances during a rebalancing activity.'."\n" - .'* If the number of ECS instances in the scaling group approaches or reaches the maximum number of instances that is specified by the MaxSize parameter during a rebalancing activity and the rebalancing activity must continue, Auto Scaling allows the number of ECS instances in the scaling group to temporarily exceed the maximum number. The excess number of instances ranges from one to 10% of the value of the MaxSize parameter. In most cases, Auto Scaling requires one to six minutes to rebalance the instances in the scaling group when the number of instances in the scaling group exceeds the maximum number.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Delete an auto scaling event and resource change notification', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'DescribeRegions' => [ - 'summary' => 'Queries regions. Before you activate Auto Scaling, you can call the DescribeRegions operation to query the regions where Auto Scaling is officially launched.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|NotificationConfigurationNotExist|The specified notification configuration not exist for the scaling group.|The specified auto scaling event and resource change notification does not exist for the scaling group.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteNotificationConfiguration'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteNotificationConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'DeleteScalingConfiguration' => [ + 'summary' => 'Deletes a scaling configuration.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92679', - 'abilityTreeNodes' => [ - 'FEATUREessZ1KWHS', - ], - 'tenantRelevance' => 'publicInformation', + 'operationType' => 'delete', + 'abilityTreeCode' => '92666', + 'abilityTreeNodes' => ['FEATUREessTZHE2G'], ], 'parameters' => [ [ - 'name' => 'AcceptLanguage', + 'name' => 'ScalingConfigurationId', 'in' => 'query', - 'schema' => [ - 'description' => 'The language that is used as a filter condition to filter returned results. For more information, see [RFC 7231](https://tools.ietf.org/html/rfc7231). Valid values:'."\n" - ."\n" - .'* zh-CN: Chinese'."\n" - .'* en-US: English'."\n" - .'* ja: Japanese'."\n" - ."\n" - .'Default value: zh-CN.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'zh-CN', - ], + 'schema' => ['description' => 'The ID of the scaling configuration that you want to delete.', 'type' => 'string', 'required' => true, 'example' => 'asc-bp1bx8mzur534edp****', 'title' => ''], ], ], 'responses' => [ @@ -15114,176 +5992,89 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'Details of the regions.', - 'type' => 'string', - 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'Regions' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Region' => [ - 'description' => 'Details about the regions.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ClassicUnavailable' => [ - 'description' => 'Indicates whether the region supports scaling groups of the classic network type. Valid values:'."\n" - ."\n" - .'* true: The region does not support scaling groups of the classic network type.'."\n" - .'* false: The region supports scaling groups of the classic network type.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'RegionEndpoint' => [ - 'description' => 'The endpoint of the region.'."\n", - 'type' => 'string', - 'example' => 'ess.aliyuncs.com', - ], - 'LocalName' => [ - 'description' => 'The name of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'VpcUnavailable' => [ - 'description' => 'Indicates whether the region supports scaling groups of the VPC type. Valid values:'."\n" - ."\n" - .'* true: The region does not support scaling groups of the VPC type.'."\n" - .'* false: The region supports scaling groups of the VPC type.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'RegionId' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID. The request ID is returned regardless of whether the call is successful.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"Regions\\": {\\n \\"Region\\": [\\n {\\n \\"ClassicUnavailable\\": false,\\n \\"RegionEndpoint\\": \\"ess.aliyuncs.com\\",\\n \\"LocalName\\": \\"华北2 (北京)\\",\\n \\"VpcUnavailable\\": false,\\n \\"RegionId\\": \\"cn-beijing\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n \\n false\\n ess.aliyuncs.com\\n 华北2 (北京)\\n false\\n cn-beijing\\n \\n","errorExample":""}]', - 'title' => 'DescribeRegions', - 'description' => '## Debugging'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Delete a scaling configuration', + 'description' => '## Operation description'."\n" + ."\n" + .'You cannot delete a scaling configuration in the following scenarios:'."\n" ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DescribeRegions\\&type=RPC\\&version=2014-08-28)'."\n", + .'- The scaling configuration is in the Active state in the scaling group.'."\n" + .'- ECS instances that were created from the scaling configuration still exist in the scaling group.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'ListTagResources' => [ - 'summary' => '查询弹性伸缩资源已经绑定的标签列表', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingConfigurationId.NotFound|The specified scaling configuration does not exist.|The specified scaling configuration does not exist in the current account.|'."\n" + .'|400|IncorrectScalingConfigurationLifecycleState|The current lifecycle state of specified scaling configuration does not support this action.|The specified scaling configuration is not in the Inactive state.|'."\n" + .'|400|InstanceInUse|You cannot delete a scaling configuration or scaling group while there is an instance associated with it.|ECS instances associated with the specified scaling configuration have not been deleted.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteScalingConfiguration'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'DeleteScalingGroup' => [ + 'summary' => 'Deletes a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '92701', - 'abilityTreeNodes' => [ - 'FEATUREess7569XW', - ], + 'operationType' => 'delete', + 'abilityTreeCode' => '92667', + 'abilityTreeNodes' => ['FEATUREess909XOL'], ], '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 type of the resource. Only scaling groups are supported. Set the value to scalinggroup.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'scalinggroup', - ], - ], - [ - 'name' => 'NextToken', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The token that is used for the next query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'ResourceId', + 'name' => 'ForceDelete', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The ID of resource N. Valid values of N: 1 to 50.', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of resource N. Valid values of N: 1 to 50.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp17xb4x1vr29lgt****', - ], - 'required' => false, - 'example' => 'asg-bp17xb4x1vr29lgt****', - 'maxItems' => 51, - ], + 'schema' => ['description' => 'Specifies whether to force delete the scaling group and remove and release ECS instances or elastic container instances if the scaling group contains ECS instances or elastic container instances, or if a scaling activity is in progress. Valid values:'."\n" + ."\n" + .'- true: Force deletes the scaling group. The scaling group is first stopped and new scaling activity requests are rejected. After existing scaling activities are complete, all ECS instances and elastic container instances in the scaling group are removed from the scaling group. Manually added ECS instances and elastic container instances are removed, and ECS instances and elastic container instances that are automatically created by Auto Scaling are deleted. Then, the scaling group is deleted.'."\n" + ."\n" + .'- false: Does not force delete the scaling group. The scaling group is stopped and then deleted if the following conditions are met:'."\n" + ."\n" + .' - No scaling activity is being executed in the scaling group.'."\n" + ."\n" + .' - The current number of ECS instances or elastic container instances (Total Capacity) in the scaling group is 0.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'Tag', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Details of the tags.', - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the tags.', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N. The key is used to perform an exact match of Auto Scaling resources. The key must be 1 to 128 characters in length. Valid values of N: 1 to 20.'."\n" - ."\n" - .'`Tag.N` is used to perform an exact match of Auto Scaling resources to which the specified tags are added. Tag.N consists of one key-value pair.'."\n" - ."\n" - .'* If you specify only `Tag.N.Key`, all resources whose tags contain the specified tag key are returned.'."\n" - .'* If you specify only `Tag.N.Value`, the `MissingParameter.TagKey` error is returned.'."\n" - .'* If you specify multiple key-value pairs at the same time, only Auto Scaling resources that match all the tag keys and tag values are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => 'The value of tag N. The value is used to perform an exact match of Auto Scaling resources. The tag value can be an empty string, and it can be up to 128 characters in length. Valid values of N: 1 to 20.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], ], ], 'responses' => [ @@ -15291,143 +6082,148 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'description' => 'The token that is returned for the next query.'."\n", - 'type' => 'string', - 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'DE65F6B7-7566-4802-9007-96F2494A****', - ], - 'TagResources' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'TagResource' => [ - 'description' => 'The details of resources and tags, including resource IDs, resource types, and tag key-value pairs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'TagValue' => [ - 'description' => 'The value of the tag.'."\n", - 'type' => 'string', - 'example' => 'TestValue', - ], - 'ResourceType' => [ - 'description' => 'The type of the resource.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ESS::SCALINGGROUP', - ], - 'ResourceId' => [ - 'description' => 'The ID of the resource.'."\n", - 'type' => 'string', - 'example' => 'asg-bp17xb4x1vr29lgt****', - ], - 'TagKey' => [ - 'description' => 'The key of the tag.'."\n", - 'type' => 'string', - 'example' => 'TestKey', - ], - 'Propagate' => [ - 'description' => 'Indicates whether the tag can be propagated.'."\n" - ."\n" - .'* true: The tag can be propagated only to instances that are to be added to the scaling group. The tag cannot be propagated to instances that are already running in the scaling group.'."\n" - .'* false: The tag cannot be propagated to an instance.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"DE65F6B7-7566-4802-9007-96F2494A****\\",\\n \\"TagResources\\": {\\n \\"TagResource\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"ResourceType\\": \\"ALIYUN::ESS::SCALINGGROUP\\",\\n \\"ResourceId\\": \\"asg-bp17xb4x1vr29lgt****\\",\\n \\"TagKey\\": \\"TestKey\\",\\n \\"Propagate\\": false\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n caeba0bbb2be03f84eb48b699f0a4883\\n DE65F6B7-7566-4802-9007-96F2494A****\\n \\n TestValue\\n ALIYUN::ESS::SCALINGGROUP\\n asg-bp17xb4x1vr29lgt****\\n TestKey\\n false\\n \\n","errorExample":""}]', - 'title' => 'ListTagResources', - 'description' => '## Description'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Delete a scaling group', + 'description' => '## Operation description'."\n" ."\n" - .'* Specify `ResourceId.N` or `Tag.N` that consists of `Tag.N.Key` and `Tag.N.Value` in the request to specify the objects that you want to query.'."\n" - .'* If you specify `Tag.N` and `ResourceId.N` at the same time, the Auto Scaling resources that match both the parameters are returned.'."\n", + .'Take note of the following items when you delete a scaling group:'."\n" + ."\n" + .'- Deleting a scaling group also deletes the associated scaling configurations, scaling rules, scaling activities, and scaling requests.'."\n" + ."\n" + .'- Deleting a scaling group does not delete scheduled nodes, CloudMonitor event-triggered tasks, load balancing instances, or ApsaraDB RDS instances.'."\n" + ."\n" + .'- If you enabled the `Enable Scaling Group Protection` feature when you created the scaling group, you cannot delete the scaling group in the console or by calling an API operation. This effectively prevents accidental deletion of the scaling group.'."\n" + ."\n" + .'- If you enabled the `Instance Release Protection` feature when you created ECS instances and then added the instances to a scaling group for management, manually added ECS instances are forcibly removed from the scaling group and automatically created ECS instances are automatically released together with the scaling group when you delete the scaling group.'."\n" + ."\n" + .' >Before you delete a scaling group, to prevent ECS instances in the scaling group from being forcibly released, you must enable the protection feature for ECS instances in the scaling group even if you have separately enabled instance release protection for the ECS instances. This ensures that the instances are not forcibly released when the scaling group is deleted. For more information, see [SetInstancesProtection](~~459342~~).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ListTagKeys' => [ - 'summary' => '查询弹性伸缩资源标签键的列表', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in the current account.|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You have not fully authorized Auto Scaling to call API operations.|'."\n" + .'|400|InstanceInUse|You cannot delete a scaling configuration or scaling group while there is an instance associated with it.|The specified scaling group contains ECS instances or elastic container instances.|.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteScalingGroup'], + ], ], + ], + 'DeleteScalingRule' => [ + 'summary' => 'Deletes a scaling rule.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92700', - 'abilityTreeNodes' => [ - 'FEATUREess7569XW', - ], - 'tenantRelevance' => 'publicInformation', + 'operationType' => 'delete', + 'abilityTreeCode' => '92668', + 'abilityTreeNodes' => ['FEATUREessRTZKQT'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ScalingRuleId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the Auto Scaling resource.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the scaling rule to be deleted.', 'type' => 'string', 'required' => true, 'example' => 'asr-bp163l21e07uhnyt****', 'title' => ''], ], [ - 'name' => 'ResourceType', + 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The type of the Auto Scaling resource. Set the value to scalinggroup, which indicates that the tag is bound to a scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'scalinggroup', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Delete a scaling rule', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingRuleId.NotFound|The specified scaling rule does not exist.|The specified scaling rule does not exist in the current account.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteScalingRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteScalingRule'], + ], + ], + ], + 'DeleteScheduledTask' => [ + 'summary' => 'Deletes a scheduled task.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'NextToken', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '92669', + 'abilityTreeNodes' => ['FEATUREess30IPAO'], + ], + 'parameters' => [ + [ + 'name' => 'ScheduledTaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The token that is used to start the next query. If the NextToken parameter is empty, no subsequent requests are sent.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], + 'schema' => ['description' => 'The ID of the scheduled task. The ID is generated by the system and is globally unique.', 'type' => 'string', 'required' => true, 'example' => 'edRtShc57WGXdt8TlPbr****', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n" - ."\n" - .'Default value: 10'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The region ID of the scheduled task.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], ], ], 'responses' => [ @@ -15435,59 +6231,45 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'description' => 'The token that is used to start the next query. If the NextToken parameter is empty, no subsequent requests are sent.'."\n", - 'type' => 'string', - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'DC09A6AA-2713-4E10-A2E9-E6C5C43A8842', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'Keys' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Key' => [ - 'description' => 'The information of the tag keys.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information of the tag keys.', - 'type' => 'string', - 'example' => 'ESS', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"DC09A6AA-2713-4E10-A2E9-E6C5C43A****\\",\\n \\"PageSize\\": 10,\\n \\"Keys\\": {\\n \\"Key\\": [\\n \\"ESS\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n caeba0bbb2be03f84eb48b699f0a****\\n DC09A6AA-2713-4E10-A2E9-E6C5C43A8842\\n 10\\n ESS\\n","errorExample":""}]', - 'title' => 'ListTagKeys', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=ListTagKeys\\&type=RPC\\&version=2014-08-28)'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Delete a scheduled task', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'ListTagValues' => [ - 'summary' => '查询弹性伸缩资源标签键对应的标签值', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScheduledTaskId.NotFound|The specified scheduled task does not exist.|The specified scheduled task does not exist in the current account.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteScheduledTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteScheduledTask'], + ], ], + ], + 'DescribeAlarms' => [ + 'summary' => 'Queries information about event-triggered tasks.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -15496,223 +6278,427 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92702', - 'abilityTreeNodes' => [ - 'FEATUREess7569XW', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '92670', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the Auto Scaling resource.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region where the event-triggered task resides.', 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'ResourceType', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the Auto Scaling resource. Set the value to scalinggroup, which indicates that the tag is bound to a scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'scalinggroup', - ], + 'schema' => ['description' => 'The ID of the scaling group associated with the event-triggered task.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'AlarmTaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The token that is used to start the next query. If the NextToken parameter is empty, no subsequent requests are sent.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], + 'schema' => ['description' => 'The ID of the event-triggered task.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', 'title' => ''], + ], + [ + 'name' => 'State', + 'in' => 'query', + 'schema' => ['description' => 'The state of the event-triggered task. Valid values:'."\n" + ."\n" + .'- ALARM: The alert condition is met.'."\n" + .'- OK: The alert condition is not met.'."\n" + .'- INSUFFICIENT_DATA: Insufficient data to determine whether the alert condition is met.', 'type' => 'string', 'required' => false, 'example' => 'OK', 'title' => ''], + ], + [ + 'name' => 'IsEnable', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the event-triggered task is enabled. Valid values:'."\n" + ."\n" + .'- true: enabled.'."\n" + .'- false: disabled.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'MetricType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the monitoring metric. Valid values:'."\n" + ."\n" + .'- system: uses CloudMonitor system metrics.'."\n" + .'- custom: uses custom metrics reported to CloudMonitor.', 'type' => 'string', 'required' => false, 'default' => 'system', 'example' => 'system', 'title' => ''], + ], + [ + 'name' => 'MetricName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the monitoring metric.', 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Valid values: 1 to 50.'."\n" - ."\n" - .'Default value: 10'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The number of entries per page for paging queries. Settings the number of rows per page. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'default' => '10', 'example' => '10', 'title' => ''], ], [ - 'name' => 'Key', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The key of the tag.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ESS', - ], + 'schema' => ['description' => 'The page number of the event-triggered task list. Minimum value: 1.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The information about event-triggered tasks.', 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'description' => 'The token that is used to start the next query. If the NextToken parameter is empty, no subsequent requests are sent.'."\n", - 'type' => 'string', - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'AB444F46-1CFF-4B06-B8F0-B45D3158F95B', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'Values' => [ + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '871C7C53-34A4-45AA-8C14-4B72FA6A****', 'title' => ''], + 'PageNumber' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of event-triggered tasks.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'AlarmList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Value' => [ - 'description' => 'The information of the tag values.'."\n", + 'Alarm' => [ + 'description' => 'The list of event-triggered tasks.', 'type' => 'array', 'items' => [ - 'description' => 'The information of the tag values.', - 'type' => 'string', - 'example' => 'Doc', + 'description' => 'The list of event-triggered tasks.', + 'type' => 'object', + 'properties' => [ + 'AlarmTaskId' => ['description' => 'The ID of the event-triggered task.', 'type' => 'string', 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', 'title' => ''], + 'MetricName' => ['description' => 'The name of the monitoring metric. Valid values:'."\n" + ."\n" + .'- CpuUtilization: (ECS) CPU utilization (%).'."\n" + .'- ConcurrentConnections: (ECS) number of concurrent connections to an ECS instance.'."\n" + .'- IntranetTx: (ECS) outbound traffic over the internal network (KB/min).'."\n" + .'- IntranetRx: (ECS) inbound traffic over the internal network (KB/min).'."\n" + .'- VpcInternetTx: (ECS) outbound traffic over the Internet (KB/min).'."\n" + .'- VpcInternetRx: (ECS) inbound traffic over the Internet (KB/min).'."\n" + .'- SystemDiskReadBps: (ECS) system cloud disk read BPS (bytes/s).'."\n" + .'- SystemDiskWriteBps: (ECS) system cloud disk write BPS (bytes/s).'."\n" + .'- SystemDiskReadOps: (ECS) system cloud disk read IOPS (operations/s).'."\n" + .'- SystemDiskWriteOps: (ECS) system cloud disk write IOPS (operations/s).'."\n" + .'- CpuUtilizationAgent: (Agent) CPU utilization (%).'."\n" + .'- GpuUtilizationAgent: (Agent) GPU utilization (%).'."\n" + .'- GpuMemoryFreeUtilizationAgent: (Agent) idle GPU memory (%).'."\n" + .'- GpuMemoryUtilizationAgent: (Agent) GPU memory usage (%).'."\n" + .'- MemoryUtilization: (Agent) memory usage (%).'."\n" + .'- LoadAverage: (Agent) average system load.'."\n" + .'- TcpConnection: (Agent) total number of TCP connections.'."\n" + .'- TcpConnection: (Agent) number of established TCP connections.'."\n" + .'- PackagesNetOut: (Agent) number of packets sent by the internal NIC (packets/s).'."\n" + .'- PackagesNetIn: (Agent) number of packets received by the internal NIC (packets/s).'."\n" + .'- PackagesNetOut: (Agent) number of packets sent by the public NIC (packets/s).'."\n" + .'- PackagesNetIn: (Agent) number of packets received by the public NIC (packets/s).'."\n" + .'- EciPodCpuUtilization: CPU utilization (%).'."\n" + .'- EciPodMemoryUtilization: memory usage (%).'."\n" + .'- LoadBalancerRealServerAverageQps: (ALB) average QPS per server in a server group (queries/s).'."\n" + ."\n" + .'For more information, see [System monitoring event-triggered tasks](~~74854~~).', 'type' => 'string', 'example' => 'CpuUtilization', 'title' => ''], + 'EvaluationCount' => ['description' => 'The number of consecutive times that the threshold expression must be met before the scaling rule is triggered. For example, the average CPU utilization must be greater than or equal to 80% for three consecutive statistical periods.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'State' => ['description' => 'The state of the event-triggered task. Valid values:'."\n" + ."\n" + .'- ALARM: The alert condition is met.'."\n" + .'- OK: The alert condition is not met.'."\n" + .'- INSUFFICIENT_DATA: Insufficient data to determine whether the alert condition is met.', 'type' => 'string', 'example' => 'ALARM', 'title' => ''], + 'Period' => ['description' => 'The statistical period for the monitoring metric data, in seconds. Valid values:'."\n" + ."\n" + .'- 15.'."\n" + .'- 60.'."\n" + .'- 120.'."\n" + .'- 300.'."\n" + .'- 900.'."\n" + ."\n" + .'> Only ECS-type scaling groups support a 15-second statistical period.', 'type' => 'integer', 'format' => 'int32', 'example' => '300', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group associated with the event-triggered task.', 'type' => 'string', 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], + 'ComparisonOperator' => ['description' => 'The comparison operator between the statistical value and the threshold of the monitoring metric. This operator specifies the condition under which the alert is triggered. Valid values:'."\n" + ."\n" + .'- The statistical value is greater than or equal to the threshold. Value: >=.'."\n" + ."\n" + .'- The statistical value is less than or equal to the threshold. Value: <=.'."\n" + ."\n" + .'- The statistical value is greater than the threshold. Value: >.'."\n" + ."\n" + .'- The statistical value is less than the threshold. Value: <.', 'type' => 'string', 'example' => '>=', 'title' => ''], + 'Effective' => ['description' => 'The effective period of the event-triggered task.', 'type' => 'string', 'example' => '* * * * * ?', 'title' => ''], + 'Description' => ['description' => 'The description of the event-triggered task.', 'type' => 'string', 'example' => 'Test alarm task.', 'title' => ''], + 'MetricType' => ['description' => 'The type of the monitoring metric. Valid values:'."\n" + .'- system: uses CloudMonitor system metrics.'."\n" + .'- custom: uses custom metrics reported to CloudMonitor.', 'type' => 'string', 'example' => 'system', 'title' => ''], + 'Name' => ['description' => 'The name of the event-triggered task.', 'type' => 'string', 'example' => 'TestAlarmTask', 'title' => ''], + 'Threshold' => ['description' => 'The threshold of the monitoring metrics. The scaling rule is triggered when the threshold expression is met for the specified number of times.', 'type' => 'number', 'format' => 'float', 'example' => '80.0', 'title' => ''], + 'Enable' => ['description' => 'Indicates whether the event-triggered task is enabled. Valid values:'."\n" + ."\n" + .'- true: enabled.'."\n" + .'- false: disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Statistics' => ['description' => 'The method used to aggregate the monitoring metric data. Valid values:'."\n" + ."\n" + .'- Average: average value.'."\n" + .'- Minimum: minimum value.'."\n" + .'- Maximum: maximum value.', 'type' => 'string', 'example' => 'Average', 'title' => ''], + 'Dimensions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Dimension' => [ + 'description' => 'The dimension information associated with the monitoring metric.', + 'type' => 'array', + 'items' => [ + 'description' => 'The dimension information associated with the monitoring metric.', + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => ['description' => 'The key of the dimension information associated with the monitoring metric. Valid values:'."\n" + ."\n" + .'- user_id: the ID of your account.'."\n" + .'- scaling_group: the scaling group being monitored.'."\n" + .'- device: the type of the NIC device.'."\n" + .'- state: the state of the TCP connection.', 'type' => 'string', 'example' => 'device', 'title' => ''], + 'DimensionValue' => ['description' => 'The value of the dimension information associated with the monitoring metric. The valid values depend on the dimension key.'."\n" + ."\n" + .'- `user_id`: automatically populated by the system.'."\n" + ."\n" + .'- `scaling_group`: automatically populated by the system.'."\n" + ."\n" + .'- Valid values of `device`:'."\n" + .' - eth0: For classic VPC-connected instances, eth0 represents the internal NIC. For VPC instances, only the eth0 NIC exists.'."\n" + .' - eth1: For classic VPC-connected instances, eth1 represents the public NIC.'."\n" + ."\n" + .'- Valid values of `state`:'."\n" + .' - TCP_TOTAL: the total number of TCP connections.'."\n" + .' - ESTABLISHED: the number of established TCP connections.', 'type' => 'string', 'example' => 'eth0', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'AlarmActions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AlarmAction' => [ + 'description' => 'The list of unique identifiers of the scaling rules associated with the event-triggered task.', + 'type' => 'array', + 'items' => ['description' => 'The list of unique identifiers of the scaling rules associated with the event-triggered task.', 'type' => 'string', 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp163l21e07uh****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Expressions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Expression' => [ + 'description' => 'The information about multi-metric alert rules.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about multi-metric alert rules.', + 'type' => 'object', + 'properties' => [ + 'MetricName' => ['description' => 'The name of the monitoring metric in the multi-metric alert rule. Valid values: '."\n" + ."\n" + .'- CpuUtilization: (ECS) CPU utilization (%).'."\n" + .'- ConcurrentConnections: (ECS) number of concurrent connections to an ECS instance.'."\n" + .'- IntranetTx: (ECS) outbound traffic over the internal network (KB/min).'."\n" + .'- IntranetRx: (ECS) inbound traffic over the internal network (KB/min).'."\n" + .'- VpcInternetTx: (ECS) outbound traffic over the Internet (KB/min).'."\n" + .'- VpcInternetRx: (ECS) inbound traffic over the Internet (KB/min).'."\n" + .'- SystemDiskReadBps: (ECS) system cloud disk read BPS (bytes/s).'."\n" + .'- SystemDiskWriteBps: (ECS) system cloud disk write BPS (bytes/s).'."\n" + .'- SystemDiskReadOps: (ECS) system cloud disk read IOPS (operations/s).'."\n" + .'- SystemDiskWriteOps: (ECS) system cloud disk write IOPS (operations/s).'."\n" + .'- CpuUtilizationAgent: (Agent) CPU utilization (%).'."\n" + .'- GpuUtilizationAgent: (Agent) GPU utilization (%).'."\n" + .'- GpuMemoryFreeUtilizationAgent: (Agent) idle GPU memory (%).'."\n" + .'- GpuMemoryUtilizationAgent: (Agent) GPU memory usage (%).'."\n" + .'- MemoryUtilization: (Agent) memory usage (%).'."\n" + .'- LoadAverage: (Agent) average system load.'."\n" + .'- TcpConnection: (Agent) total number of TCP connections.'."\n" + .'- TcpConnection: (Agent) number of established TCP connections.'."\n" + .'- PackagesNetOut: (Agent) number of packets sent by the internal NIC (packets/s).'."\n" + .'- PackagesNetIn: (Agent) number of packets received by the internal NIC (packets/s).'."\n" + .'- PackagesNetOut: (Agent) number of packets sent by the public NIC (packets/s).'."\n" + .'- PackagesNetIn: (Agent) number of packets received by the public NIC (packets/s).'."\n" + .'- EciPodCpuUtilization: CPU utilization (%).'."\n" + .'- EciPodMemoryUtilization: memory usage (%).'."\n" + .'- LoadBalancerRealServerAverageQps: (ALB) average QPS per server in a server group (queries/s).'."\n" + ."\n" + .'For more information, see [System monitoring event-triggered nodes](~~74854~~).', 'type' => 'string', 'example' => 'CpuUtilization', 'title' => ''], + 'ComparisonOperator' => ['description' => 'The comparison operator between the statistical value and the threshold of the monitoring metric in the multi-metric alert rule. This operator specifies the condition under which the alert is triggered. Valid values:'."\n" + ."\n" + .'- The statistical value is greater than or equal to the threshold. Value: >=.'."\n" + .'- The statistical value is less than or equal to the threshold. Value: <=.'."\n" + .'- The statistical value is greater than the threshold. Value: >.'."\n" + .'- The statistical value is less than the threshold. Value: <.'."\n" + ."\n" + .'Default value: >=.', 'type' => 'string', 'example' => '>=', 'title' => ''], + 'Period' => ['description' => 'The statistical period for the monitoring metric data in the multi-metric alert rule, in seconds. Valid values:'."\n" + ."\n" + .'- 15.'."\n" + .'- 60.'."\n" + .'- 120.'."\n" + .'- 300.'."\n" + .'- 900.'."\n" + ."\n" + .'> Only ECS-type scaling groups support a 15-second statistical period.', 'type' => 'integer', 'format' => 'int32', 'example' => '900', 'title' => ''], + 'Statistics' => ['description' => 'The method used to aggregate the monitoring metric data in the multi-metric alert rule. Valid values:'."\n" + .'- Average: average value.'."\n" + .'- Minimum: minimum value.'."\n" + .'- Maximum: maximum value.', 'type' => 'string', 'example' => 'Average', 'title' => ''], + 'Threshold' => ['description' => 'The threshold of the monitoring metrics in the multi-metric alert rule. The scaling rule is triggered when the threshold expression is met for the specified number of times.', 'type' => 'number', 'format' => 'float', 'example' => '40.0', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'ExpressionsLogicOperator' => ['description' => 'The logical operator between multi-metric alert conditions. Valid values:'."\n" + .'- `&&`: An alert is triggered only when all monitoring metrics meet the alert conditions. All expressions in the multi-metric alert rule must evaluate to `true` before an alert is triggered.'."\n" + .'- `||`: An alert is triggered when any one of the monitoring metrics meets the alert condition.', 'type' => 'string', 'example' => '&&', 'title' => ''], + 'HybridMonitorNamespace' => ['description' => 'The ID of the Hybrid Cloud Monitoring monitoring metrics repository.'."\n" + ."\n" + .'To manage metric repositories, see [Manage metric repositories](~~217606~~).', 'type' => 'string', 'example' => 'aliyun-test', 'title' => ''], + 'HybridMetrics' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'HybridMetric' => [ + 'description' => 'The Hybrid Cloud Monitoring monitoring metrics settings. For more information, see [Use formula-based custom target tracking rules](~~2852162~~).', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => 'The reference ID of the metric in the formula expression.', 'type' => 'string', 'example' => 'a', 'title' => ''], + 'Expression' => ['description' => 'The formula expression for multiple Hybrid Cloud Monitoring metrics. The calculation result of the expression is used to trigger scaling activities.'."\n" + ."\n" + .'The expression must comply with the Reverse Polish Notation (RPN) specification and supports only the `+ - * /` operators.', 'type' => 'string', 'example' => '(a+b)/2', 'title' => ''], + 'MetricName' => ['description' => 'The name of the monitoring metrics in the Hybrid Cloud Monitoring metric repository.', 'type' => 'string', 'example' => 'AliyunSmq_NumberOfMessagesVisible', 'title' => ''], + 'Statistic' => ['description' => 'The aggregation method for the metric. Valid values:'."\n" + .'- Average: the average of all data points within the specified interval.'."\n" + .'- Minimum: the minimum of all data points within the specified interval.'."\n" + .'- Maximum: the maximum of all data points within the specified interval.', 'type' => 'string', 'example' => 'Average', 'title' => ''], + 'Dimensions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Dimension' => [ + 'description' => 'The metric dimension. Specifies the resource to be monitored by the metric.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => ['description' => 'The key of the metric dimension.', 'type' => 'string', 'example' => 'queue', 'title' => ''], + 'DimensionValue' => ['description' => 'The value of the metric dimension.', 'type' => 'string', 'example' => 'testQueue', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'PromQL' => ['description' => 'The PromQL query statement for Hybrid Cloud Monitoring.', 'type' => 'string', 'example' => '(avg(last_over_time(AliyunMnsnew_ActiveMessages{region=\'cn-hangzhou\',userId=\'123456****\',queue=\'testQueue\'}[900s])) by (userId))/(avg(last_over_time(AliyunEss_RunningInstanceCount{instanceId=\'asg-bp1****\'}[900s])) by (userId) != 0)', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"AB444F46-1CFF-4B06-B8F0-B45D3158****\\",\\n \\"PageSize\\": 10,\\n \\"Values\\": {\\n \\"Value\\": [\\n \\"Doc\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n caeba0bbb2be03f84eb48b699f0a****\\n AB444F46-1CFF-4B06-B8F0-B45D3158****\\n 10\\n Doc\\n","errorExample":""}]', - 'title' => 'ListTagValues', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=ListTagValues\\&type=RPC\\&version=2014-08-28)'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"871C7C53-34A4-45AA-8C14-4B72FA6A****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"AlarmList\\": {\\n \\"Alarm\\": [\\n {\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\",\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"EvaluationCount\\": 3,\\n \\"State\\": \\"ALARM\\",\\n \\"Period\\": 300,\\n \\"ScalingGroupId\\": \\"asg-bp18p2yfxow2dloq****\\",\\n \\"ComparisonOperator\\": \\">=\\",\\n \\"Effective\\": \\"* * * * * ?\\",\\n \\"Description\\": \\"Test alarm task.\\",\\n \\"MetricType\\": \\"system\\",\\n \\"Name\\": \\"TestAlarmTask\\",\\n \\"Threshold\\": 80,\\n \\"Enable\\": true,\\n \\"Statistics\\": \\"Average\\",\\n \\"Dimensions\\": {\\n \\"Dimension\\": [\\n {\\n \\"DimensionKey\\": \\"device\\",\\n \\"DimensionValue\\": \\"eth0\\"\\n }\\n ]\\n },\\n \\"AlarmActions\\": {\\n \\"AlarmAction\\": [\\n \\"ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp163l21e07uh****\\"\\n ]\\n },\\n \\"Expressions\\": {\\n \\"Expression\\": [\\n {\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"ComparisonOperator\\": \\">=\\",\\n \\"Period\\": 900,\\n \\"Statistics\\": \\"Average\\",\\n \\"Threshold\\": 40\\n }\\n ]\\n },\\n \\"ExpressionsLogicOperator\\": \\"&&\\",\\n \\"HybridMonitorNamespace\\": \\"aliyun-test\\",\\n \\"HybridMetrics\\": {\\n \\"HybridMetric\\": [\\n {\\n \\"Id\\": \\"a\\",\\n \\"Expression\\": \\"(a+b)/2\\",\\n \\"MetricName\\": \\"AliyunSmq_NumberOfMessagesVisible\\",\\n \\"Statistic\\": \\"Average\\",\\n \\"Dimensions\\": {\\n \\"Dimension\\": [\\n {\\n \\"DimensionKey\\": \\"queue\\",\\n \\"DimensionValue\\": \\"testQueue\\"\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"PromQL\\": \\"(avg(last_over_time(AliyunMnsnew_ActiveMessages{region=\'cn-hangzhou\',userId=\'123456****\',queue=\'testQueue\'}[900s])) by (userId))/(avg(last_over_time(AliyunEss_RunningInstanceCount{instanceId=\'asg-bp1****\'}[900s])) by (userId) != 0)\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query event-triggered task information', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'TagResources' => [ - 'summary' => '为资源列表创建并绑定标签', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeAlarms', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAlarms'], + ], ], + ], + 'DescribeAlertConfiguration' => [ + 'summary' => 'When a scaling activity succeeds, fails, or is rejected, Auto Scaling can send notifications through SMS or email. You must handle the related events after receiving the notifications. You can call the DescribeAlertConfiguration operation to query the scaling activity statuses for which SMS and email notifications are sent in a scaling group. This helps you stay informed about changes to scaling activities and respond quickly to improve scaling efficiency.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92721', - 'abilityTreeNodes' => [ - 'FEATUREessXN6KX4', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '208803', + 'abilityTreeNodes' => ['FEATUREessFY8KDA'], ], '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 type of the resource. Only scaling groups are supported. Set the value to scalinggroup.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'scalinggroup', - ], - ], - [ - 'name' => 'ResourceId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The ID of resource N. Valid values of N: 1 to 50.', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of resource N. Valid values of N: 1 to 50.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-2zej7nf7hea77k5a****', - ], - 'required' => true, - 'example' => 'asg-bp17xb4x1vr29lgt****', - 'maxItems' => 51, - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'Tag', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Details of the tags.', - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the tags.', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N. Valid values of N: 1 to 20.'."\n" - ."\n" - .'The tag key cannot be an empty string. The tag key can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag key cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => 'The value of tag N. Valid values of N: 1 to 20.'."\n" - ."\n" - .'The tag value can be an empty string. The tag value can be up to 128 characters in length and cannot start with `acs:`. The tag value cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - 'Propagate' => [ - 'description' => 'Specifies whether tag N can be propagated. Valid values:'."\n" - ."\n" - .'* true: Tag N can be propagated only to instances that are pending to be added to the scaling group.'."\n" - .'* false: Tag N cannot be propagated to an instance.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], - ], - 'required' => false, - ], - 'required' => true, - 'maxItems' => 21, - ], + 'schema' => ['description' => 'The ID of the region where the scaling group resides.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ @@ -15720,3491 +6706,4683 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '74C4E313-8570-479F-8791-DC25360D****', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'ScaleStatuses' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ScaleStatus' => [ + 'description' => 'The scaling activity statuses for which SMS, internal message, and email notifications are sent in the scaling group.', + 'type' => 'array', + 'items' => ['description' => 'The scaling activity statuses for which SMS, internal message, and email notifications are sent in the scaling group. Valid values:'."\n" + ."\n" + .'- ScaleSuccessful: SMS and email notifications were sent when the scaling activity succeeded.'."\n" + .'- ScaleRejected: SMS and email notifications were sent when the scaling activity was rejected.'."\n" + .'- ScaleFailed: SMS and email notifications were sent when the scaling activity failed.', 'type' => 'string', 'example' => 'ScaleSuccessful', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"74C4E313-8570-479F-8791-DC25360D****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 74C4E313-8570-479F-8791-DC25360D****\\n","errorExample":""}]', - 'title' => 'TagResources', - 'description' => '## Description'."\n" - ."\n" - .'* You can add up to 20 tags to a scaling group.'."\n" - ."\n" - .'* Before you add tags to a scaling group, Auto Scaling automatically checks the number of existing tags of the scaling group. If the maximum number is exceeded, an error message is returned when you call the operation.'."\n" - ."\n" - .'* If you set the `Propagate` parameter to `true`, the tags that you add to a scaling group are propagated only to instances that are pending to be added to the scaling group. The tags are not propagated to instances that are already running in the scaling group.'."\n" - ."\n" - .'* If you add tags to a scaling group and set the Propagate parameter to true, the following rules apply:'."\n" - ."\n" - .' * The tags of instances that are pending to be added to the scaling group include the following tags: tags that are specified in the scaling configuration based on which the instances are created and tags that are added to the scaling group and propagated to the instances.'."\n" - .' * If the tags that are specified in the scaling configuration and the tags that are added to the scaling group and propagated to the instances have the same tag keys, the tags that are added to the scaling group and propagated to the instances are overwritten by the tags that are specified in the scaling configuration.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'UntagResources' => [ - 'summary' => '为指定的弹性伸缩资源列表统一解绑标签', - 'methods' => [ - 'post', - 'get', + 'title' => 'DescribeAlertConfiguration', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeAlertConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScaleStatuses\\": {\\n \\"ScaleStatus\\": [\\n \\"ScaleSuccessful\\"\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeEciScalingConfigurations' => [ + 'summary' => 'Queries scaling configurations of the ECI type.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92722', - 'abilityTreeNodes' => [ - 'FEATUREessXN6KX4', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '92673', + 'abilityTreeNodes' => ['FEATUREessU7F1S4'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the resource. You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the scaling group to which the scaling configuration belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'ResourceType', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource. Only scaling groups are supported. Set the value to scalinggroup.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'scalinggroup', - ], + 'schema' => ['description' => 'The page number of the scaling configuration list. Minimum value: 1.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], [ - 'name' => 'All', + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page for a paged query. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'default' => '10', 'example' => '50', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group. You can query all scaling configurations in the specified scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp17pelvl720x3v7****', 'title' => ''], + ], + [ + 'name' => 'ScalingConfigurationId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to unbind all tags from the resource. This parameter takes effect only when the TagKey.N parameter is not specified. Valid values:'."\n" + 'description' => 'The IDs of the scaling configurations that you want to query. You can specify 1 to 10 IDs.'."\n" ."\n" - .'* true: All tags are unbound from the resource.'."\n" - .'* false: No tags are unbound.'."\n" + .'The query results include scaling configurations in both the Active and Inactive states, which are identified by the LifecycleState response parameter.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the scaling configuration that you want to query.'."\n" ."\n" - .'Default value: false'."\n", - 'type' => 'boolean', + .'The query results include scaling configurations in both the Active and Inactive states, which are identified by the LifecycleState response parameter.', 'type' => 'string', 'required' => false, 'example' => 'asc-bp17pelvl720x5ub****', 'title' => ''], 'required' => false, - 'example' => 'false', + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ResourceId', + 'name' => 'ScalingConfigurationName', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the Auto Scaling resources. You can specify 1 to 50 resource IDs.', + 'description' => 'The names of the scaling configurations that you want to query. You can specify 1 to 10 names.'."\n" + ."\n" + .'Invalid scaling configuration names are ignored in the query results, and no error is returned.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The keys of the tags that you want to remove from the Auto Scaling resource. You can specify 1 to 20 tag keys.', - 'example' => 'asg-bp17xb4x1vr29lgt****', + 'items' => ['description' => 'The name of the scaling configuration that you want to query.'."\n" + ."\n" + .'Invalid scaling configuration names are ignored in the query results, and no error is returned.', 'type' => 'string', 'required' => false, 'example' => 'scalingcon****', 'title' => ''], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'PageNumber' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of scaling configurations.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingConfigurations' => [ + 'description' => 'The collection of scaling configuration information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of scaling configuration information.', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => ['description' => 'The time when the scaling configuration was created.', 'type' => 'string', 'example' => '2014-08-14T10:58Z', 'title' => ''], + 'ScalingConfigurationName' => ['description' => 'The name of the scaling configuration.', 'type' => 'string', 'example' => 'scalingconfi****', 'title' => ''], + 'SecurityGroupId' => ['description' => 'The ID of the security group to which the ECI instance belongs. ECI instances within the same security group can access each other.', 'type' => 'string', 'example' => 'sg-bp18kz60mefs****', 'title' => ''], + 'ActiveDeadlineSeconds' => ['description' => 'The validity period. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '1000', 'title' => ''], + 'SpotStrategy' => ['description' => 'The bidding policy for the instance. Valid values:'."\n" + ."\n" + .'- NoSpot: a pay-as-you-go instance.'."\n" + .'- SpotWithPriceLimit: a spot instance with a maximum price limit.'."\n" + .'- SpotAsPriceGo: a spot instance for which the system automatically bids based on the current market price.', 'type' => 'string', 'example' => 'NoSpot', 'title' => ''], + 'AutoCreateEip' => ['description' => 'Indicates whether automatic creation of an elastic IP address (EIP) and attaching it to the ECI instance is enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group to which the scaling configuration belongs.', 'type' => 'string', 'example' => 'asg-bp17pelvl720x3v7****', 'title' => ''], + 'EphemeralStorage' => ['description' => 'The size of the ephemeral storage. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'Ipv6AddressCount' => ['description' => 'The number of IPv6 addresses.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'EipBandwidth' => ['description' => 'The bandwidth of the EIP. Default value: 5 Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'ImageSnapshotId' => ['description' => 'The image cache ID.', 'type' => 'string', 'example' => 'imc-2zebxkiifuyzzlhl****', 'title' => ''], + 'Memory' => ['description' => 'The memory size.'."\n" + ."\n" + .'If you specify both CPU and Memory, the instance type range is defined. For example, CPU=2 and Memory=16 defines all instance types with 2 vCPUs and 16 GiB of memory. Auto Scaling determines the set of available instance types based on factors such as I/O optimization and zones, and then creates instances of the lowest-priced instance type.'."\n" + ."\n" + .'> This configuration takes effect only when cost optimization mode is enabled and no instance type is specified in the scaling configuration.', 'type' => 'number', 'format' => 'float', 'example' => '16', 'title' => ''], + 'RestartPolicy' => ['description' => 'The restart policy for the container group. Valid values:'."\n" + ."\n" + .'- Never: never restarts.'."\n" + .'- Always: always restarts.'."\n" + .'- OnFailure: restarts upon failure.', 'type' => 'string', 'example' => 'Never', 'title' => ''], + 'SpotPriceLimit' => ['description' => 'The maximum hourly price for the spot instance.'."\n" + ."\n" + .'This parameter is returned only when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'number', 'format' => 'float', 'example' => '0.025', 'title' => ''], + 'IngressBandwidth' => ['description' => 'The inbound bandwidth limit. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '1024000', 'title' => ''], + 'CpuOptionsThreadsPerCore' => ['description' => 'The number of threads per core. Only specific instance types support custom settings. A value of 1 disables hyper-threading. For more information, see [Customize CPU options](~~197781~~).', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'TerminationGracePeriodSeconds' => ['description' => 'The buffer time for the program to handle operations before shutdown.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'LoadBalancerWeight' => ['description' => 'The weight of the ECI instance as a backend server. Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'DnsPolicy' => ['description' => 'The DNS policy.', 'type' => 'string', 'example' => 'Default', 'title' => ''], + 'HostName' => ['description' => 'The hostname.', 'type' => 'string', 'example' => '[\'hehe.com\', \'haha.com\']', 'title' => ''], + 'EgressBandwidth' => ['description' => 'The outbound bandwidth limit. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '1024000', 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the ECI instance.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'RamRoleName' => ['description' => 'The name of the instance RAM role. ECI and ECS share instance RAM roles. For more information, see [Use an instance RAM role by calling API operations](~~61178~~).', 'type' => 'string', 'example' => 'ram:PassRole', 'title' => ''], + 'Cpu' => ['description' => 'The instance-level vCPU size.', 'type' => 'number', 'format' => 'float', 'example' => '2.0', 'title' => ''], + 'AutoMatchImageCache' => ['description' => 'Indicates whether image caches are automatically matched. Valid values:'."\n" + .'- true: automatically matched.'."\n" + .'- false: not automatically matched.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-8db03793gfrz****', 'title' => ''], + 'ContainerGroupName' => ['description' => 'The name of the ECI instance, which is the container group name.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'ScalingConfigurationId' => ['description' => 'The ID of the scaling configuration.', 'type' => 'string', 'example' => 'asc-bp1ezrfgoyn5kijl****', 'title' => ''], + 'CpuOptionsCore' => ['description' => 'The number of physical CPU cores. Only specific instance types support custom settings. For more information, see [Customize CPU options](~~197781~~).', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'Containers' => [ + 'description' => 'The list of containers in the ECI instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about a container in the ECI instance.', + 'type' => 'object', + 'properties' => [ + 'ReadinessProbeHttpGetPath' => ['description' => 'The path for HTTP GET-based health checks.', 'type' => 'string', 'example' => '/usr/local', 'title' => ''], + 'ReadinessProbeSuccessThreshold' => ['description' => 'The minimum number of consecutive successes required to transition from a failure status to a success status. Default value: 1. The current value must be 1.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'LivenessProbePeriodSeconds' => ['description' => 'The interval at which health checks are performed. Default value: 10 seconds. Minimum value: 1 second.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'LivenessProbeTcpSocketPort' => ['description' => 'The port number for TCP Socket-based health checks.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'LivenessProbeHttpGetScheme' => ['description' => 'The protocol type for HTTP GET-based health checks. Valid values:'."\n" + ."\n" + .'- HTTP.'."\n" + .'- HTTPS.', 'type' => 'string', 'example' => 'HTTP', 'title' => ''], + 'WorkingDir' => ['description' => 'The working directory of the container.', 'type' => 'string', 'example' => '/usr/local/nginx', 'title' => ''], + 'Tty' => ['description' => 'Indicates whether interaction is enabled. Valid values:'."\n" + .'- true: enabled.'."\n" + .'- false: not enabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'LivenessProbeHttpGetPort' => ['description' => 'The port for HTTP GET-based health checks.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'Gpu' => ['description' => 'The number of GPUs.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ReadinessProbeInitialDelaySeconds' => ['description' => 'The time to wait before the first health check starts, calculated from the time the container finishes starting.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'Stdin' => ['description' => 'Specifies whether the container runtime allocates a buffer for standard input. If this parameter is not set, reads from standard input in the container result in EOF.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Memory' => ['description' => 'The memory size of the container.', 'type' => 'number', 'format' => 'float', 'example' => '2.0', 'title' => ''], + 'Name' => ['description' => 'The custom container name.', 'type' => 'string', 'example' => 'nginx', 'title' => ''], + 'LivenessProbeHttpGetPath' => ['description' => 'The path for HTTP GET-based health checks.', 'type' => 'string', 'example' => '/usr/nginx/', 'title' => ''], + 'Image' => ['description' => 'The container image.', 'type' => 'string', 'example' => 'mysql', 'title' => ''], + 'ReadinessProbeTcpSocketPort' => ['description' => 'The port number for TCP Socket-based health checks.', 'type' => 'integer', 'format' => 'int32', 'example' => '8888', 'title' => ''], + 'ReadinessProbeHttpGetScheme' => ['description' => 'The protocol type for HTTP GET-based health checks. Valid values:'."\n" + .'- HTTP.'."\n" + .'- HTTPS.', 'type' => 'string', 'example' => 'HTTP', 'title' => ''], + 'ReadinessProbeHttpGetPort' => ['description' => 'The path for HTTP GET-based health checks.', 'type' => 'integer', 'format' => 'int32', 'example' => '/usr/nginx/', 'title' => ''], + 'LivenessProbeSuccessThreshold' => ['description' => 'The minimum number of consecutive successes required to transition from a failure status to a success status. Default value: 1. The current value must be 1.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ReadinessProbeTimeoutSeconds' => ['description' => 'The timeout period for health checks. Default value: 1 second. Minimum value: 1 second.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'SecurityContextRunAsUser' => ['description' => 'The UID used to run the container process entry point.', 'type' => 'integer', 'format' => 'int64', 'example' => '1000', 'title' => ''], + 'LivenessProbeInitialDelaySeconds' => ['description' => 'The time to wait before the first health check starts, calculated from the time the container finishes starting.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'ReadinessProbePeriodSeconds' => ['description' => 'The interval at which health checks are performed. Default value: 10 seconds. Minimum value: 1 second.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ImagePullPolicy' => ['description' => 'The image pull policy. Valid values:'."\n" + ."\n" + .'- Always: always pulls the image. The image is pulled each time.'."\n" + .'- IfNotPresent: pulls the image only when needed. The local image is used first. If no local image is available, the image is pulled.'."\n" + .'- Never: never pulls the image. Only the local image is used.', 'type' => 'string', 'example' => 'Always', 'title' => ''], + 'StdinOnce' => ['description' => 'When standard input is set to true, the standard input stream remains open across multiple attach sessions.'."\n" + ."\n" + .'If StdinOnce is set to true, standard input is opened when the container starts and remains empty until the first client attaches to it. It then stays open and accepts data until the client disconnects, at which point standard input enters the shutdown enabling status and remains shutdown until the container restarts.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Cpu' => ['description' => 'The vCPU size of the container.', 'type' => 'number', 'format' => 'float', 'example' => '2.0', 'title' => ''], + 'LivenessProbeTimeoutSeconds' => ['description' => 'The timeout period for health checks. Default value: 1 second. Minimum value: 1 second.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'ReadinessProbeFailureThreshold' => ['description' => 'The minimum number of consecutive failures required to transition from a success status to a failure status.'."\n" + ."\n" + .'Default value: 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'LivenessProbeFailureThreshold' => ['description' => 'The minimum number of consecutive failures required to transition from a success status to a failure status.'."\n" + ."\n" + .'Default value: 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'Ports' => [ + 'description' => 'The list of exposed ports and protocols.', + 'type' => 'array', + 'items' => [ + 'description' => 'The exposed port and protocol.', + 'type' => 'object', + 'properties' => [ + 'Port' => ['description' => 'The port number. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int32', 'example' => '8888', 'title' => ''], + 'Protocol' => ['description' => 'The protocol type. Valid values:'."\n" + .'- TCP.'."\n" + .'- UDP.', 'type' => 'string', 'example' => 'TCP', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'VolumeMounts' => [ + 'description' => 'The list of volume mounts.', + 'type' => 'array', + 'items' => [ + 'description' => 'The volume mount.', + 'type' => 'object', + 'properties' => [ + 'ReadOnly' => ['description' => 'Indicates whether the volume is read-only. Valid values:'."\n" + .'- true: read-only.'."\n" + .'- false: not read-only.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'SubPath' => ['description' => 'The subpath of the volume.', 'type' => 'string', 'example' => 'data2/', 'title' => ''], + 'Name' => ['description' => 'The name of the volume. This value is the same as the Name value in Volume.', 'type' => 'string', 'example' => 'default-volume1', 'title' => ''], + 'MountPropagation' => ['description' => 'The mount propagation setting of the volume. Mount propagation allows volumes mounted by a container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" + ."\n" + .'- None: the volume does not detect any subsequent mounts performed on this volume or its subdirectories.'."\n" + .'- HostToCotainer: the volume detects subsequent mounts performed on this volume or its subdirectories.'."\n" + .'- Bidirectional: similar to HostToCotainer, the volume detects mount operations. In addition, the volume is propagated back to the host and all containers of all pods that use the same volume.', 'type' => 'string', 'example' => 'None', 'title' => ''], + 'MountPath' => ['description' => 'The directory where the container mounts the volume.'."\n" + ."\n" + .'> The content in the mount directory of the container is overwritten by the volume content. Use this parameter with caution.', 'type' => 'string', 'example' => '/pod/data', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'EnvironmentVars' => [ + 'description' => 'The list of environment variables.', + 'type' => 'array', + 'items' => [ + 'description' => 'The environment variable information.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable.', 'type' => 'string', 'example' => 'PATH', 'title' => ''], + 'Value' => ['description' => 'The value of the environment variable.', 'type' => 'string', 'example' => '/usr/bin/', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Commands' => [ + 'description' => 'The list of container startup commands. A maximum of 20 commands are supported. Each command can contain up to 256 characters.', + 'type' => 'array', + 'items' => ['description' => 'The container startup command. A maximum of 20 commands are supported. Each command can contain up to 256 characters.', 'type' => 'string', 'example' => 'sleep', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'LivenessProbeExecCommands' => [ + 'description' => 'The list of commands executed in the container for command-based health checks.', + 'type' => 'array', + 'items' => ['description' => 'The command executed in the container for command-based health checks.', 'type' => 'string', 'example' => 'cat/tmp/healthy', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Args' => [ + 'description' => 'The list of arguments for the container startup command. A maximum of 10 arguments are supported.', + 'type' => 'array', + 'items' => ['description' => 'The argument for the container startup command. A maximum of 10 arguments are supported.', 'type' => 'string', 'example' => '100', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ReadinessProbeExecCommands' => [ + 'description' => 'The list of commands executed in the container for command-based health checks.', + 'type' => 'array', + 'items' => ['description' => 'The command executed in the container for command-based health checks.', 'type' => 'string', 'example' => 'cat/tmp/healthy', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'SecurityContextCapabilityAdds' => [ + 'description' => 'The specific permissions granted to processes in the container. Currently, only NET_ADMIN and NET_RAW are supported.'."\n" + .'>NET_RAW is not supported by default. Submit a ticket to apply for this permission.', + 'type' => 'array', + 'items' => ['description' => 'The specific permissions granted to processes in the container. Currently, only NET_ADMIN and NET_RAW are supported.'."\n" + .'>NET_RAW is not supported by default. Submit a ticket to apply for this permission.', 'type' => 'string', 'example' => 'NET_ADMIN', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'LifecyclePostStartHandlerHttpGetHost' => ['description' => 'The host address that receives the HTTP GET request when the PostStart callback function is configured with the HTTP request method.', 'type' => 'string', 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetPort' => ['description' => 'The port number for the HTTP GET request when the PostStart callback function is configured with the HTTP request method.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetPath' => ['description' => 'The path for the HTTP GET request when the PostStart callback function is configured with the HTTP request method.', 'type' => 'string', 'example' => '/healthyz', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetScheme' => ['description' => 'The protocol type for the HTTP GET request when the PostStart callback function is configured with the HTTP request method.', 'type' => 'string', 'example' => 'HTTP', 'title' => ''], + 'LifecyclePostStartHandlerExecs' => [ + 'description' => 'The commands executed in the container when the PostStart callback function is configured with the command-line method.', + 'type' => 'array', + 'items' => ['description' => 'The commands executed in the container when the PostStart callback function is configured with the command-line method.', 'type' => 'string', 'example' => '[ "/bin/sh", "-c", "echo Hello from the preStop handler /usr/share/message" ]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'LifecyclePostStartHandlerTcpSocketHost' => ['description' => 'The host address for TCP Socket-based detection when the PostStart callback function is configured with the TCP Socket method.', 'type' => 'string', 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePostStartHandlerTcpSocketPort' => ['description' => 'The port for TCP Socket-based detection when the PostStart callback function is configured with the TCP Socket method.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetHost' => ['description' => 'The host address that receives the HTTP GET request when the PreStop callback function is configured with the HTTP request method.', 'type' => 'string', 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetPort' => ['description' => 'The port number for the HTTP GET request when the PreStop callback function is configured with the HTTP request method.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetPath' => ['description' => 'The path for the HTTP GET request when the PreStop callback function is configured with the HTTP request method.', 'type' => 'string', 'example' => '/healthyz', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetScheme' => ['description' => 'The protocol type for the HTTP GET request when the PreStop callback function is configured with the HTTP request method.', 'type' => 'string', 'example' => 'HTTP', 'title' => ''], + 'LifecyclePreStopHandlerExecs' => [ + 'description' => 'The commands executed in the container when the PreStop callback function is configured with the command-line method.', + 'type' => 'array', + 'items' => ['description' => 'The commands executed in the container when the PreStop callback function is configured with the command-line method.', 'type' => 'string', 'example' => '[ "/bin/sh", "-c", "echo Hello from the preStop handler /usr/share/message" ]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'LifecyclePreStopHandlerTcpSocketHost' => ['description' => 'The host address for TCP Socket-based detection when the PreStop callback function is configured with the TCP Socket method.', 'type' => 'string', 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePreStopHandlerTcpSocketPort' => ['description' => 'The port for TCP Socket-based detection when the PreStop callback function is configured with the TCP Socket method.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'InitContainers' => [ + 'description' => 'The list of init containers.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of init containers.', + 'type' => 'object', + 'properties' => [ + 'SecurityContextReadOnlyRootFilesystem' => ['description' => 'Indicates whether the root file system on which the container runs is read-only. Currently, only true is supported.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ImagePullPolicy' => ['description' => 'The image pull policy.', 'type' => 'string', 'example' => 'Always', 'title' => ''], + 'WorkingDir' => ['description' => 'The working directory.', 'type' => 'string', 'example' => '/usr/local', 'title' => ''], + 'Cpu' => ['description' => 'The CPU size.', 'type' => 'number', 'format' => 'float', 'example' => '0.5', 'title' => ''], + 'Image' => ['description' => 'The image used by the container.', 'type' => 'string', 'example' => 'nginx', 'title' => ''], + 'Gpu' => ['description' => 'The number of GPUs used by the container.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'SecurityContextRunAsUser' => ['description' => 'The user ID used to run the container.', 'type' => 'string', 'example' => '587', 'title' => ''], + 'Memory' => ['description' => 'The memory size.', 'type' => 'number', 'format' => 'float', 'example' => '1.0', 'title' => ''], + 'Name' => ['description' => 'The container name.', 'type' => 'string', 'example' => 'test-init', 'title' => ''], + 'InitContainerEnvironmentVars' => [ + 'description' => 'The environment variable information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The environment variable information.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable.', 'type' => 'string', 'example' => 'PATH', 'title' => ''], + 'Value' => ['description' => 'The value of the environment variable.', 'type' => 'string', 'example' => '/usr/local/bin', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'InitContainerVolumeMounts' => [ + 'description' => 'The volume mounts.', + 'type' => 'array', + 'items' => [ + 'description' => 'The volume mounts.', + 'type' => 'object', + 'properties' => [ + 'ReadOnly' => ['description' => 'Indicates whether the mount path is read-only.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'SubPath' => ['description' => 'The subdirectory of the volume. This allows a pod to mount different directories of the same volume to different directories in the container.', 'type' => 'string', 'example' => '/usr/sub/', 'title' => ''], + 'Name' => ['description' => 'The name of the mounted volume.', 'type' => 'string', 'example' => 'test-empty', 'title' => ''], + 'MountPropagation' => ['description' => 'The mount propagation setting of the volume. Mount propagation allows volumes mounted by a container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" + ."\n" + .'- None: the volume does not detect any subsequent mounts performed on this volume or its subdirectories.'."\n" + .'- HostToCotainer: the volume detects subsequent mounts performed on this volume or its subdirectories.'."\n" + .'- Bidirectional: similar to HostToCotainer, the volume detects mount operations. In addition, the volume is propagated back to the host and all containers of all pods that use the same volume.', 'type' => 'string', 'example' => 'None', 'title' => ''], + 'MountPath' => ['description' => 'The mount directory. The content in the mount directory of the container is overwritten by the volume content. Use this parameter with caution.', 'type' => 'string', 'example' => '/usr/share/', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SecurityContextCapabilityAdds' => [ + 'description' => 'The specific permissions granted to processes in the container. Currently, only NET_ADMIN and NET_RAW are supported.', + 'type' => 'array', + 'items' => ['description' => 'The specific permissions granted to processes in the container. Currently, only NET_ADMIN and NET_RAW are supported.', 'type' => 'string', 'example' => 'NET_ADMIN', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'InitContainerCommands' => [ + 'description' => 'The container startup commands.', + 'type' => 'array', + 'items' => ['description' => 'The container startup commands.', 'type' => 'string', 'example' => 'sleep', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'InitContainerArgs' => [ + 'description' => 'The container startup arguments.', + 'type' => 'array', + 'items' => ['description' => 'The container startup arguments.', 'type' => 'string', 'example' => '10', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Tags' => [ + 'description' => 'The tag key-value pairs of the instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tag key-value pairs of the instance.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'version', 'title' => ''], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => '3', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Volumes' => [ + 'description' => 'The volume information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The volume information.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The volume type. Valid values:'."\n" + .'- EmptyDirVolume.'."\n" + .'- NFSVolume.'."\n" + .'- ConfigFileVolume.'."\n" + .'- FlexVolume.', 'type' => 'string', 'example' => 'EmptyDirVolume', 'title' => ''], + 'DiskVolumeDiskId' => ['description' => 'The size of the DiskVolume. Unit: GiB.', 'type' => 'string', 'example' => '15', 'title' => ''], + 'DiskVolumeFsType' => ['description' => 'The file system type of the DiskVolume.', 'type' => 'string', 'example' => 'xfs', 'title' => ''], + 'EmptyDirVolumeMedium' => ['description' => 'The storage medium of the EmptyDirVolume. By default, this parameter is empty, which indicates that the node file system is used. A value of memory indicates that memory is used.', 'type' => 'string', 'example' => 'memory', 'title' => ''], + 'NFSVolumePath' => ['description' => 'The path of the NFS volume.', 'type' => 'string', 'example' => '/share', 'title' => ''], + 'DiskVolumeDiskSize' => ['description' => 'The size of the DiskVolume. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''], + 'NFSVolumeReadOnly' => ['description' => 'Indicates whether the NFS volume is read-only.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'FlexVolumeFsType' => ['description' => 'The file system type to mount. The default value depends on the FlexVolume script.', 'type' => 'string', 'example' => 'ext4', 'title' => ''], + 'ConfigFileVolumeDefaultMode' => ['description' => 'The default permissions of the ConfigFileVolume.', 'type' => 'integer', 'format' => 'int32', 'example' => '0644', 'title' => ''], + 'FlexVolumeDriver' => ['description' => 'The driver name for the FlexVolume.', 'type' => 'string', 'example' => 'flexvolume', 'title' => ''], + 'FlexVolumeOptions' => ['description' => 'The list of FlexVolume object options. The options are in key-value format and passed as JSON.'."\n" + ."\n" + .'For example, when you mount a cloud disk by using FlexVolume, the Options format is `{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}`.', 'type' => 'string', 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}', 'title' => ''], + 'NFSVolumeServer' => ['description' => 'The NFS server address.', 'type' => 'string', 'example' => '3f9cd4****-na***.cn-shanghai.nas.aliyuncs.com', 'title' => ''], + 'Name' => ['description' => 'The volume name.', 'type' => 'string', 'example' => 'default-volume1', 'title' => ''], + 'ConfigFileVolumeConfigFileToPaths' => [ + 'description' => 'The list of configuration file paths.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of configuration file paths.', + 'type' => 'object', + 'properties' => [ + 'Path' => ['description' => 'The relative file path.', 'type' => 'string', 'example' => '/usr/bin/', 'title' => ''], + 'Mode' => ['description' => 'The permissions of the ConfigFileVolume directory.', 'type' => 'integer', 'format' => 'int32', 'example' => '0644', 'title' => ''], + 'Content' => ['description' => 'The content of the configuration file (32 KB).', 'type' => 'string', 'example' => 'bGl1bWk=', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'EmptyDirVolumeSizeLimit' => ['description' => 'The size of the EmptyDir volume.', 'type' => 'string', 'example' => '256 Mi', 'title' => ''], + 'HostPathVolumeType' => ['description' => 'The type of the HostPath volume.', 'type' => 'string', 'example' => 'Directory', 'title' => ''], + 'HostPathVolumePath' => ['description' => 'The directory path of the HostPath volume on the host.', 'type' => 'string', 'example' => '/pod/data', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'ImageRegistryCredentials' => [ + 'description' => 'The image repository information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The image repository information.', + 'type' => 'object', + 'properties' => [ + 'Password' => ['description' => 'The password of the image repository.', 'type' => 'string', 'example' => 'yourpaasword', 'title' => ''], + 'Server' => ['description' => 'The address of the image repository.', 'type' => 'string', 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com', 'title' => ''], + 'UserName' => ['description' => 'The username of the image repository.', 'type' => 'string', 'example' => 'yourusername', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'DnsConfigOptions' => [ + 'description' => 'The list of object options. Each object consists of a Name and an optional Value.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of object options. Each object consists of a Name and an optional Value.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The variable name of the object.', 'type' => 'string', 'example' => 'name', 'title' => ''], + 'Value' => ['description' => 'The variable value of the object.', 'type' => 'string', 'example' => 'value', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'HostAliases' => [ + 'description' => 'The custom hostname mappings for a container in the instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The custom hostname mappings for a container in the instance.', + 'type' => 'object', + 'properties' => [ + 'Ip' => ['description' => 'The added IP address.', 'type' => 'string', 'example' => '192.0.XX.XX', 'title' => ''], + 'Hostnames' => [ + 'description' => 'The added hostnames.', + 'type' => 'array', + 'items' => ['description' => 'The added hostnames.', 'type' => 'string', 'example' => '[\'hehe.com\', \'haha.com\']', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SecurityContextSysCtls' => [ + 'description' => 'The system information of the security context in which the instance runs.', + 'type' => 'array', + 'items' => [ + 'description' => 'The system information of the security context in which the instance runs.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The system name of the security context in which the instance runs.', 'type' => 'string', 'example' => 'kernel.msgmax', 'title' => ''], + 'Value' => ['description' => 'The variable value of the security context in which the instance runs.', 'type' => 'string', 'example' => '65536', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'AcrRegistryInfos' => [ + 'description' => 'The information about Container Registry Enterprise Edition instances.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about Container Registry Enterprise Edition instances.', + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => 'The ID of the Container Registry Enterprise Edition instance.', 'type' => 'string', 'example' => 'cri-nwj395hgf6f3****', 'title' => ''], + 'InstanceName' => ['description' => 'The name of the Container Registry Enterprise Edition instance.', 'type' => 'string', 'example' => 'acr-test', 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the Container Registry Enterprise Edition instance.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'Domains' => [ + 'description' => 'The domain names of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are returned. You can specify individual domain names. Separate multiple domain names with commas (,).', + 'type' => 'array', + 'items' => ['description' => 'The domain names of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are returned. You can specify individual domain names. Separate multiple domain names with commas (,).', 'type' => 'string', 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'DnsConfigNameServers' => [ + 'description' => 'The list of IP addresses of DNS servers.', + 'type' => 'array', + 'items' => ['description' => 'The list of IP addresses of DNS servers.', 'type' => 'string', 'example' => '172.10.*.**', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'DnsConfigSearches' => [ + 'description' => 'The list of DNS search domains.', + 'type' => 'array', + 'items' => ['description' => 'The list of DNS search domains.', 'type' => 'string', 'example' => 'svc.local.kubenetes', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'NtpServers' => [ + 'description' => 'The NTP servers.', + 'type' => 'array', + 'items' => ['description' => 'The NTP servers.', 'type' => 'string', 'example' => 'ntp.cloud.aliyuncs.com', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'LifecycleState' => ['description' => 'The status of the scaling configuration in the scaling group. Valid values:'."\n" + ."\n" + .'- Active: the scaling configuration is in the Active state. The scaling group uses scaling configurations in the Active state to automatically create ECI instances.'."\n" + .'- Inacitve: the scaling configuration is in the Inactive state. Scaling configurations in the Inactive state still exist in the scaling group, but the scaling group does not use such scaling configurations to automatically create ECI instances.', 'type' => 'string', 'example' => 'Active', 'title' => ''], + 'CostOptimization' => ['description' => 'Indicates whether the cost optimization feature is enabled. Valid values:'."\n" + ."\n" + .'- true: enabled.'."\n" + .'- false: not enabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'InstanceFamilyLevel' => ['description' => 'The instance family level, which is used to filter instance types that meet the requirements. This parameter takes effect only when `CostOptimization` is enabled. Valid values:'."\n" + ."\n" + .'- EntryLevel: entry level, which refers to shared instance types. These instance types are more cost-effective but do not guarantee stable computing performance. They are suitable for scenarios with low CPU utilization. For more information, see [Shared instance types](~~108489~~).'."\n" + .'- EnterpriseLevel: enterprise level. These instance types provide stable performance and dedicated resources. They are suitable for scenarios that require high stability. For more information, see [Instance families](~~25378~~).'."\n" + .'- CreditEntryLevel: credit-based entry level, which refers to burstable instance types. These instance types use CPU credits to guarantee computing performance. They are suitable for scenarios with low CPU utilization and occasional bursts of CPU usage. For more information, see [Overview of burstable instances](~~59977~~).', 'type' => 'string', 'example' => 'EnterpriseLevel', 'title' => ''], + 'InstanceTypes' => [ + 'description' => 'The specified ECS instance types. You can specify multiple instance types (up to 5).', + 'type' => 'array', + 'items' => ['description' => 'The specified ECS instance type. You can specify multiple instance types (up to 5). For more information, see [Create an instance by specifying an ECS instance type](~~114664~~).', 'type' => 'string', 'example' => 'ecs.g6.large', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'DataCacheBucket' => ['description' => 'The data cache bucket.', 'type' => 'string', 'example' => 'default', 'title' => ''], + 'DataCachePL' => ['description' => 'The performance level of the cloud disk used for data caching. We recommend that you use enhanced SSDs (ESSDs). Valid values for the performance level of an ESSD:'."\n" + ."\n" + .'- PL0: a single disk can deliver up to 10,000 random read/write IOPS.'."\n" + .'- PL1: a single disk can deliver up to 50,000 random read/write IOPS.'."\n" + .'- PL2: a single disk can deliver up to 100,000 random read/write IOPS.'."\n" + .'- PL3: a single disk can deliver up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'>For more information about ESSDs, see [ESSDs](~~122389~~).', 'type' => 'string', 'example' => 'PL1', 'title' => ''], + 'DataCacheProvisionedIops' => ['description' => 'The provisioned read/write IOPS of the ESSD AutoPL disk used for data caching. Valid values: 0 to min{50000, 1000 × capacity - baseline performance}, where baseline performance = min{1800 + 50 × capacity, 50000}.'."\n" + .'>For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).', 'type' => 'integer', 'format' => 'int32', 'example' => '40000', 'title' => ''], + 'DataCacheBurstingEnabled' => ['description' => 'Indicates whether the burst (performance burst) feature is enabled for the ESSD AutoPL disk used for data caching. Valid values:'."\n" + .'- true: enabled.'."\n" + .'- false: not enabled.'."\n" + ."\n" + .'>For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'GpuDriverVersion' => ['description' => 'The GPU driver version.', 'type' => 'string', 'example' => 'tesla=470.82.01', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], ], - 'required' => true, - 'example' => 'asg-bp17xb4x1vr29lgt****', - 'maxItems' => 51, + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'TagKey', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The keys of the tags that you want to remove from the Auto Scaling resource. You can specify 1 to 20 tag keys.', - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'description' => 'The ID of the request.', - 'example' => 'TestKey', - ], - 'required' => false, - 'example' => 'TestKey', - 'maxItems' => 21, - ], + ], + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'Forbidden.RiskControl', 'description' => ''], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '3AEBB1B9-5B13-4311-951F-C3C7FA2B73ED', - ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"TotalCount\\": 1,\\n \\"ScalingConfigurations\\": [\\n {\\n \\"CreationTime\\": \\"2014-08-14T10:58Z\\",\\n \\"ScalingConfigurationName\\": \\"scalingconfi****\\",\\n \\"SecurityGroupId\\": \\"sg-bp18kz60mefs****\\",\\n \\"ActiveDeadlineSeconds\\": 1000,\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"AutoCreateEip\\": true,\\n \\"ScalingGroupId\\": \\"asg-bp17pelvl720x3v7****\\",\\n \\"EphemeralStorage\\": 20,\\n \\"Ipv6AddressCount\\": 1,\\n \\"EipBandwidth\\": 5,\\n \\"ImageSnapshotId\\": \\"imc-2zebxkiifuyzzlhl****\\",\\n \\"Memory\\": 16,\\n \\"RestartPolicy\\": \\"Never\\",\\n \\"SpotPriceLimit\\": 0.025,\\n \\"IngressBandwidth\\": 1024000,\\n \\"CpuOptionsThreadsPerCore\\": 2,\\n \\"TerminationGracePeriodSeconds\\": 60,\\n \\"LoadBalancerWeight\\": 1,\\n \\"DnsPolicy\\": \\"Default\\",\\n \\"HostName\\": \\"[\'hehe.com\', \'haha.com\']\\",\\n \\"EgressBandwidth\\": 1024000,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"RamRoleName\\": \\"ram:PassRole\\",\\n \\"Cpu\\": 2,\\n \\"AutoMatchImageCache\\": false,\\n \\"ResourceGroupId\\": \\"rg-8db03793gfrz****\\",\\n \\"ContainerGroupName\\": \\"test\\",\\n \\"ScalingConfigurationId\\": \\"asc-bp1ezrfgoyn5kijl****\\",\\n \\"CpuOptionsCore\\": 2,\\n \\"Containers\\": [\\n {\\n \\"ReadinessProbeHttpGetPath\\": \\"/usr/local\\",\\n \\"ReadinessProbeSuccessThreshold\\": 1,\\n \\"LivenessProbePeriodSeconds\\": 5,\\n \\"LivenessProbeTcpSocketPort\\": 80,\\n \\"LivenessProbeHttpGetScheme\\": \\"HTTP\\",\\n \\"WorkingDir\\": \\"/usr/local/nginx\\",\\n \\"Tty\\": false,\\n \\"LivenessProbeHttpGetPort\\": 80,\\n \\"Gpu\\": 1,\\n \\"ReadinessProbeInitialDelaySeconds\\": 5,\\n \\"Stdin\\": true,\\n \\"Memory\\": 2,\\n \\"Name\\": \\"nginx\\",\\n \\"LivenessProbeHttpGetPath\\": \\"/usr/nginx/\\",\\n \\"Image\\": \\"mysql\\",\\n \\"ReadinessProbeTcpSocketPort\\": 8888,\\n \\"ReadinessProbeHttpGetScheme\\": \\"HTTP\\",\\n \\"ReadinessProbeHttpGetPort\\": 0,\\n \\"LivenessProbeSuccessThreshold\\": 1,\\n \\"ReadinessProbeTimeoutSeconds\\": 5,\\n \\"SecurityContextRunAsUser\\": 1000,\\n \\"LivenessProbeInitialDelaySeconds\\": 10,\\n \\"ReadinessProbePeriodSeconds\\": 1,\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"StdinOnce\\": true,\\n \\"Cpu\\": 2,\\n \\"LivenessProbeTimeoutSeconds\\": 10,\\n \\"ReadinessProbeFailureThreshold\\": 3,\\n \\"LivenessProbeFailureThreshold\\": 3,\\n \\"Ports\\": [\\n {\\n \\"Port\\": 8888,\\n \\"Protocol\\": \\"TCP\\"\\n }\\n ],\\n \\"VolumeMounts\\": [\\n {\\n \\"ReadOnly\\": false,\\n \\"SubPath\\": \\"data2/\\",\\n \\"Name\\": \\"default-volume1\\",\\n \\"MountPropagation\\": \\"None\\",\\n \\"MountPath\\": \\"/pod/data\\"\\n }\\n ],\\n \\"EnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/bin/\\"\\n }\\n ],\\n \\"Commands\\": [\\n \\"sleep\\"\\n ],\\n \\"LivenessProbeExecCommands\\": [\\n \\"cat/tmp/healthy\\"\\n ],\\n \\"Args\\": [\\n \\"100\\"\\n ],\\n \\"ReadinessProbeExecCommands\\": [\\n \\"cat/tmp/healthy\\"\\n ],\\n \\"SecurityContextCapabilityAdds\\": [\\n \\"NET_ADMIN\\"\\n ],\\n \\"LifecyclePostStartHandlerHttpGetHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePostStartHandlerHttpGetPort\\": 80,\\n \\"LifecyclePostStartHandlerHttpGetPath\\": \\"/healthyz\\",\\n \\"LifecyclePostStartHandlerHttpGetScheme\\": \\"HTTP\\",\\n \\"LifecyclePostStartHandlerExecs\\": [\\n \\"[ \\\\\\"/bin/sh\\\\\\", \\\\\\"-c\\\\\\", \\\\\\"echo Hello from the preStop handler /usr/share/message\\\\\\" ]\\"\\n ],\\n \\"LifecyclePostStartHandlerTcpSocketHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePostStartHandlerTcpSocketPort\\": 80,\\n \\"LifecyclePreStopHandlerHttpGetHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePreStopHandlerHttpGetPort\\": 80,\\n \\"LifecyclePreStopHandlerHttpGetPath\\": \\"/healthyz\\",\\n \\"LifecyclePreStopHandlerHttpGetScheme\\": \\"HTTP\\",\\n \\"LifecyclePreStopHandlerExecs\\": [\\n \\"[ \\\\\\"/bin/sh\\\\\\", \\\\\\"-c\\\\\\", \\\\\\"echo Hello from the preStop handler /usr/share/message\\\\\\" ]\\"\\n ],\\n \\"LifecyclePreStopHandlerTcpSocketHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePreStopHandlerTcpSocketPort\\": 80\\n }\\n ],\\n \\"InitContainers\\": [\\n {\\n \\"SecurityContextReadOnlyRootFilesystem\\": true,\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"WorkingDir\\": \\"/usr/local\\",\\n \\"Cpu\\": 0.5,\\n \\"Image\\": \\"nginx\\",\\n \\"Gpu\\": 1,\\n \\"SecurityContextRunAsUser\\": \\"587\\",\\n \\"Memory\\": 1,\\n \\"Name\\": \\"test-init\\",\\n \\"InitContainerEnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/local/bin\\"\\n }\\n ],\\n \\"InitContainerVolumeMounts\\": [\\n {\\n \\"ReadOnly\\": false,\\n \\"SubPath\\": \\"/usr/sub/\\",\\n \\"Name\\": \\"test-empty\\",\\n \\"MountPropagation\\": \\"None\\",\\n \\"MountPath\\": \\"/usr/share/\\"\\n }\\n ],\\n \\"SecurityContextCapabilityAdds\\": [\\n \\"NET_ADMIN\\"\\n ],\\n \\"InitContainerCommands\\": [\\n \\"sleep\\"\\n ],\\n \\"InitContainerArgs\\": [\\n \\"10\\"\\n ]\\n }\\n ],\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"version\\",\\n \\"Value\\": \\"3\\"\\n }\\n ],\\n \\"Volumes\\": [\\n {\\n \\"Type\\": \\"EmptyDirVolume\\",\\n \\"DiskVolumeDiskId\\": \\"15\\",\\n \\"DiskVolumeFsType\\": \\"xfs\\",\\n \\"EmptyDirVolumeMedium\\": \\"memory\\",\\n \\"NFSVolumePath\\": \\"/share\\",\\n \\"DiskVolumeDiskSize\\": 15,\\n \\"NFSVolumeReadOnly\\": false,\\n \\"FlexVolumeFsType\\": \\"ext4\\",\\n \\"ConfigFileVolumeDefaultMode\\": 644,\\n \\"FlexVolumeDriver\\": \\"flexvolume\\",\\n \\"FlexVolumeOptions\\": \\"{\\\\\\"volumeId\\\\\\":\\\\\\"d-2zehdahrwoa7srg****\\\\\\",\\\\\\"performanceLevel\\\\\\": \\\\\\"PL2\\\\\\"}\\",\\n \\"NFSVolumeServer\\": \\"3f9cd4****-na***.cn-shanghai.nas.aliyuncs.com\\",\\n \\"Name\\": \\"default-volume1\\",\\n \\"ConfigFileVolumeConfigFileToPaths\\": [\\n {\\n \\"Path\\": \\"/usr/bin/\\",\\n \\"Mode\\": 644,\\n \\"Content\\": \\"bGl1bWk=\\"\\n }\\n ],\\n \\"EmptyDirVolumeSizeLimit\\": \\"256 Mi\\",\\n \\"HostPathVolumeType\\": \\"Directory\\",\\n \\"HostPathVolumePath\\": \\"/pod/data\\"\\n }\\n ],\\n \\"ImageRegistryCredentials\\": [\\n {\\n \\"Password\\": \\"yourpaasword\\",\\n \\"Server\\": \\"registry-vpc.cn-shanghai.aliyuncs.com\\",\\n \\"UserName\\": \\"yourusername\\"\\n }\\n ],\\n \\"DnsConfigOptions\\": [\\n {\\n \\"Name\\": \\"name\\",\\n \\"Value\\": \\"value\\"\\n }\\n ],\\n \\"HostAliases\\": [\\n {\\n \\"Ip\\": \\"192.0.XX.XX\\",\\n \\"Hostnames\\": [\\n \\"[\'hehe.com\', \'haha.com\']\\"\\n ]\\n }\\n ],\\n \\"SecurityContextSysCtls\\": [\\n {\\n \\"Name\\": \\"kernel.msgmax\\",\\n \\"Value\\": \\"65536\\"\\n }\\n ],\\n \\"AcrRegistryInfos\\": [\\n {\\n \\"InstanceId\\": \\"cri-nwj395hgf6f3****\\",\\n \\"InstanceName\\": \\"acr-test\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Domains\\": [\\n \\"*****-****-registry.cn-beijing.cr.aliyuncs.com\\"\\n ]\\n }\\n ],\\n \\"DnsConfigNameServers\\": [\\n \\"172.10.*.**\\"\\n ],\\n \\"DnsConfigSearches\\": [\\n \\"svc.local.kubenetes\\"\\n ],\\n \\"NtpServers\\": [\\n \\"ntp.cloud.aliyuncs.com\\"\\n ],\\n \\"LifecycleState\\": \\"Active\\",\\n \\"CostOptimization\\": false,\\n \\"InstanceFamilyLevel\\": \\"EnterpriseLevel\\",\\n \\"InstanceTypes\\": [\\n \\"ecs.g6.large\\"\\n ],\\n \\"DataCacheBucket\\": \\"default\\",\\n \\"DataCachePL\\": \\"PL1\\",\\n \\"DataCacheProvisionedIops\\": 40000,\\n \\"DataCacheBurstingEnabled\\": false,\\n \\"GpuDriverVersion\\": \\"tesla=470.82.01\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query scaling configuration information', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeEciScalingConfigurations'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeEciScalingConfigurations', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"3AEBB1B9-5B13-4311-951F-C3C7FA2B****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 3AEBB1B9-5B13-4311-951F-C3C7FA2B****\\n","errorExample":""}]', - 'title' => 'UntagResources', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=UntagResources\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'CreateAlarm' => [ - 'summary' => '创建一个报警任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeElasticStrength' => [ + 'summary' => 'The validity of a scaling group configuration largely determines the success rate of scale-out operations. Auto Scaling uses elastic strength to describe the validity of scaling configurations, quantifying configuration quality and helping you optimize scaling configurations accordingly.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '92653', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '232309', + 'abilityTreeNodes' => ['FEATUREess7569XW'], ], '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.', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], - ], - [ - 'name' => 'MetricName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the metric. Valid values of MetricName vary based on the value of MetricType.'."\n" - ."\n" - .'* If you set MetricType to custom, the valid values of MetricName are your custom metrics.'."\n" - ."\n" - .'* If you set MetricType to system, MetricName has the following valid values:'."\n" - ."\n" - .' * CpuUtilization: (ECS) the CPU utilization. Unit: %.'."\n" - .' * IntranetTx: the outbound traffic over the internal network from an ECS instance. Unit: KB/min.'."\n" - .' * IntranetRx: the inbound traffic over the internal network to an ECS instance. Unit: KB/min.'."\n" - .' * VpcInternetTx: the outbound traffic over the Internet from an ECS instance that resides in a virtual private cloud (VPC). Unit: KB/min.'."\n" - .' * VpcInternetRx: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.'."\n" - .' * SystemDiskReadBps: the number of bytes read from the system disk that is used by an ECS instance per second.'."\n" - .' * SystemDiskWriteBps: the number of bytes written to the system disk that is used by an ECS instance per second.'."\n" - .' * SystemDiskReadOps: the number of read operations on the system disk that is used by an ECS instance per second.'."\n" - .' * SystemDiskWriteOps: the number of write operations on the system disk that is used by an ECS instance per second.'."\n" - .' * CpuUtilizationAgent: the CPU utilization of an agent. Unit: %.'."\n" - .' * GpuMemoryFreeUtilizationAgent: the percentage of idle GPU memory of an agent.'."\n" - .' * GpuMemoryUtilizationAgent: the GPU memory usage of an agent. Unit: %.'."\n" - .' * MemoryUtilization: the memory usage of an agent. Unit: %.'."\n" - .' * LoadAverage: the average system load of an agent.'."\n" - .' * TcpConnection: the total number of TCP connections of an agent.'."\n" - .' * TcpConnection: the number of established TCP connections of an agent.'."\n" - .' * PackagesNetOut: the number of packets that are sent by the internal network interface controller (NIC) used by an agent.'."\n" - .' * PackagesNetIn: the number of packets that are received by the internal NIC used by an agent.'."\n" - .' * EciPodCpuUtilization: the CPU utilization of an elastic container instance. Unit: %.'."\n" - .' * EciPodMemoryUtilization: the memory usage of an elastic container instance. Unit: %.'."\n" - ."\n" - .'For more information, see [Event-triggered task for system monitoring](~~74854~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CpuUtilization', - ], - ], - [ - 'name' => 'MetricType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the metric. Valid values:'."\n" - ."\n" - .'* system: system metrics of CloudMonitor'."\n" - .'* custom: custom metrics that are reported to CloudMonitor'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'system', - 'default' => 'system', - ], - ], - [ - 'name' => 'Period', - 'in' => 'query', - 'schema' => [ - 'description' => 'The period of time during which statistics about the metric is collected. Unit: seconds. Valid values:'."\n" - ."\n" - .'* 15'."\n" - .'* 60'."\n" - .'* 120'."\n" - .'* 300'."\n" - .'* 900'."\n" - ."\n" - .'> If your scaling group is of the ECS type and uses CloudMonitor metrics, you can set Period to 15. In other cases, you can set Period to 60, 120, 300, or 900. In most cases, the name of a CloudMonitor metric contains Agent.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '300', - 'default' => '300', - ], - ], - [ - 'name' => 'Statistics', - 'in' => 'query', - 'schema' => [ - 'description' => 'The method that is used to aggregate statistics for the metric. Valid values:'."\n" - ."\n" - .'* Average'."\n" - .'* Minimum'."\n" - .'* Maximum'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Average', - 'default' => 'Average', - ], - ], - [ - 'name' => 'Threshold', - 'in' => 'query', - 'schema' => [ - 'description' => 'The threshold of a metric in the multi-metric alert rule. If the threshold is reached the specified number of times within the specified period, a scaling rule is executed.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '80.0', - ], - ], - [ - 'name' => 'ComparisonOperator', - 'in' => 'query', - 'schema' => [ - 'description' => 'The operator that is used to compare the metric value and the metric threshold. Valid values:'."\n" - ."\n" - .'* If the metric value is greater than or equal to the metric threshold, set the value to `>=`.'."\n" - .'* If the metric value is less than or equal to the metric threshold, set the value to `<=`.'."\n" - .'* If the metric value is greater than the metric threshold, set the value to `>`.'."\n" - .'* If the metric value is less than the metric threshold, set the value to `<`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '>=', - 'default' => '>=', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'EvaluationCount', + 'name' => 'InstanceTypes', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The collection of instance types for ECS instances. If specified, this parameter overrides the instance types in the scaling configuration.', + 'type' => 'array', + 'items' => ['description' => 'The instance type of the ECS instance.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], 'required' => false, - 'example' => '3', - 'default' => '3', + 'maxItems' => 50, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'GroupId', + 'name' => 'PriorityStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application group to which the custom metric belongs. This parameter must be specified when MetricType is set to custom.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4055401', - ], + 'schema' => ['description' => '> This parameter is deprecated. Use SpotStrategy instead.'."\n" + ."\n" + .'The preemption policy for pay-as-you-go instances. If specified, this parameter overrides the preemption policy configured for the scaling group. Valid values:'."\n" + ."\n" + .'- NoSpot: a regular pay-as-you-go instance.'."\n" + .'- SpotWithPriceLimit: a spot instance with a maximum price limit.'."\n" + .'- SpotAsPriceGo: a spot instance priced at the current market rate.'."\n" + ."\n" + .'Default value: NoSpot.', 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''], ], [ - 'name' => 'Effective', + 'name' => 'SystemDiskCategories', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The effective period of the event-triggered task.'."\n" - ."\n" - .'The Effective value follows the cron expression format. The default format is `X X X X X ?`. In the format:'."\n" - ."\n" - .'* X: a placeholder for a field, which represents seconds, minutes, hours, days, and months in sequence. X can be a definite value or a special character that has logical meaning. For information about the valid values of X, see [Cron expression](~~25907~~).'."\n" - .'* ?: No value is specified.'."\n" + 'description' => 'The system cloud disk types. If specified, this parameter overrides the system cloud disk types in the scaling configuration. Valid values:'."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: Enterprise SSD (ESSD).'."\n" ."\n" - .'> By default, the value of this parameter is specified in **UTC+8**. You can specify the time zone in the `TZ=+yy` format before a cron expression. y indicates the time zone. For example, `TZ=+00 * * 1-2 * * ?` specifies that the event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* ` * * * * * ? `: The event-triggered task is in effect at all times.'."\n" - .'* ` * * 17-18 * * ? `: The event-triggered task is in effect between 17:00:00 and 18:59:00 (UTC+8) every day.'."\n" - .'* `TZ=+00 * * 1-2 * * ?`: The event-triggered task is in effect between 01:00:00 and 02:59:00 (UTC+0) every day.'."\n", - 'type' => 'string', + .'> If you do not specify a scaling group ID, you must specify this parameter.', + 'type' => 'array', + 'items' => ['description' => 'The system cloud disk types. Valid values:'."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: Enterprise SSD (ESSD).', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''], 'required' => false, - 'example' => 'TZ=+00 * * 1-2 * * ?', + 'maxItems' => 50, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'AlarmAction', + 'name' => 'ScalingGroupIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.', + 'description' => 'The IDs of scaling groups for batch queries.', 'type' => 'array', - 'items' => [ - 'description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.', - 'type' => 'string', - 'required' => false, - 'example' => 'ari:acs:ess:cn-hangzhou:1406926****:scalingrule/asr-bp163l21e07uhn****', - ], + 'items' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''], 'required' => false, - 'example' => 'ari:acs:ess:cn-hangzhou:1406926****:scalingrule/asr-bp163l21e07uhn****', - 'maxItems' => 5, + 'maxItems' => 50, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Dimension', + 'name' => 'SpotStrategy', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The quota dimension.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The quota dimension.'."\n", - 'type' => 'object', - 'properties' => [ - 'DimensionKey' => [ - 'description' => 'The key of the metric dimension. The valid values vary based on the metric type.'."\n" - ."\n" - .'If you set the MetricType parameter to custom, you can specify this parameter based on your business requirements.'."\n" - ."\n" - .'If you set the MetricType parameter to system, this parameter has the following valid values:'."\n" - ."\n" - .'- user_id: the ID of your Alibaba Cloud account'."\n" - .'- scaling_group: the scaling group that you want to monitor'."\n" - .'- device: the type of the NIC'."\n" - .'- state: the status of the TCP connection', - 'type' => 'string', - 'required' => false, - 'example' => 'device', - ], - 'DimensionValue' => [ - 'description' => 'The value of the metric dimension. The valid values vary based on the value of the DimensionKey parameter.'."\n" - ."\n" - .'- If you set the MetricType parameter to custom, you can specify this parameter based on your business requirements.'."\n" - ."\n" - .'- If you set the MetricType parameter to system, the following rules apply:'."\n" - ."\n" - .' - If you set the DimensionKey parameter to user_id, the system specifies the value of the DimensionValue parameter.'."\n" - ."\n" - .' - If you set the DimensionKey parameter to scaling_group, the system specifies the value of the DimensionValue parameter.'."\n" - ."\n" - .' - If you set the DimensionKey parameter to device, you can set the DimensionValue parameter to eth0 or eth1.'."\n" - ."\n" - .' - For instances that reside in the classic network, eth0 specifies the internal NIC. Only one eth0 NIC exists on each instance that resides in a VPC.'."\n" - .' - For instances that reside in the classic network, eth1 specifies the public NIC.'."\n" - .' - If you set the DimensionKey parameter to state, you can set the DimensionValue parameter to TCP_TOTAL or ESTABLISHED.'."\n" - ."\n" - .' - TCP_TOTAL specifies the total number of TCP connections.'."\n" - .' - ESTABLISHED specifies the number of established TCP connections.', - 'type' => 'string', - 'required' => false, - 'example' => 'eth0', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 5, - ], + 'schema' => ['description' => 'The preemption policy for instances. Valid values:'."\n" + ."\n" + .'- NoSpot: a regular pay-as-you-go instance.'."\n" + .'- SpotWithPriceLimit: a spot instance with a maximum price limit.'."\n" + .'- SpotAsPriceGo: a spot instance priced at the current market rate.'."\n" + ."\n" + .'Default value: NoSpot.', 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''], ], [ - 'name' => 'Expression', + 'name' => 'VSwitchIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The expressions that are specified in the multi-metric alert rule.', + 'description' => 'The IDs of multiple vSwitches.'."\n" + .'> If you do not specify a scaling group ID, you must specify this parameter.', 'type' => 'array', - 'items' => [ - 'description' => 'The expressions that are specified in the multi-metric alert rule.', - 'type' => 'object', - 'properties' => [ - 'MetricName' => [ - 'description' => 'The name of the metric. Valid values of MetricName vary based on the value of MetricType.'."\n" - ."\n" - .'* If you set MetricType to custom, the valid values of MetricName are your custom metrics.'."\n" - ."\n" - .'* If you set MetricType to system, MetricName has the following valid values:'."\n" - ."\n" - .' * CpuUtilization: (ECS) the CPU utilization. Unit: %.'."\n" - .' * IntranetTx: the outbound traffic over the internal network from an ECS instance. Unit: KB/min.'."\n" - .' * IntranetRx: the inbound traffic over the internal network to an ECS instance. Unit: KB/min.'."\n" - .' * VpcInternetTx: the outbound traffic over the Internet from an ECS instance that resides in a virtual private cloud (VPC). Unit: KB/min.'."\n" - .' * VpcInternetRx: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.'."\n" - .' * SystemDiskReadBps: the number of bytes read from the system disk that is used by an ECS instance per second.'."\n" - .' * SystemDiskWriteBps: the number of bytes written to the system disk that is used by an ECS instance per second.'."\n" - .' * SystemDiskReadOps: the number of read operations on the system disk that is used by an ECS instance per second.'."\n" - .' * SystemDiskWriteOps: the number of write operations on the system disk that is used by an ECS instance per second.'."\n" - .' * CpuUtilizationAgent: the CPU utilization of an agent. Unit: %.'."\n" - .' * GpuMemoryFreeUtilizationAgent: the percentage of idle GPU memory of an agent.'."\n" - .' * GpuMemoryUtilizationAgent: the GPU memory usage of an agent. Unit: %.'."\n" - .' * MemoryUtilization: the memory usage of an agent. Unit: %.'."\n" - .' * LoadAverage: the average system load of an agent.'."\n" - .' * TcpConnection: the total number of TCP connections of an agent.'."\n" - .' * TcpConnection: the number of established TCP connections of an agent.'."\n" - .' * PackagesNetOut: the number of packets that are sent by the internal network interface controller (NIC) used by an agent.'."\n" - .' * PackagesNetIn: the number of packets that are received by the internal NIC used by an agent.'."\n" - .' * EciPodCpuUtilization: the CPU utilization of an elastic container instance. Unit: %.'."\n" - .' * EciPodMemoryUtilization: the memory usage of an elastic container instance. Unit: %.'."\n" - ."\n" - .'For more information, see [Event-triggered task for system monitoring](~~74854~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CpuUtilization', - ], - 'ComparisonOperator' => [ - 'description' => 'The operator that is used to compare the metric value and the metric threshold. Valid values:'."\n" - ."\n" - .'* If the metric value is greater than or equal to the metric threshold, set the value to `>=`.'."\n" - .'* If the metric value is less than or equal to the metric threshold, set the value to `<=`.'."\n" - .'* If the metric value is greater than the metric threshold, set the value to `>`.'."\n" - .'* If the metric value is less than the metric threshold, set the value to `<`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '>=', - ], - 'Period' => [ - 'description' => 'The period of time during which statistics about the metric is collected. Unit: seconds. Valid values:'."\n" - ."\n" - .'* 15'."\n" - .'* 60'."\n" - .'* 120'."\n" - .'* 300'."\n" - .'* 900'."\n" - ."\n" - .'> If your scaling group is of the ECS type and uses CloudMonitor metrics, you can set Period to 15. In other cases, you can set Period to 60, 120, 300, or 900. In most cases, the name of a CloudMonitor metric contains Agent.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '900', - ], - 'Statistics' => [ - 'description' => 'The method that is used to aggregate statistics for the metric. Valid values:'."\n" - ."\n" - .'* Average'."\n" - .'* Minimum'."\n" - .'* Maximum'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Average', - ], - 'Threshold' => [ - 'description' => 'The thresholds of the metric values. If the thresholds are reached the specified number of times within the specified period, a scaling rule is executed.', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '40.0', - ], - ], - 'required' => false, - ], + 'items' => ['description' => 'The IDs of multiple vSwitches.'."\n" + .'> If you do not specify a scaling group ID, you must specify this parameter.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1whw2u46cn8zubm****', 'title' => ''], 'required' => false, 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ExpressionsLogicOperator', + 'name' => 'ImageId', 'in' => 'query', - 'schema' => [ - 'description' => 'The relationship between the trigger conditions in the multi-metric alert rule. Valid values:'."\n" - ."\n" - .'* `&&`: An alert is triggered only if all metrics in the multi-metric alert rule meet the trigger conditions. In this case, an alert is triggered only if the results of all trigger conditions that are specified in the multi-metric alert rule are `true`.'."\n" - .'* \\`\\`: An alert is triggered as long as one of the metrics in the multi-metric alert rule meets the trigger condition.'."\n" - ."\n" - .'Default value: `&&`'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '&&', - ], - ], - ], - '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - ], + 'schema' => ['description' => 'The ID of the image file. The image resource used for automatic creation of instances.'."\n" + .'> If you do not specify a scaling group ID, you must specify at least one of ImageId, ImageName, or ImageFamily.', 'type' => 'string', 'required' => false, 'example' => 'centos6u5_64_20G_aliaegis****.vhd', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'CreateAlarm', - 'description' => '## Description'."\n" - ."\n" - .'* If you set the **MetricType** parameter to **custom**, you must report your custom metrics to CloudMonitor before you can create event-triggered tasks by using custom metrics. For more information, see [Custom monitoring event-triggered tasks](~~74861~~).'."\n" - ."\n" - .'* When you create an event-triggered task, you must specify the **MetricName**, **Dimension.N.DimensionKey**, and **Dimension.N.DimensionValue** parameters to determine the range of statistics that you want to aggregate for the metrics of the scaling group. For example, you can specify the **user_id** and **scaling_group** dimensions for an event-triggered task to aggregate monitoring data of all Elastic Compute Service (ECS) instances in a scaling group within an Alibaba Cloud account.'."\n" - ."\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 `Dimension.N.DimensionKey` and `Dimension.N.DimensionValue` parameters in the "Request parameters" section of this topic.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DeleteAlarm' => [ - 'summary' => '删除一个报警任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '92662', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', + 'name' => 'ImageName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the image. Image names are unique within a region. If ImageId is specified, ImageName is ignored.'."\n" + ."\n" + .'You cannot use ImageName to specify images from Alibaba Cloud Marketplace.'."\n" + .'> If you do not specify a scaling group ID, you must specify at least one of ImageId, ImageName, or ImageFamily.', 'type' => 'string', 'required' => false, 'example' => 'ubuntu_18_04_x64_20G_alibase_20231225.vhd', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ImageFamily', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The name of the image family. If you specify this parameter, the latest available image in the specified image family is used to create instances. If ImageId is already specified, you cannot specify this parameter.'."\n" + .'> If you do not specify a scaling group ID, you must specify at least one of ImageId, ImageName, or ImageFamily.', 'type' => 'string', 'required' => false, 'example' => 'CentOS7', 'title' => ''], ], [ - 'name' => 'AlarmTaskId', + 'name' => 'DataDiskCategories', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', + 'description' => 'The elastic strength when multiple data cloud disk types are specified. If a data cloud disk type does not match, the specific mismatched disk type is returned in the query result.'."\n" + .'> If you do not specify a scaling group ID, you can specify this parameter.', + 'type' => 'array', + 'items' => ['description' => 'The data cloud disk type. Valid values:'."\n" + ."\n" + .'- cloud: basic cloud disk'."\n" + .'- cloud_efficiency: ultra cloud disk'."\n" + .'- cloud_ssd: standard SSD'."\n" + .'- cloud_essd: Enterprise SSD (ESSD)'."\n" + .'- ephemeral_ssd: local SSD.', 'type' => 'string', 'required' => false, 'example' => 'cloud_essd', 'title' => ''], + 'required' => false, + 'maxItems' => 50, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'Ipv6AddressCount', + 'in' => 'query', + 'schema' => ['description' => 'The number of IPv6 addresses. If the instance type does not meet the IPv6 address count requirement, the elastic strength is degraded.'."\n" + .'> If you do not specify a scaling group ID, you can specify this parameter.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'AlarmTaskId' => [ - 'description' => 'The ID of the event-triggered task.'."\n", - 'type' => 'string', - 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + 'TotalStrength' => ['description' => 'The elastic strength of the scaling group. Each combination of instance type and zone is scored from 0 to 1 based on supply conditions, where 0 indicates low elastic strength and 1 indicates high elastic strength. The sum of scores for all instance type and zone combinations represents the elastic strength of the scaling group.'."\n" + .'>This parameter is deprecated.'."\n" + .'>.', 'type' => 'number', 'format' => 'double', 'example' => '1.5', 'title' => ''], + 'ElasticStrength' => ['description' => 'The elastic strength of the current scaling group. Valid values:'."\n" + ."\n" + .'- Strong: high elastic strength.'."\n" + .'- Medium: medium elastic strength.'."\n" + .'- Weak: low elastic strength.', 'type' => 'string', 'example' => 'Strong', 'title' => ''], + 'ResourcePools' => [ + 'description' => 'The elastic strength when querying a single scaling group.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Strength' => ['description' => 'The elastic strength of the resource pool.', 'type' => 'number', 'format' => 'double', 'example' => '0.6', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type of the resource pool.', 'type' => 'string', 'example' => 'ecs.c7t.xlarge', 'title' => ''], + 'ZoneId' => ['description' => 'The zone ID of the resource pool.', 'type' => 'string', 'example' => 'cn-hangzhou-g', 'title' => ''], + 'VSwitchIds' => [ + 'description' => 'The vSwitches in the zone of the resource pool.', + 'type' => 'array', + 'items' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'example' => 'vsw-2ze0uc933kantv******', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Code' => ['description' => 'The reason (error code) when the elastic strength is 0.', 'type' => 'string', 'example' => 'InstanceTypesOrDiskTypesNotSupported', 'title' => ''], + 'Msg' => ['description' => 'The reason (error description) when the elastic strength is 0.', 'type' => 'string', 'example' => 'The instanceTypes or diskTypes are not supported.', 'title' => ''], + 'Status' => ['description' => 'Indicates whether the resource pool is available. Valid values:'."\n" + ."\n" + .'- Available: available.'."\n" + .'- Unavailable: unavailable. Constraint violations, undeployed instance types, or out-of-stock instance types can cause the instance type to be unavailable.', 'type' => 'string', 'example' => 'Available', 'title' => ''], + 'InventoryHealth' => [ + 'description' => 'The inventory health information.', + 'type' => 'object', + 'properties' => [ + 'HealthScore' => ['description' => 'The inventory health score.'."\n" + ."\n" + .'- 5 to 6: indicates high supply certainty.'."\n" + .'- 1 to 4: indicates uncertain supply. Consider reservations as needed.'."\n" + .'- -3 to 0: indicates a supply health warning. Consider switching to a different instance type.'."\n" + ."\n" + .'Formula: `HealthScore` (inventory health score) = `AdequacyScore` (adequacy) + `SupplyScore` (replenishment capability) - `HotScore` (demand intensity).', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'AdequacyScore' => ['description' => 'The adequacy score.'."\n" + ."\n" + .'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'SupplyScore' => ['description' => 'The replenishment capability score.'."\n" + ."\n" + .'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'HotScore' => ['description' => 'The demand intensity score.'."\n" + ."\n" + .'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ElasticStrength' => ['description' => 'The elastic strength of the current resource pool, which takes into account both the inventory health and current inventory status of the resource pool. Valid values:'."\n" + ."\n" + .'- Strong: high elastic strength.'."\n" + .'- Medium: medium elastic strength.'."\n" + .'- Weak: low elastic strength.', 'type' => 'string', 'example' => 'Medium', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****', + 'ElasticStrengthModels' => [ + 'description' => 'The elastic strength when querying scaling groups in batches.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ScalingGroupId' => ['description' => 'The scaling group ID.', 'type' => 'string', 'example' => 'asg-wz98mnj7nblv9gc****', 'title' => ''], + 'ElasticStrength' => ['description' => 'The elastic strength of the current scaling group. Valid values:'."\n" + ."\n" + .'- Strong: high elastic strength.'."\n" + .'- Medium: medium elastic strength.'."\n" + .'- Weak: low elastic strength.', 'type' => 'string', 'example' => 'Strong', 'title' => ''], + 'TotalStrength' => ['description' => 'The elastic strength of the current scaling group. Each combination of instance type and zone is scored from 0 to 1 based on supply conditions, where 0 indicates low elastic strength and 1 indicates high elastic strength. The sum of scores for all instance type and zone combinations represents the elastic strength of the scaling group.'."\n" + .'>This parameter is deprecated.'."\n" + .'>.', 'type' => 'number', 'format' => 'double', 'example' => '5', 'title' => ''], + 'ResourcePools' => [ + 'description' => 'The elastic strength information for each resource pool.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The instance type of the resource pool.', 'type' => 'string', 'example' => 'ecs.r7.large', 'title' => ''], + 'Strength' => ['description' => 'The elastic strength of the resource pool.'."\n" + .'>This parameter is deprecated.'."\n" + .'>.', 'type' => 'number', 'format' => 'double', 'example' => '0.6', 'title' => ''], + 'ZoneId' => ['description' => 'The zone ID of the resource pool.', 'type' => 'string', 'example' => 'cn-hangzhou-g', 'title' => ''], + 'VSwitchIds' => [ + 'description' => 'The vSwitches in the zone of the resource pool.', + 'type' => 'array', + 'items' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'example' => 'vsw-2ze6e8p4aid08lymlsguv', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Code' => ['description' => 'The reason (error code) when the elastic strength is 0.', 'type' => 'string', 'example' => 'InstanceTypesOrDiskTypesNotSupported', 'title' => ''], + 'Msg' => ['description' => 'The reason (error description) when the elastic strength is 0.', 'type' => 'string', 'example' => 'The instanceTypes or diskTypes are not supported.', 'title' => ''], + 'Status' => ['description' => 'Indicates whether the resource pool is available. Valid values:'."\n" + ."\n" + .'- Available: available.'."\n" + .'- Unavailable: unavailable. Constraint violations, undeployed instance types, or out-of-stock instance types can cause the instance type to be unavailable.', 'type' => 'string', 'example' => 'Available', 'title' => ''], + 'InventoryHealth' => [ + 'description' => 'The inventory health information.', + 'type' => 'object', + 'properties' => [ + 'HealthScore' => ['description' => 'The inventory health score.'."\n" + ."\n" + .'- 5 to 6: indicates high supply certainty.'."\n" + .'- 1 to 4: indicates uncertain supply. Consider reservations as needed.'."\n" + .'- -3 to 0: indicates a supply health warning. Consider switching to a different instance type.'."\n" + ."\n" + .'Formula: `HealthScore` (inventory health score) = `AdequacyScore` (adequacy) + `SupplyScore` (replenishment capability) - `HotScore` (demand intensity).', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'AdequacyScore' => ['description' => 'The adequacy score.'."\n" + ."\n" + .'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'SupplyScore' => ['description' => 'The replenishment capability score.'."\n" + ."\n" + .'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'HotScore' => ['description' => 'The demand intensity score.'."\n" + ."\n" + .'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ElasticStrength' => ['description' => 'The elastic strength of the current resource pool, which takes into account both the inventory health and current inventory status of the resource pool. Valid values:'."\n" + ."\n" + .'- Strong: high elastic strength.'."\n" + .'- Medium: medium elastic strength.'."\n" + .'- Weak: low elastic strength.', 'type' => 'string', 'example' => 'Strong', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\",\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\n 6EF9BFEE-FE07-4627-B8FB-14326FB9****\\n","errorExample":""}]', - 'title' => 'DeleteAlarm', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DeleteAlarm\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DisableAlarm' => [ - 'summary' => '停用一个报警任务', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"TotalStrength\\": 1.5,\\n \\"ElasticStrength\\": \\"Strong\\",\\n \\"ResourcePools\\": [\\n {\\n \\"Strength\\": 0.6,\\n \\"InstanceType\\": \\"ecs.c7t.xlarge\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-2ze0uc933kantv******\\"\\n ],\\n \\"Code\\": \\"InstanceTypesOrDiskTypesNotSupported\\",\\n \\"Msg\\": \\"The instanceTypes or diskTypes are not supported.\\",\\n \\"Status\\": \\"Available\\",\\n \\"InventoryHealth\\": {\\n \\"HealthScore\\": 3,\\n \\"AdequacyScore\\": 3,\\n \\"SupplyScore\\": 3,\\n \\"HotScore\\": 3\\n },\\n \\"ElasticStrength\\": \\"Medium\\"\\n }\\n ],\\n \\"ElasticStrengthModels\\": [\\n {\\n \\"ScalingGroupId\\": \\"asg-wz98mnj7nblv9gc****\\",\\n \\"ElasticStrength\\": \\"Strong\\",\\n \\"TotalStrength\\": 5,\\n \\"ResourcePools\\": [\\n {\\n \\"InstanceType\\": \\"ecs.r7.large\\",\\n \\"Strength\\": 0.6,\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-2ze6e8p4aid08lymlsguv\\"\\n ],\\n \\"Code\\": \\"InstanceTypesOrDiskTypesNotSupported\\",\\n \\"Msg\\": \\"The instanceTypes or diskTypes are not supported.\\",\\n \\"Status\\": \\"Available\\",\\n \\"InventoryHealth\\": {\\n \\"HealthScore\\": 3,\\n \\"AdequacyScore\\": 3,\\n \\"SupplyScore\\": 2,\\n \\"HotScore\\": 0\\n },\\n \\"ElasticStrength\\": \\"Strong\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query elastic strength of a scaling group', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeElasticStrength'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeElasticStrength', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeInstanceRefreshes' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92693', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '232225', + 'abilityTreeNodes' => ['FEATUREessACRSW1'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'AlarmTaskId', + 'name' => 'NextToken', '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****', - ], - ], - ], + 'schema' => ['description' => 'The pagination token. Set this parameter to the NextToken value returned in the previous call. You do not need to set this parameter for the first request.', 'type' => 'string', 'docRequired' => false, 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"086EFCD4-C76F-4DC6-9EE9-0D9B711E****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 086EFCD4-C76F-4DC6-9EE9-0D9B711E****\\n","errorExample":""}]', - 'title' => 'DisableAlarm', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DisableAlarm\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'EnableAlarm' => [ - 'summary' => '启用一个报警任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of entries per page in a paging query. Valid values: 1 to 50. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'maximum' => '50', 'default' => '10', 'example' => '10', 'title' => ''], ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92695', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => false, 'example' => 'asg-bp1ffogfdauy0jw0****', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'InstanceRefreshTaskId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The region ID of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-qingdao', + 'description' => 'The ID of the instance refresh task that you want to query.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the instance refresh task that you want to query. Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'ir-adfa12312*****', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'AlarmTaskId', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'NextToken' => ['description' => 'The pagination token for the next query. If this parameter is empty, no more results exist.', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f****', 'title' => ''], + 'MaxResults' => ['description' => 'The maximum number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of instance refresh tasks.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'InstanceRefreshTasks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceRefreshTask' => [ + 'description' => 'The list of instance refresh tasks.', + 'type' => 'array', + 'items' => [ + 'description' => 'The instance refresh task.', + 'type' => 'object', + 'properties' => [ + 'InstanceRefreshTaskId' => ['description' => 'The ID of the instance refresh task.', 'type' => 'string', 'example' => 'ir-1adfa123****', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'example' => 'asg-bp16pbfcr8j9*****', 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'EndTime' => ['description' => 'The end time of the instance refresh task.', 'type' => 'string', 'example' => '2024-08-22T02:09:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The start time of the instance refresh task.', 'type' => 'string', 'example' => '2024-08-22T01:09:00Z', 'title' => ''], + 'Status' => ['description' => 'The current status of the instance refresh task. Valid values:'."\n" + ."\n" + .'- Pending: The instance refresh task is created and waiting to be scheduled.'."\n" + .'- InProgress: The instance refresh task is in progress.'."\n" + .'- Paused: The instance refresh task is paused.'."\n" + .'- CheckpointPause: The instance refresh task is paused because the task progress reached a checkpoint (`Checkpoint.Percentage`).'."\n" + .'- Failed: The instance refresh task failed.'."\n" + .'- Successful: The instance refresh task succeeded.'."\n" + .'- Cancelling: The instance refresh task is being canceled.'."\n" + .'- Cancelled: The instance refresh task is canceled.'."\n" + .'- RollbackInProgress: The instance refresh task is being rolled back.'."\n" + .'- RollbackSuccessful: The instance refresh task is rolled back.'."\n" + .'- RollbackFailed: The instance refresh task rollback failed.', 'type' => 'string', 'example' => 'InProgress', 'title' => ''], + 'Detail' => ['description' => 'The failure reason when the instance refresh task fails.', 'type' => 'string', 'example' => 'The task exceeded its maximum run time of one week. So the task failed.', 'title' => ''], + 'MinHealthyPercentage' => ['description' => 'The minimum percentage of instances that must remain in service in the scaling group during the instance refresh.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'MaxHealthyPercentage' => ['description' => 'The maximum percentage by which the number of instances in the scaling group can exceed the scaling group capacity during the instance refresh.', 'type' => 'integer', 'format' => 'int32', 'example' => '120', 'title' => ''], + 'DesiredConfiguration' => [ + 'description' => 'The desired configuration for the instance refresh.', + 'type' => 'object', + 'properties' => [ + 'ImageId' => ['description' => 'The ID of the image file used for automatic creation of instances.', 'type' => 'string', 'example' => 'm-uf6g5noisr****', 'title' => ''], + 'ScalingConfigurationId' => ['description' => 'The ID of the scaling configuration.', 'type' => 'string', 'example' => 'asc-wz91ibkhfor****', 'title' => ''], + 'LaunchTemplateId' => ['description' => 'The ID of the launch template from which the scaling group obtains launch configuration information.', 'type' => 'string', 'example' => 'lt-2ze5x4mp*****', 'title' => ''], + 'LaunchTemplateVersion' => ['description' => 'The version of the launch template. Valid values:'."\n" + ."\n" + .'- A fixed template version number.'."\n" + .'- Default: always uses the default version of the template.'."\n" + .'- Latest: always uses the latest version of the template.', 'type' => 'string', 'example' => 'Latest', 'title' => ''], + 'LaunchTemplateOverrides' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LaunchTemplateOverride' => [ + 'description' => 'The instance type information that extends the launch template.', + 'type' => 'array', + 'items' => [ + 'description' => 'The instance type information that extends the launch template.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The specified instance type, which overrides the instance type in the launch template.', 'type' => 'string', 'example' => 'ecs.g7.2xlarge', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Containers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Container' => [ + 'description' => 'The list of containers in the instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of containers in the instance.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The custom container name.', 'type' => 'string', 'example' => 'name', 'title' => ''], + 'Image' => ['description' => 'The container image.', 'type' => 'string', 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', 'title' => ''], + 'Commands' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Command' => [ + 'description' => 'The container startup command.', + 'type' => 'array', + 'items' => ['description' => 'The container startup command.', 'type' => 'string', 'example' => 'sleep', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'EnvironmentVars' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EnvironmentVar' => [ + 'description' => 'The environment variable information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The environment variable information.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable.', 'type' => 'string', 'example' => 'PATH', 'title' => ''], + 'Value' => ['description' => 'The value of the environment variable.', 'type' => 'string', 'example' => '/usr/local/bin', 'title' => ''], + 'FieldRefFieldPath' => ['description' => '> This parameter is not available for use.', 'type' => 'string', 'example' => 'fieldPath', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Args' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Arg' => [ + 'description' => 'The arguments for the container startup command.', + 'type' => 'array', + 'items' => ['description' => 'The arguments for the container startup command.', 'type' => 'string', 'example' => '100', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'FinishedUpdateCapacity' => ['description' => 'The capacity that has been refreshed.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'TotalNeedUpdateCapacity' => ['description' => 'The total capacity that needs to be refreshed.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'SkipMatching' => ['description' => 'Specifies whether to skip instances that already match the desired configuration.'."\n" + ."\n" + .'> The system determines whether an instance matches based on the ID of the desired scaling configuration, not by comparing individual configuration items.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- true: Instances that were already created with the desired configuration are skipped during the refresh.'."\n" + .'- false: All instances in the scaling group are refreshed when the instance refresh task starts.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'CheckpointPauseTime' => ['description' => 'The pause duration when the refresh task reaches a checkpoint. Unit: minutes.', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'Checkpoints' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Checkpoint' => [ + 'description' => 'The refresh task checkpoint. When the proportion of new instances reaches the specified value during the instance refresh, the task is automatically paused for CheckpointPauseTime minutes.', + 'type' => 'array', + 'items' => [ + 'description' => 'The refresh task checkpoint. When the proportion of new instances reaches the specified value during the instance refresh, the task is automatically paused for CheckpointPauseTime minutes.', + 'type' => 'object', + 'properties' => [ + 'Percentage' => ['description' => 'The percentage of new instances relative to the total instances in the scaling group. The task is automatically paused when this percentage is reached.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Strategy' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '688B18B8-FB1E-42EB-A1ED-7F55B090****', - ], + 'title' => 'DescribeInstanceRefreshes', + 'summary' => 'Queries instance refresh tasks for a scaling group, including basic information and progress of each task.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeInstanceRefreshes', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"688B18B8-FB1E-42EB-A1ED-7F55B090****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 688B18B8-FB1E-42EB-A1ED-7F55B090****\\n","errorExample":""}]', - 'title' => 'EnableAlarm', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=EnableAlarm\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f****\\",\\n \\"MaxResults\\": 50,\\n \\"TotalCount\\": 100,\\n \\"InstanceRefreshTasks\\": {\\n \\"InstanceRefreshTask\\": [\\n {\\n \\"InstanceRefreshTaskId\\": \\"ir-1adfa123****\\",\\n \\"ScalingGroupId\\": \\"asg-bp16pbfcr8j9*****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"EndTime\\": \\"2024-08-22T02:09:00Z\\",\\n \\"StartTime\\": \\"2024-08-22T01:09:00Z\\",\\n \\"Status\\": \\"InProgress\\",\\n \\"Detail\\": \\"The task exceeded its maximum run time of one week. So the task failed.\\",\\n \\"MinHealthyPercentage\\": 80,\\n \\"MaxHealthyPercentage\\": 120,\\n \\"DesiredConfiguration\\": {\\n \\"ImageId\\": \\"m-uf6g5noisr****\\",\\n \\"ScalingConfigurationId\\": \\"asc-wz91ibkhfor****\\",\\n \\"LaunchTemplateId\\": \\"lt-2ze5x4mp*****\\",\\n \\"LaunchTemplateVersion\\": \\"Latest\\",\\n \\"LaunchTemplateOverrides\\": {\\n \\"LaunchTemplateOverride\\": [\\n {\\n \\"InstanceType\\": \\"ecs.g7.2xlarge\\"\\n }\\n ]\\n },\\n \\"Containers\\": {\\n \\"Container\\": [\\n {\\n \\"Name\\": \\"name\\",\\n \\"Image\\": \\"registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest\\",\\n \\"Commands\\": {\\n \\"Command\\": [\\n \\"sleep\\"\\n ]\\n },\\n \\"EnvironmentVars\\": {\\n \\"EnvironmentVar\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/local/bin\\",\\n \\"FieldRefFieldPath\\": \\"fieldPath\\"\\n }\\n ]\\n },\\n \\"Args\\": {\\n \\"Arg\\": [\\n \\"100\\"\\n ]\\n }\\n }\\n ]\\n }\\n },\\n \\"FinishedUpdateCapacity\\": 10,\\n \\"TotalNeedUpdateCapacity\\": 20,\\n \\"SkipMatching\\": true,\\n \\"CheckpointPauseTime\\": 30,\\n \\"Checkpoints\\": {\\n \\"Checkpoint\\": [\\n {\\n \\"Percentage\\": 60\\n }\\n ]\\n },\\n \\"Strategy\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], - 'ModifyAlarm' => [ - 'summary' => '修改报警任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeLifecycleActions' => [ + 'summary' => 'Queries lifecycle tokens by scaling activity ID and status.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92703', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '92674', + 'abilityTreeNodes' => ['FEATUREess54US0Q'], ], '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', + 'name' => 'ScalingActivityId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the metric. The valid values vary based on the metric type.'."\n" - ."\n" - .'* If you set **MetricType** to **custom**, the valid values are your custom metrics.'."\n" - ."\n" - .'* If you set **MetricType** to **system**, the **MetricName** parameter has the following valid values:'."\n" - ."\n" - .' * **CpuUtilization**: the CPU utilization of an ECS instance. Unit: %.'."\n" - .' * **IntranetTx**: the outbound traffic over the internal network from an ECS instance. Unit: KB/min.'."\n" - .' * **IntranetRx**: the inbound traffic over the Internet to an ECS instance that resides in a virtual private cloud (VPC). Unit: KB/min.'."\n" - .' * **VpcInternetTx**: the outbound traffic over the Internet from an ECS instance that resides in a VPC. Unit: KB/min.'."\n" - .' * **VpcInternetRx**: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.'."\n" - .' * **SystemDiskReadBps**: the number of bytes read from the system disk used by an ECS instance per second.'."\n" - .' * **SystemDiskWriteBps**: the number of bytes written to the system disk used by an ECS instance per second.'."\n" - .' * **SystemDiskReadOps**: the number of read operations on the system disk used by an ECS instance per second.'."\n" - .' * **SystemDiskWriteOps**: the number of write operations on the system disk used by an ECS instance per second.'."\n" - .' * **CpuUtilizationAgent**: the CPU utilization of an agent. Unit: %.'."\n" - .' * **GpuUtilizationAgent**: the GPU utilization of an agent. Unit: %.'."\n" - .' * **GpuMemoryFreeUtilizationAgent**: the percentage of idle GPU memory of an agent.'."\n" - .' * **GpuMemoryUtilizationAgent**: the GPU memory usage of an agent. Unit: %.'."\n" - .' * **MemoryUtilization**: the memory usage of an agent. Unit: %.'."\n" - .' * **LoadAverage**: the average system load of an agent.'."\n" - .' * **TcpConnection**: the total number of TCP connections of an agent.'."\n" - .' * **TcpConnection**: the number of established TCP connections of an agent.'."\n" - .' * **PackagesNetOut**: the number of packets that are sent by the internal network interface controller (NIC) used by an agent.'."\n" - .' * **PackagesNetIn**: the number of packets that are received by the internal NIC used by an agent.'."\n" - .' * **EciPodCpuUtilization**: the CPU utilization of an elastic container instance. Unit: %.'."\n" - .' * **EciPodMemoryUtilization**: the memory usage of an elastic container instance. Unit: %.'."\n" - ."\n" - .'For more information, see [Event-triggered task for system monitoring](~~74854~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'MemoryUtilization', - ], + 'schema' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'required' => true, 'example' => 'asa-bp17mug9t0pegagw****', 'title' => ''], ], [ - 'name' => 'MetricType', + 'name' => 'LifecycleActionStatus', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the metric. Valid values:'."\n" - ."\n" - .'* system: system metrics of CloudMonitor'."\n" - .'* custom: custom metrics that are reported to CloudMonitor'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'system', - 'default' => 'system', - ], + 'schema' => ['description' => 'The status of the lifecycle action. Valid values:'."\n" + ."\n" + .'- Pending: The ECS instance is still in the wait state.'."\n" + .'- Timeout: The timeout period of the lifecycle hook has been reached, and the wait state of the ECS instance is automatically ended.'."\n" + .'- Completed: You manually ended the wait state of the ECS instance ahead of schedule.', 'type' => 'string', 'required' => false, 'example' => 'Pending', 'title' => ''], ], [ - 'name' => 'Period', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The period during which the statistical value of the metric is collected. Unit: seconds. Valid values:'."\n" - ."\n" - .'* 15'."\n" - ."\n" - .'* 60'."\n" - ."\n" - .'* 120'."\n" - ."\n" - .'* 300'."\n" - ."\n" - .'* 900'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** If your scaling group is of the ECS type and the event-triggered task associated with your scaling group monitors CloudMonitor metrics, you can set the **Period** parameter to **15**. Otherwise, you can set the **Period **parameter to **60**, **120**, **300**, or **900**. In most cases, the name of a CloudMonitor metric contains Agent.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '300', - ], + 'schema' => ['description' => 'The pagination token that is used to specify the position from which to start the query.'."\n" + ."\n" + .'For example, if you queried 10 lifecycle actions in the previous request, you can set this parameter to the value of NextToken returned in the previous response to query lifecycle actions starting from the 11th one. If you do not specify this parameter, the query starts from the beginning.', 'type' => 'string', 'required' => false, 'example' => 'AAAAAcSz4VTb1Nq****', 'title' => ''], ], [ - 'name' => 'Statistics', + 'name' => 'MaxResults', 'in' => 'query', - 'schema' => [ - 'description' => 'The method that is used to collect statistics about the metric. Valid values:'."\n" - ."\n" - .'* Average'."\n" - .'* Minimum'."\n" - .'* Maximum'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Average', - ], + 'schema' => ['description' => 'The maximum number of entries per page. Valid values: 1 to 50.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'Threshold', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The threshold of the metric value. If the threshold is reached *N* times within the specified period, a scaling rule is executed.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '80', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], ], - [ - 'name' => 'ComparisonOperator', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The operator that is used to compare the metric value and the threshold.'."\n" - ."\n" - .'* If the metric value is greater than or equal to the threshold, set the value to `>=`.'."\n" - .'* If the metric value is less than or equal to the threshold, set the value to `<=`.'."\n" - .'* If the metric value is greater than the threshold, set the value to `>`.'."\n" - .'* If the metric value is less than the threshold, set the value to `<`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '>=', + 'type' => 'object', + 'properties' => [ + 'NextToken' => ['description' => 'The pagination token returned in this response.', 'type' => 'string', 'example' => 'AAAAAcSz4VTb1Nq****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '42A742EB-FCF3-459E-9C62-E107048C17E3', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of lifecycle actions returned in this query.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'MaxResults' => ['description' => 'The maximum number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'LifecycleActions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LifecycleAction' => [ + 'description' => 'The list of lifecycle actions that correspond to lifecycle hooks.', + 'type' => 'array', + 'items' => [ + 'description' => 'The lifecycle action that corresponds to a lifecycle hook.', + 'type' => 'object', + 'properties' => [ + 'LifecycleHookId' => ['description' => 'The ID of the lifecycle hook.', 'type' => 'string', 'example' => 'ash-bp18uoft0deax0f7****', 'title' => ''], + 'LifecycleActionToken' => ['description' => 'The identifier of the lifecycle action.', 'type' => 'string', 'example' => '9C2E9DA7-F794-449A-ACF6-CEE24444****', 'title' => ''], + 'LifecycleActionStatus' => ['description' => 'The status of the lifecycle action.', 'type' => 'string', 'example' => 'Pending', 'title' => ''], + 'LifecycleActionResult' => ['description' => 'The next action to take after the lifecycle action triggered by the lifecycle hook is complete. Valid values:'."\n" + ."\n" + .'- CONTINUE: Auto Scaling continues to respond to a scale-out activity and adds the ECS instance to the scaling group, or continues to respond to a scale-down activity and removes the ECS instance from the scaling group.'."\n" + .'- ABANDON: Auto Scaling terminates the scale-out activity and releases the created ECS instance, or continues to respond to a scale-down activity and removes the ECS instance from the scaling group.', 'type' => 'string', 'example' => 'CONTINUE', 'title' => ''], + 'InstanceIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceId' => [ + 'description' => 'The list of IDs of ECS instances that are suspended by the lifecycle hook.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the ECS instance that is suspended by the lifecycle hook.', 'type' => 'string', 'example' => '["i-bp11m3fzlqrgk5vh****","i-bp11m3fzlqrgk5vh****"]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => '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', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"AAAAAcSz4VTb1Nq****\\",\\n \\"RequestId\\": \\"42A742EB-FCF3-459E-9C62-E107048C17E3\\",\\n \\"TotalCount\\": 3,\\n \\"MaxResults\\": 3,\\n \\"LifecycleActions\\": {\\n \\"LifecycleAction\\": [\\n {\\n \\"LifecycleHookId\\": \\"ash-bp18uoft0deax0f7****\\",\\n \\"LifecycleActionToken\\": \\"9C2E9DA7-F794-449A-ACF6-CEE24444****\\",\\n \\"LifecycleActionStatus\\": \\"Pending\\",\\n \\"LifecycleActionResult\\": \\"CONTINUE\\",\\n \\"InstanceIds\\": {\\n \\"InstanceId\\": [\\n \\"[\\\\\\"i-bp11m3fzlqrgk5vh****\\\\\\",\\\\\\"i-bp11m3fzlqrgk5vh****\\\\\\"]\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query lifecycle tokens', + 'description' => '## Operation description'."\n" + ."\n" + .'If a scaling activity that matches the type applicable to a lifecycle hook occurs in a scaling group, each lifecycle hook triggers a lifecycle action. A lifecycle action can be in one of the following states:'."\n" + ."\n" + .'- Pending: The ECS instance is still in the wait state.'."\n" + .'- Timeout: The timeout period of the lifecycle hook has elapsed, and the wait state of the ECS instance is automatically ended.'."\n" + .'- Completed: You manually ended the wait state of the ECS instance ahead of schedule.'."\n" + ."\n" + .'If you did not configure a subsequent action when you created the lifecycle hook, such as triggering a specific OOS template after the wait state ends, you can call this operation to obtain the identifier of the lifecycle action that corresponds to the current scaling activity. This way, you can customize subsequent actions.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidParameter|The specified value of parameter "ScalingActivityId" is not valid.|The specified ScalingActivityId parameter is invalid.|'."\n" + .'|400|InvalidParameter|The specified value of parameter "MaxResults" is not valid.|The specified MaxResults parameter is invalid.|'."\n" + .'|400|InvalidParameter|The specified value of parameter "LifecycleActionStatus" is not valid.|The specified LifecycleActionStatus parameter is invalid.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLifecycleActions'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeLifecycleActions', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + ], + 'DescribeLifecycleHooks' => [ + 'summary' => 'Queries lifecycle hooks.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => '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', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '92675', + 'abilityTreeNodes' => ['FEATUREess54US0Q'], + ], + 'parameters' => [ [ - 'name' => 'Effective', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The effective period of the event-triggered task.'."\n" - ."\n" - .'This parameter follows the cron expression format. The default format is `X X X X X ?`, in which:'."\n" - ."\n" - .'* X: a placeholder for a field, which represents seconds, minutes, hours, days, and months in sequence. X can be a definite value or a special character that has logical meaning. For information about the valid values of X, see [Cron expression](~~25907~~).'."\n" - .'* ?: No value is specified.'."\n" - ."\n" - .'> **By default, the value of this parameter is specified in UTC+8**. You can specify the time zone before a cron expression in the `TZ=+yy` format. y indicates the time zone. For example, `TZ=+00 * * 1-2 * * ?` specifies that the event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.'."\n" - ."\n" - .'Sample values:'."\n" - ."\n" - .'* ` * * * * * ? `: The event-triggered task is in effect all the time.'."\n" - .'* ` * * 17-18 * * ? `: The event-triggered task is in effect between 17:00 and 18:59 (UTC+8) every day.'."\n" - .'* `TZ=+00 * * 1-2 * * ?`: The event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TZ=+00 * * 1-2 * * ?', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], ], [ - 'name' => 'AlarmAction', + 'name' => 'LifecycleHookName', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The unique identifiers of the scaling rules that are associated with the event-triggered task.', - 'type' => 'array', - 'items' => [ - 'description' => 'The unique identifier of scaling rule *N* that is associated with the event-triggered task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ari:acs:ess:cn-hangzhou:140692647****:scalingrule/asr-bp163l21e07uhn****', - ], - 'required' => false, - 'example' => 'ari:acs:ess:cn-hangzhou:140692647****:scalingrule/asr-bp163l21e07uhn****', - 'maxItems' => 5, - ], + 'schema' => ['description' => 'The name of the lifecycle hook.', 'type' => 'string', 'required' => false, 'example' => 'lifecyclehook****', 'title' => ''], ], [ - 'name' => 'Dimension', + 'name' => 'PageNumber', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The dimensions of the metric.', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'DimensionKey' => [ - 'description' => 'The key of dimension *N* that is associated with the metric. The valid values vary based on the metric type.'."\n" - ."\n" - .'* If you set **MetricType** to **custom**, you can specify this parameter based on your business requirements.'."\n" - ."\n" - .'* If you set **MetricType** to **system**, this parameter has the following valid values:'."\n" - ."\n" - .' * **user_id**: the ID of your Alibaba Cloud account'."\n" - .' * **scaling_group**: the scaling group that you want to monitor'."\n" - .' * **device**: the type of the NIC'."\n" - .' * **state**: the status of the TCP connection'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'device', - ], - 'DimensionValue' => [ - 'description' => 'The value of dimension *N *that is associated with the metric. The valid values vary based on the value of **Dimension.N.DimensionKey**.'."\n" - ."\n" - .'* If you set **Dimension.N.DimensionKey** to a custom value, you can specify this parameter based on your business requirements.'."\n" - ."\n" - .'* If the value of **Dimension.N.DimensionKey** is specified by the system, this parameter has the following valid values:'."\n" - ."\n" - .' * **user_id**: The system specifies the value.'."\n" - ."\n" - .' * **scaling_group**: The system specifies the value.'."\n" - ."\n" - .' * **device**: You can set this parameter to **eth0 **or **eth1**.'."\n" - ."\n" - .' * For instances that reside in the classic network type, **eth0 **specifies the internal NIC. Only one eth0 NIC exists on each instance that resides in a VPC.'."\n" - .' * For instances that reside in the classic network, **eth1 **specifies the public NIC.'."\n" - ."\n" - .' * **state**: You can set this parameter to **TCP_TOTAL **or **ESTABLISHED**.'."\n" - ."\n" - .' * **TCP_TOTAL **specifies the total number of TCP connections.'."\n" - .' * **ESTABLISHED **specifies the number of established TCP connections.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'eth0', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 5, - ], + 'schema' => ['description' => 'The page number of the instance status list. Minimum value: 1.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'Expression', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The expressions that are specified in the multi-metric alert rule.', - 'type' => 'array', - 'items' => [ - 'description' => 'The expression that is specified in the multi-metric alert rule.', - 'type' => 'object', - 'properties' => [ - 'MetricName' => [ - 'description' => 'The names of the metrics that are specified in the multi-metric alert rule. The valid values vary based on the metric type.'."\n" - ."\n" - .'* If you set **MetricType **to **custom**, the valid values are your custom metrics.'."\n" - ."\n" - .'* If you set **MetricType **to **system**, this parameter has the following valid values:'."\n" - ."\n" - .' * **CpuUtilization**: the CPU utilization of an ECS instance. Unit: %.'."\n" - .' * **IntranetTx**: the outbound traffic over the internal network from an ECS instance. Unit: KB/min.'."\n" - .' * **IntranetRx**: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.'."\n" - .' * **VpcInternetTx**: the outbound traffic over the Internet from an ECS instance that resides in a VPC. Unit: KB/min.'."\n" - .' * **VpcInternetRx**: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.'."\n" - .' * **SystemDiskReadBps**: the number of bytes read from the system disk used by an ECS instance per second.'."\n" - .' * **SystemDiskWriteBps**: the number of bytes written to the system disk used by an ECS instance per second.'."\n" - .' * **SystemDiskReadOps**: the number of read operations on the system disk used by an ECS instance per second.'."\n" - .' * **SystemDiskWriteOps**: the number of write operations on the system disk used by an ECS instance per second.'."\n" - .' * **CpuUtilizationAgent**: the CPU utilization of an agent. Unit: %.'."\n" - .' * **GpuUtilizationAgent**: the GPU utilization of an agent. Unit: %.'."\n" - .' * **GpuMemoryFreeUtilizationAgent**: the percentage of idle GPU memory of an agent.'."\n" - .' * **GpuMemoryUtilizationAgent**: the GPU memory usage of an agent. Unit: %.'."\n" - .' * **MemoryUtilization**: the memory usage of an agent. Unit: %.'."\n" - .' * **LoadAverage**: the average system load of an agent.'."\n" - .' * **TcpConnection**: the total number of TCP connections of an agent.'."\n" - .' * **TcpConnection**: the number of established TCP connections of an agent.'."\n" - .' * **PackagesNetOut**: the number of packets that are sent by the internal NIC used by an agent.'."\n" - .' * **PackagesNetIn**: the number of packets that are received by the internal NIC used by an agent.'."\n" - .' * **EciPodCpuUtilization**: the CPU utilization of an elastic container instance. Unit: %.'."\n" - .' * **EciPodMemoryUtilization**: the memory usage of an elastic container instance. Unit: %.'."\n" - ."\n" - .'For more information, see [Event-triggered task for system monitoring](~~74854~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CpuUtilization', - ], - 'ComparisonOperator' => [ - 'description' => 'The operator that is used to compare the metric value and the threshold.'."\n" - ."\n" - .'* If the metric value is greater than or equal to the threshold, set the value to **>=**.'."\n" - .'* If the metric value is less than or equal to the threshold, set the value to **<=**.'."\n" - .'* If the metric value is greater than the threshold, set the value to** >**.'."\n" - .'* If the metric value is less than the threshold, set the value to **<**.'."\n" - ."\n" - .'Default value: **>=**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '>=', - ], - 'Period' => [ - 'description' => 'The period during which the statistical values of the metrics that are specified in the multi-metric alert rule are collected. Unit: seconds.'."\n" - ."\n" - .'* 15'."\n" - ."\n" - .'* 60'."\n" - ."\n" - .'* 120'."\n" - ."\n" - .'* 300'."\n" - ."\n" - .'* 900'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** If your scaling group is of the ECS type and the event-triggered task associated with your scaling group monitors CloudMonitor metrics, you can set the **Period** parameter to **15**. Otherwise, you can set the **Period** parameter to **60**, **120**, **300**, or **900**. In most cases, the name of a CloudMonitor metric contains Agent.'."\n" - ."\n" - .' Default value: 300.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '300', - ], - 'Statistics' => [ - 'description' => 'The method that is used to aggregate statistics about the metrics that are specified in the multi-metric alert rule. Valid values:'."\n" - ."\n" - .'* Average'."\n" - .'* Minimum'."\n" - .'* Maximum'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Average', - ], - 'Threshold' => [ - 'description' => 'The thresholds of the metric values. If the thresholds are reached *N* times within the specified period, a scaling rule is executed.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '40.0', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 10, - ], + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page for a paged query. Maximum value: 50.'."\n" + ."\n" + .'Default value: 50.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], ], [ - 'name' => 'ExpressionsLogicOperator', + 'name' => 'LifecycleHookId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The relationship between the trigger conditions in the multi-metric alert rule. Valid values:'."\n" - ."\n" - .'* `&&`: An alert is triggered only if all metrics in the multi-metric alert rule meet the trigger conditions. In this case, an alert is triggered only if the results of all trigger conditions that are specified in the multi-metric alert rule are `true`.'."\n" - .'* `||`: An alert is triggered if one of the metrics in the multi-metric alert rule meets the trigger condition.'."\n" - ."\n" - .'Default value: `&&`.'."\n", - 'type' => 'string', + 'description' => 'The IDs of the lifecycle hooks.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the lifecycle hook.', 'type' => 'string', 'required' => false, 'example' => 'ash-bp1at9ufhmcf9cmy****', 'title' => ''], 'required' => false, - 'example' => '&&', + 'example' => 'ash-bp19d1032y9kij96****', + 'maxItems' => 100, + 'title' => '', ], ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the region where the scaling group resides.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AlarmTaskId' => [ - 'description' => 'The ID of the event-triggered task.'."\n", - 'type' => 'string', - 'example' => 'asg-bp1hvbnmkl10vll5****_83948190-acdd-483f-98f7-b77f4778****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'BACACF83-7070-4953-A8FD-D81F89F1****', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + 'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of lifecycle hooks.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'LifecycleHooks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LifecycleHook' => [ + 'description' => 'The list of lifecycle hooks.', + 'type' => 'array', + 'items' => [ + 'description' => 'The lifecycle hook information.', + 'type' => 'object', + 'properties' => [ + 'DefaultResult' => ['description' => 'The action to take after the instance leaves the wait state.', 'type' => 'string', 'example' => 'CONTINUE', 'title' => ''], + 'LifecycleHookId' => ['description' => 'The ID of the lifecycle hook.', 'type' => 'string', 'example' => 'ash-bp19d1032y9kij96****', 'title' => ''], + 'LifecycleHookName' => ['description' => 'The name of the lifecycle hook.', 'type' => 'string', 'example' => 'lifecyclehook****', 'title' => ''], + 'LifecycleTransition' => ['description' => 'The type of scaling activity to which the lifecycle hook applies.', 'type' => 'string', 'example' => 'SCALE_OUT', 'title' => ''], + 'NotificationMetadata' => ['description' => 'The fixed string information that is associated with the wait state of the scaling activity.', 'type' => 'string', 'example' => 'Test Lifecycle Hook.', 'title' => ''], + 'NotificationArn' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient of the lifecycle hook. The parameter value is in one of the following formats:'."\n" + .'- No notification settings: `acs:ess:{region-id}:{account-id}:null/null`.'."\n" + .'- MNS queue: `acs:mns:{region-id}:{account-id}:queue/{queuename}`.'."\n" + .'- MNS topic: `acs:mns:{region-id}:{account-id}:topic/{topicname}`.'."\n" + .'- OOS template: `acs:oos:{region-id}:{account-id}:template/{templatename}`.'."\n" + .'- EventBridge: `acs:eventbridge:{region-id}:{account-id}:eventbus/default`.'."\n" + ."\n" + .'The variables in the parameter formats have the following meanings:'."\n" + .'- region-id: the ID of the region where the scaling group resides.'."\n" + .'- account-id: the Alibaba Cloud account ID.'."\n" + .'- queuename: the name of the MNS queue.'."\n" + .'- topicname: the name of the MNS topic.'."\n" + .'- templatename: the name of the OOS template.', 'type' => 'string', 'example' => 'acs:ess:cn-beijing:161456884340****:null/null', 'title' => ''], + 'HeartbeatTimeout' => ['description' => 'The wait period that the lifecycle hook sets for the scaling activity. After the wait period times out, the next action is taken.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], + 'LifecycleHookStatus' => ['description' => 'The status of the lifecycle hook. Valid values:'."\n" + .'- Active: enabled.'."\n" + .'- InActive: disabled.', 'type' => 'string', 'example' => 'Active', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****\\",\\n \\"RequestId\\": \\"BACACF83-7070-4953-A8FD-D81F89F1****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n asg-bp1hvbnmkl10vll5****\\n BACACF83-7070-4953-A8FD-D81F89F1****\\n","errorExample":""}]', - 'title' => 'ModifyAlarm', - 'description' => '## Description'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"LifecycleHooks\\": {\\n \\"LifecycleHook\\": [\\n {\\n \\"DefaultResult\\": \\"CONTINUE\\",\\n \\"LifecycleHookId\\": \\"ash-bp19d1032y9kij96****\\",\\n \\"LifecycleHookName\\": \\"lifecyclehook****\\",\\n \\"LifecycleTransition\\": \\"SCALE_OUT\\",\\n \\"NotificationMetadata\\": \\"Test Lifecycle Hook.\\",\\n \\"NotificationArn\\": \\"acs:ess:cn-beijing:161456884340****:null/null\\",\\n \\"HeartbeatTimeout\\": 60,\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\",\\n \\"LifecycleHookStatus\\": \\"Active\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeLifecycleHooks', + 'description' => '## Operation description'."\n" ."\n" - .'* If you set **MetricType** to **custom**, you must report your custom metrics to CloudMonitor before you can create event-triggered tasks by using custom metrics. For more information, see [Custom monitoring event-triggered tasks](~~74861~~).'."\n" + .'You can query lifecycle hooks by using one of the following methods:'."\n" ."\n" - .'* When you create an event-triggered task, you must specify the **MetricName**, **Dimension.N.DimensionKey**, and **Dimension.N.DimensionValue** parameters to determine the range of statistics that you want to aggregate for the metrics of the scaling group. For example, you can specify the **user_id** and **scaling_group** dimensions for an event-triggered task to aggregate monitoring data of all Elastic Compute Service (ECS) instances or elastic container instances in a scaling group within an Alibaba Cloud account.'."\n" + .'- Specify a list of lifecycle hook IDs (LifecycleHookId.N). In this case, the scaling group ID (ScalingGroupId) and lifecycle hook name (LifecycleHookName) parameters are ignored.'."\n" ."\n" - .' * If you set **MetricType** to **custom**, the valid values are your custom metrics.'."\n" - .' * For information about the metrics that are supported if you set the **MetricType** parameter to **system**, see[ Event-triggered task for system monitoring](~~74854~~).'."\n" + .'- Specify a scaling group ID (ScalingGroupId).'."\n" ."\n" - .'> The **user_id** and **scaling_group** dimensions are automatically populated. You need to only specify the **device** and **state** dimensions. For more information, see the `Dimension.N.DimensionKey` and `Dimension.N.DimensionValue` parameters in the "Request parameters" section of this topic.'."\n", + .'- Specify both a scaling group ID (ScalingGroupId) and a lifecycle hook name (LifecycleHookName).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeAlarms' => [ - 'summary' => '查询报警任务的信息', - 'methods' => [ - 'post', - 'get', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidParamter|The specified value of parameter is not valid.|The specified parameter value is invalid.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeLifecycleHooks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLifecycleHooks'], + ], ], + ], + 'DescribeLimitation' => [ + 'summary' => 'Queries resource quota limits.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '92670', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92676', + 'abilityTreeNodes' => ['FEATUREessZ1KWHS'], + 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-qingdao', - ], - ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group that is monitored by the event-triggered task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], - ], - [ - 'name' => 'AlarmTaskId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', - ], - ], - [ - 'name' => 'State', - 'in' => 'query', + 'parameters' => [], + 'responses' => [ + 200 => [ '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', + 'type' => 'object', + 'properties' => [ + 'MaxNumberOfScheduledTasks' => ['description' => 'The maximum number of scheduled tasks that can be created by an account in a region.'."\n" + .'>The quota is related to your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value. You can also request a quota increase.', 'type' => 'integer', 'format' => 'int32', 'example' => '70', 'title' => ''], + 'MaxNumberOfLoadBalancers' => ['description' => 'The maximum number of Classic Load Balancer (CLB, formerly SLB) instances that can be associated with a scaling group.'."\n" + .'>The quota is related to your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value. You can also request a quota increase.', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'MaxNumberOfMaxSize' => ['description' => 'The maximum number of instances that can be set for a scaling group.'."\n" + .'>The quota is related to your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value. You can also request a quota increase.', 'type' => 'integer', 'format' => 'int32', 'example' => '2000', 'title' => ''], + 'MaxNumberOfAlbServerGroup' => ['description' => 'The maximum number of Application Load Balancer (ALB) server groups that can be associated with a scaling group.'."\n" + .'>The quota is related to your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value. You can also request a quota increase.', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'MaxNumberOfNlbServerGroup' => ['description' => 'The maximum number of Network Load Balancer (NLB) server groups that can be associated with a scaling group.'."\n" + .'>The quota is related to your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value. You can also request a quota increase.', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'MaxNumberOfDBInstances' => ['description' => 'The maximum number of ApsaraDB RDS instances that can be associated with a scaling group.'."\n" + .'>The quota is related to your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value. You can also request a quota increase.', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'MaxNumberOfScalingConfigurations' => ['description' => 'The maximum number of scaling configurations that can be created in a scaling group.'."\n" + .'>The quota is related to your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value. You can also request a quota increase.', 'type' => 'integer', 'format' => 'int32', 'example' => '70', 'title' => ''], + 'MaxNumberOfMinSize' => ['description' => 'The minimum number of instances that can be set for a scaling group. The quota value of MaxNumberOfMinSize is the same as that of MaxNumberOfMaxSize.', 'type' => 'integer', 'format' => 'int32', 'example' => '2000', 'title' => ''], + 'MaxNumberOfLifecycleHooks' => ['description' => 'The maximum number of lifecycle hooks that can be created in a scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'MaxNumberOfScalingInstances' => ['description' => 'The maximum number of ECS instances or elastic container instances that can be automatically scaled in or out at a time in a scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '500', 'title' => ''], + 'MaxNumberOfScalingGroups' => ['description' => 'The maximum number of scaling groups that can be created by an account in a region.'."\n" + .'>The quota is related to your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value. You can also request a quota increase.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'BE9BEB41-E7B8-4C7D-A3CF-2DCB1066****', 'title' => ''], + 'MaxNumberOfNotificationConfigurations' => ['description' => 'The maximum number of event notifications that can be created in a scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '6', 'title' => ''], + 'MaxNumberOfVServerGroups' => ['description' => 'The maximum number of virtual server groups that can be specified in a scaling group when the scaling group is associated with Classic Load Balancer (CLB, formerly SLB) instances.'."\n" + .'>The quota is related to your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value. You can also request a quota increase.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'MaxNumberOfScalingRules' => ['description' => 'The maximum number of scaling rules that can be created in a scaling group.'."\n" + .'>The quota is related to your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota value. You can also request a quota increase.', 'type' => 'integer', 'format' => 'int32', 'example' => '70', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'IsEnable', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the event-triggered task feature. Valid values:'."\n" - ."\n" - .'* true: enables the event-triggered task feature.'."\n" - .'* false: disables the event-triggered task feature.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + ], + 'title' => 'Query resource quota limits', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLimitation'], ], + ], + 'ramActions' => [ [ - 'name' => 'MetricType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the metric that is used by the event-triggered task. Valid values:'."\n" - ."\n" - .'* system: system metrics of CloudMonitor'."\n" - .'* custom: custom metrics that are reported to CloudMonitor'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'system', - 'default' => 'system', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeLimitation', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"MaxNumberOfScheduledTasks\\": 70,\\n \\"MaxNumberOfLoadBalancers\\": 30,\\n \\"MaxNumberOfMaxSize\\": 2000,\\n \\"MaxNumberOfAlbServerGroup\\": 30,\\n \\"MaxNumberOfNlbServerGroup\\": 30,\\n \\"MaxNumberOfDBInstances\\": 30,\\n \\"MaxNumberOfScalingConfigurations\\": 70,\\n \\"MaxNumberOfMinSize\\": 2000,\\n \\"MaxNumberOfLifecycleHooks\\": 10,\\n \\"MaxNumberOfScalingInstances\\": 500,\\n \\"MaxNumberOfScalingGroups\\": 200,\\n \\"RequestId\\": \\"BE9BEB41-E7B8-4C7D-A3CF-2DCB1066****\\",\\n \\"MaxNumberOfNotificationConfigurations\\": 6,\\n \\"MaxNumberOfVServerGroups\\": 5,\\n \\"MaxNumberOfScalingRules\\": 70\\n}","type":"json"}]', + ], + 'DescribeNotificationConfigurations' => [ + 'summary' => 'Queries the auto scaling events and resource change notifications that you created.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'MetricName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the metric.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CpuUtilization', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92677', + 'abilityTreeNodes' => ['FEATUREess6E26FJ', 'FEATUREessFY8KDA'], + ], + 'parameters' => [ [ - 'name' => 'PageSize', + 'name' => 'ScalingGroupId', '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', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '871C7C53-34A4-45AA-8C14-4B72FA6A****', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of event-triggered tasks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'AlarmList' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + 'NotificationConfigurationModels' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Alarm' => [ - 'description' => 'The event-triggered tasks.'."\n", + 'NotificationConfigurationModel' => [ + 'description' => 'The collection of auto scaling events and resource change notifications.', 'type' => 'array', 'items' => [ - 'description' => '', 'type' => 'object', - 'properties' => [ - 'AlarmTaskId' => [ - 'description' => 'The ID of the event-triggered task.'."\n", - 'type' => 'string', - 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', - ], - 'MetricName' => [ - 'description' => 'The name of the metric. Valid values:'."\n" - ."\n" - .'* CpuUtilization: the CPU utilization of an Elastic Compute Service (ECS) instance. Unit: %.'."\n" - .'* IntranetTx: the outbound traffic over the internal network from an ECS instance. Unit: KB/min.'."\n" - .'* IntranetRx: the inbound traffic over the internal network to an ECS instance. Unit: KB/min.'."\n" - .'* VpcInternetTx: the outbound traffic over the Internet from an ECS instance that resides in a virtual private cloud (VPC). Unit: KB/min.'."\n" - .'* VpcInternetRx: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.'."\n" - .'* SystemDiskReadBps: the number of bytes read from the system disk that is used by an ECS instance per second.'."\n" - .'* SystemDiskWriteBps: the number of bytes written to the system disk that is used by an ECS instance per second.'."\n" - .'* SystemDiskReadOps: the number of read operations on the system disk that is used by an ECS instance per second.'."\n" - .'* SystemDiskWriteOps: the number of write operations on the system disk that is used by an ECS instance per second.'."\n" - .'* CpuUtilizationAgent: the CPU utilization of an agent. Unit: %.'."\n" - .'* GpuUtilizationAgent: the GPU utilization of an agent. Unit: %.'."\n" - .'* GpuMemoryFreeUtilizationAgent: the percentage of idle GPU memory of an agent.'."\n" - .'* GpuMemoryUtilizationAgent: the GPU memory usage of an agent. Unit: %.'."\n" - .'* MemoryUtilization: the memory usage of an agent. Unit: %.'."\n" - .'* LoadAverage: the average system load of an agent.'."\n" - .'* TcpConnection: the total number of TCP connections of an agent.'."\n" - .'* TcpConnection: the number of established TCP connections of an agent.'."\n" - .'* PackagesNetOut: the number of packets that are sent by the internal network interface controller (NIC) used by an agent.'."\n" - .'* PackagesNetIn: the number of packets that are received by the internal NIC used by an agent.'."\n" - .'* EciPodCpuUtilization: the CPU utilization of an elastic container instance. Unit: %.'."\n" - .'* EciPodMemoryUtilization: the memory usage of an elastic container instance. Unit: %.'."\n" - ."\n" - .'For more information, see [Event-triggered task for system monitoring](~~74854~~).'."\n", - 'type' => 'string', - 'example' => 'CpuUtilization', - ], - 'EvaluationCount' => [ - 'description' => 'The number of times that the threshold must be reached before a scaling rule is executed. For example, if you set this parameter to 3, the average CPU utilization must reach 80% three times in a row before a scaling rule is executed.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'State' => [ - 'description' => 'The status of the event-triggered task. Valid values:'."\n" - ."\n" - .'* ALARM: The alert condition is met and an alert is triggered.'."\n" - .'* OK: The alert condition is not met.'."\n" - .'* INSUFFICIENT_DATA: Auto Scaling cannot determine whether the alert condition is met due to insufficient data.'."\n", - 'type' => 'string', - 'example' => 'ALARM', - ], - 'Period' => [ - 'description' => 'The statistical period of the metric data. Unit: seconds. Valid values:'."\n" - ."\n" - .'* 15'."\n" - .'* 60'."\n" - .'* 120'."\n" - .'* 300'."\n" - .'* 900'."\n" - ."\n" - .'> If your scaling group is of the ECS type and the event-triggered task that is associated with your scaling group monitors CloudMonitor metrics, you can set the Period parameter to 15. In most cases, the name of a CloudMonitor metric contains Agent.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '300', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group that is monitored by the event-triggered task.'."\n", - 'type' => 'string', - 'example' => 'asg-bp18p2yfxow2dloq****', - ], - 'ComparisonOperator' => [ - 'description' => 'The operator that is used to compare the metric value and the threshold.'."\n" - ."\n" - .'* Valid value if the metric value is greater than or equal to the threshold: >='."\n" - .'* Valid value if the metric value is less than or equal to the threshold: <='."\n" - .'* Valid value if the metric value is greater than the threshold: >'."\n" - .'* Valid value if the metric value is less than the threshold: <'."\n", - 'type' => 'string', - 'example' => '>=', - ], - 'Effective' => [ - 'description' => 'The period during which the event-triggered task is in effect.'."\n", - 'type' => 'string', - 'example' => '* * * * * ?', - ], - 'Description' => [ - 'description' => 'The description of the event-triggered task.'."\n", - 'type' => 'string', - 'example' => 'Test alarm task.', - ], - 'MetricType' => [ - 'description' => 'The type of the metric that is used by the event-triggered task. Valid values:'."\n" - ."\n" - .'* system: system metrics of CloudMonitor'."\n" - .'* custom: custom metrics that are reported to CloudMonitor'."\n", - 'type' => 'string', - 'example' => 'system', - ], - 'Name' => [ - 'description' => 'The name of the event-triggered task.'."\n", - 'type' => 'string', - 'example' => 'TestAlarmTask', - ], - 'Threshold' => [ - 'description' => 'The threshold of the metric value. If the threshold is reached the specified times within the specified period, a scaling rule is executed.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '80.0', - ], - 'Enable' => [ - 'description' => 'Indicates whether the event-triggered task feature is enabled. Valid values:'."\n" - ."\n" - .'* true: The event-triggered task feature is enabled.'."\n" - .'* false: The event-triggered task feature is disabled.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Statistics' => [ - 'description' => 'The method that is used to collect statistics about the metric. Valid values:'."\n" - ."\n" - .'* Average'."\n" - .'* Minimum'."\n" - .'* Maximum'."\n", - 'type' => 'string', - 'example' => 'Average', - ], - 'Dimensions' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Dimension' => [ - 'description' => 'The metric dimensions.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'DimensionKey' => [ - 'description' => 'The dimension key of the metric. Valid values:'."\n" - ."\n" - .'* user_id: the ID of your Alibaba Cloud account.'."\n" - .'* scaling_group: the scaling group that is monitored by the event-triggered task.'."\n" - .'* device: the type of the NIC.'."\n" - .'* state: the status of the TCP connection.'."\n", - 'type' => 'string', - 'example' => 'device', - ], - 'DimensionValue' => [ - 'description' => 'The dimension value of the metric. The value of this parameter varies based on the value of the DimensionKey parameter.'."\n" - ."\n" - .'* `user_id`: The system specifies the value.'."\n" - ."\n" - .'* `scaling_group`: The system specifies the value.'."\n" - ."\n" - .'* Valid values for `device`:'."\n" - ."\n" - .' * eth0: For classic network instances, eth0 indicates the internal NIC. Only one eth0 NIC exists on each instance of the VPC type.'."\n" - .' * eth1: For classic network instances, eth1 indicates the Internet NIC.'."\n" - ."\n" - .'Valid values for `state`:'."\n" - ."\n" - .'* TCP_TOTAL: the total number of TCP connections.'."\n" - .'* ESTABLISHED: the number of TCP connections that are established.'."\n", - 'type' => 'string', - 'example' => 'eth0', - ], - ], - ], - ], - ], - ], - 'AlarmActions' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'AlarmAction' => [ - 'description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.', - 'type' => 'array', - 'items' => [ - 'description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.', - 'type' => 'string', - 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp163l21e07uh****', - ], - ], - ], - ], - 'Expressions' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Expression' => [ - 'description' => 'The alert conditions of the multi-metric alert rule.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'MetricName' => [ - 'description' => 'The names of the metrics in the multi-metric alert rule. Valid values:'."\n" - ."\n" - .'* CpuUtilization: the CPU utilization of an ECS instance. Unit: %.'."\n" - .'* IntranetTx: the outbound traffic over the internal network from an ECS instance. Unit: KB/min.'."\n" - .'* IntranetRx: the inbound traffic over the internal network to an ECS instance. Unit: KB/min.'."\n" - .'* VpcInternetTx: the outbound traffic over the Internet from an ECS instance that resides in a VPC. Unit: KB/min.'."\n" - .'* VpcInternetRx: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.'."\n" - .'* SystemDiskReadBps: the number of bytes read from the system disk that is used by an ECS instance per second.'."\n" - .'* SystemDiskWriteBps: the number of bytes written to the system disk that is used by an ECS instance per second.'."\n" - .'* SystemDiskReadOps: the number of read operations on the system disk that is used by an ECS instance per second.'."\n" - .'* SystemDiskWriteOps: the number of write operations on the system disk that is used by an ECS instance per second.'."\n" - .'* CpuUtilizationAgent: the CPU utilization of an agent. Unit: %.'."\n" - .'* GpuUtilizationAgent: the GPU utilization of an agent. Unit: %.'."\n" - .'* GpuMemoryFreeUtilizationAgent: the percentage of idle GPU memory of an agent.'."\n" - .'* GpuMemoryUtilizationAgent: the GPU memory usage of an agent. Unit: %.'."\n" - .'* MemoryUtilization: the memory usage of an agent. Unit: %.'."\n" - .'* LoadAverage: the average system load of an agent.'."\n" - .'* TcpConnection: the total number of TCP connections of an agent.'."\n" - .'* TcpConnection: the number of established TCP connections of an agent.'."\n" - .'* PackagesNetOut: the number of packets sent by the internal NIC that is used by an agent.'."\n" - .'* PackagesNetIn: the number of packets received by the internal NIC that is used by an agent.'."\n" - .'* EciPodCpuUtilization: the CPU utilization of an elastic container instance. Unit: %.'."\n" - .'* EciPodMemoryUtilization: the memory usage of an elastic container instance. Unit: %.'."\n" - ."\n" - .'For more information, see [Event-triggered task for system monitoring](~~74854~~).'."\n", - 'type' => 'string', - 'example' => 'CpuUtilization', - ], - 'ComparisonOperator' => [ - 'description' => 'The operator that is used to compare the metric value and the threshold. Valid values:'."\n" - ."\n" - .'* Valid value if the metric value is greater than or equal to the threshold: >='."\n" - .'* Valid value if the metric value is less than or equal to the threshold: <='."\n" - .'* Valid value if the metric value is greater than the threshold: >'."\n" - .'* Valid value if the metric value is less than the threshold: <'."\n" - ."\n" - .'Default value: >=.'."\n", - 'type' => 'string', - 'example' => '>=', - ], - 'Period' => [ - 'description' => 'The period of time during which statistics about the metrics in the multi-metric alert rule is collected. Unit: seconds. Valid values:'."\n" - ."\n" - .'* 15'."\n" - .'* 60'."\n" - .'* 120'."\n" - .'* 300'."\n" - .'* 900'."\n" - ."\n" - .'> If your scaling group is of the ECS type and the event-triggered task that is associated with your scaling group monitors CloudMonitor metrics, you can set the Period parameter to 15. In most cases, the name of a CloudMonitor metric contains Agent.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '900', - ], - 'Statistics' => [ - 'description' => 'The method that is used to collect statistics about the metrics that are specified in the multi-metric alert rule. Valid values:'."\n" - ."\n" - .'* Average'."\n" - .'* Minimum'."\n" - .'* Maximum'."\n", - 'type' => 'string', - 'example' => 'Average', - ], - 'Threshold' => [ - 'description' => 'The thresholds of the metric values in the multi-metric alert rule. If the thresholds are reached the specified number of times within the specified period, a scaling rule is executed.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '40.0', - ], - ], - ], - ], - ], - ], - 'ExpressionsLogicOperator' => [ - 'description' => 'The relationship between the trigger conditions that are specified in the multi-metric alert rule. Valid values:'."\n" - ."\n" - .'- `&&`: An alert is triggered only if all metrics in the multi-metric alert rule meet the trigger conditions. In this case, an alert is triggered only if the results of all trigger conditions that are specified in the multi-metric alert rule are `true`.'."\n" - .'- `||`: An alert is triggered if one of the metrics in the multi-metric alert rule meets the trigger conditions.', - 'type' => 'string', - 'example' => '&&', - ], - 'HybridMonitorNamespace' => [ - 'type' => 'string', - ], - 'HybridMetrics' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'HybridMetric' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Id' => [ - 'type' => 'string', - ], - 'Expression' => [ - 'type' => 'string', - ], - 'MetricName' => [ - 'type' => 'string', - ], - 'Statistic' => [ - 'type' => 'string', - ], - 'Dimensions' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Dimension' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'DimensionKey' => [ - 'type' => 'string', - ], - 'DimensionValue' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], + 'properties' => [ + 'NotificationArn' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. The following formats are supported:'."\n" + ."\n" + .'- CloudMonitor: acs:ess:{region-id}:{account-id}:cloudmonitor.'."\n" + .'- MNS queue: acs:mns:{region-id}:{account-id}:queue/{queuename}.'."\n" + .'- MNS topic: acs:mns:{region-id}:{account-id}:topic/{topicname}.'."\n" + ."\n" + .'The variables in the formats have the following meanings:'."\n" + .'- region-id: The region ID of the scaling group.'."\n" + .'- account-id: The Alibaba Cloud account ID.'."\n" + .'- queuename: The name of the MNS queue.'."\n" + .'- topicname: The name of the MNS topic.', 'type' => 'string', 'example' => 'acs:mns:cn-beijing:161456884340****:topic/modifyLifecycleHo****', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], + 'NotificationTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NotificationType' => [ + 'type' => 'array', + 'items' => ['description' => 'The list of auto scaling event and resource change notification types.', 'type' => 'string', 'example' => 'AUTOSCALING:SCALE_IN_SUCCESS', 'title' => ''], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'PromQL' => [ - 'type' => 'string', - ], + 'TimeZone' => ['description' => 'The time zone of the notification. The time zone offset from Coordinated Universal Time (UTC), such as UTC+8 or UTC-7.', 'type' => 'string', 'example' => 'UTC+8', 'title' => ''], + 'MessageEncoding' => ['description' => 'The encoding method of the notification content. Valid values:'."\n" + ."\n" + .'- PlainText: no encoding. The notification is sent in plaintext.'."\n" + .'- Base64: Base64 encoding.', 'type' => 'string', 'example' => 'PlainText', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"871C7C53-34A4-45AA-8C14-4B72FA6A****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"AlarmList\\": {\\n \\"Alarm\\": [\\n {\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\",\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"EvaluationCount\\": 3,\\n \\"State\\": \\"ALARM\\",\\n \\"Period\\": 300,\\n \\"ScalingGroupId\\": \\"asg-bp18p2yfxow2dloq****\\",\\n \\"ComparisonOperator\\": \\">=\\",\\n \\"Effective\\": \\"* * * * * ?\\",\\n \\"Description\\": \\"Test alarm task.\\",\\n \\"MetricType\\": \\"system\\",\\n \\"Name\\": \\"TestAlarmTask\\",\\n \\"Threshold\\": 80,\\n \\"Enable\\": true,\\n \\"Statistics\\": \\"Average\\",\\n \\"Dimensions\\": {\\n \\"Dimension\\": [\\n {\\n \\"DimensionKey\\": \\"device\\",\\n \\"DimensionValue\\": \\"eth0\\"\\n }\\n ]\\n },\\n \\"AlarmActions\\": {\\n \\"AlarmAction\\": [\\n \\"ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp163l21e07uh****\\"\\n ]\\n },\\n \\"Expressions\\": {\\n \\"Expression\\": [\\n {\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"ComparisonOperator\\": \\">=\\",\\n \\"Period\\": 900,\\n \\"Statistics\\": \\"Average\\",\\n \\"Threshold\\": 40\\n }\\n ]\\n },\\n \\"ExpressionsLogicOperator\\": \\"&&\\",\\n \\"HybridMonitorNamespace\\": \\"aliyun-test\\",\\n \\"HybridMetrics\\": {\\n \\"HybridMetric\\": [\\n {\\n \\"Id\\": \\"a\\",\\n \\"Expression\\": \\"(a+b)/2\\",\\n \\"MetricName\\": \\"AliyunSmq_NumberOfMessagesVisible\\",\\n \\"Statistic\\": \\"Average\\",\\n \\"Dimensions\\": {\\n \\"Dimension\\": [\\n {\\n \\"DimensionKey\\": \\"queue\\",\\n \\"DimensionValue\\": \\"testQueue\\"\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"PromQL\\": \\"(avg(last_over_time(AliyunMnsnew_ActiveMessages{region=\'cn-hangzhou\',userId=\'123456****\',queue=\'testQueue\'}[900s])) by (userId))/(avg(last_over_time(AliyunEss_RunningInstanceCount{instanceId=\'asg-bp1****\'}[900s])) by (userId) != 0)\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n 871C7C53-34A4-45AA-8C14-4B72FA6A****\\n 1\\n 2\\n \\n asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\n CpuUtilization\\n 3\\n ALARM\\n 300\\n asg-bp18p2yfxow2dloq****\\n >=\\n * * * * * ?\\n Test alarm task.\\n system\\n TestAlarmTask\\n 80\\n true\\n Average\\n \\n device\\n eth0\\n \\n ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp163l21e07uh****\\n \\n CpuUtilization\\n >=\\n 900\\n Average\\n 40\\n \\n &&\\n \\n","errorExample":""}]', - 'title' => 'DescribeAlarms', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DescribeAlarms\\&type=RPC\\&version=2014-08-28)'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"NotificationConfigurationModels\\": {\\n \\"NotificationConfigurationModel\\": [\\n {\\n \\"NotificationArn\\": \\"acs:mns:cn-beijing:161456884340****:topic/modifyLifecycleHo****\\",\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\",\\n \\"NotificationTypes\\": {\\n \\"NotificationType\\": [\\n \\"AUTOSCALING:SCALE_IN_SUCCESS\\"\\n ]\\n },\\n \\"TimeZone\\": \\"UTC+8\\",\\n \\"MessageEncoding\\": \\"PlainText\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query auto scaling events and resource change notifications', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeNotificationConfigurations'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeNotificationConfigurations', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], ], - 'AttachAlbServerGroups' => [ - 'summary' => '添加一个或多个ALB服务器组', - 'methods' => [ - 'post', - 'get', + 'DescribeNotificationTypes' => [ + 'summary' => 'Queries the types of Auto Scaling events and resource change notifications.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92678', + 'abilityTreeNodes' => ['FEATUREessFY8KDA'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'NotificationTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NotificationType' => [ + 'description' => 'The list of Auto Scaling event and resource change notification types.', + 'type' => 'array', + 'items' => ['description' => 'The list of Auto Scaling event and resource change notification types. Valid values:'."\n" + .'- AUTOSCALING:SCALE_OUT_SUCCESS: Scale-out scaling activity succeeded.'."\n" + .'- AUTOSCALING:SCALE_IN_SUCCESS: Scale-in scaling activity succeeded.'."\n" + .'- AUTOSCALING:SCALE_OUT_ERROR: Scale-out scaling activity failed.'."\n" + .'- AUTOSCALING:SCALE_IN_ERROR: Scale-in scaling activity failed.'."\n" + .'- AUTOSCALING:SCALE_REJECT: Scaling activity was rejected.'."\n" + .'- AUTOSCALING:SCALE_OUT_START: Scale-out scaling activity started.'."\n" + .'- AUTOSCALING:SCALE_IN_START: Scale-in scaling activity started.'."\n" + .'- AUTOSCALING:SCHEDULE_TASK_EXPIRING: Scheduled task expiration reminder.'."\n" + .'- SCALING_GROUP_DIAGNOSE: Scaling group diagnostics.'."\n" + .'- AUTOSCALING:SCALE_OUT_WARN: Scale-out scaling activity partially succeeded.'."\n" + .'- AUTOSCALG:SCALE_IN_WARN: Scale-down scaling activity partially succeeded.', 'type' => 'string', 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'title' => 'Query types of Auto Scaling events and resource change notifications', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeNotificationTypes'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeNotificationTypes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"NotificationTypes\\": {\\n \\"NotificationType\\": [\\n \\"AUTOSCALING:SCALE_OUT_SUCCESS\\"\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribePatternTypes' => [ + 'summary' => 'When configuring scaling configurations using the instance attribute-based method, call the DescribePatternTypes API to filter eligible instance types based on specified instance attributes such as the number of vCPU cores, memory size, instance family level, and the maximum acceptable price.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92647', - 'abilityTreeNodes' => [ - 'FEATUREess2GK585', - ], + 'operationType' => 'list', + 'abilityTreeCode' => '222292', + 'abilityTreeNodes' => ['FEATUREessWJGIW5'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the region to which the scaling group belongs, such as cn-hangzhou and cn-shanghai. For more information, see [Regions and zones](~~40654~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + 'description' => 'The list of vSwitch IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp14zolna43z266bq****', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'ZoneId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', + 'description' => 'The list of zone IDs. This parameter is invalid when vSwitch IDs are specified.', + 'type' => 'array', + 'items' => ['description' => 'The zone ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-g', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ClientToken', + 'name' => 'SpotStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The bidding policy for pay-as-you-go instances. Valid values:'."\n" + ."\n" + .'- NoSpot: a regular pay-as-you-go instance.'."\n" + .'- SpotWithPriceLimit: a preemptible instance with a user-defined maximum hourly price.'."\n" + .'- SpotAsPriceGo: a preemptible instance for which the system automatically bids with the current market price.'."\n" + ."\n" + .'Default value: NoSpot.', 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''], + ], + [ + 'name' => 'Cores', + 'in' => 'query', + 'schema' => ['description' => 'The number of vCPU cores of the instance type.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'Memory', + 'in' => 'query', + 'schema' => ['description' => 'The memory size of the instance type. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + ], + [ + 'name' => 'MaxPrice', + 'in' => 'query', + 'schema' => ['description' => 'The maximum acceptable hourly price for pay-as-you-go or preemptible instances.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'InstanceFamilyLevel', + 'in' => 'query', + 'schema' => ['description' => 'The level of the instance family. Valid values:'."\n" + ."\n" + .'- EntryLevel: entry-level, shared instance type. Lower cost but no guaranteed stable computing performance. Suitable for scenarios with generally low CPU utilization. For more information, see [Shared instance families](~~108489~~).'."\n" + .'- EnterpriseLevel: enterprise-level. Stable performance with dedicated resources. Suitable for scenarios that require high stability. For more information, see [Instance families](~~25378~~).'."\n" + .'- CreditEntryLevel: credit-based entry-level, burstable performance instance. Uses CPU credits to ensure computing performance. Suitable for scenarios with normally low CPU utilization and occasional spikes. For more information, see [Burstable performance instances](~~59977~~).', 'type' => 'string', 'required' => false, 'example' => 'EnterpriseLevel', 'title' => ''], + ], + [ + 'name' => 'ExcludedInstanceType', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests. The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', + 'description' => 'The instance types to exclude. You can use wildcard characters (*) to exclude a single instance type or an entire instance family. Examples:'."\n" + ."\n" + .'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n" + .'- ecs.c6.*: excludes all instance types in the c6 instance family.'."\n" + ."\n" + .'>To exclude multiple instance types, separate them with forward slashes (/). Example: `ecs.n1.small/ecs.n1.*/*7*`.', + 'type' => 'array', + 'items' => ['description' => 'The instance types to exclude. You can use wildcard characters (*) to exclude a single instance type or an entire instance family. Examples:'."\n" + ."\n" + .'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n" + .'- ecs.c6.*: excludes all instance types in the c6 instance family.'."\n" + ."\n" + .'>To exclude multiple instance types, separate them with forward slashes (/). Example: `ecs.n1.small/ecs.n1.*/*7*`.', 'type' => 'string', 'required' => false, 'example' => 'ecs.c6.xlarge', 'title' => ''], 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ForceAttach', + 'name' => 'Architecture', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to add the Elastic Compute Service (ECS) instances in the scaling group to the newly associated ALB server group.'."\n" + 'description' => 'The architecture types of the instance type. Valid values:'."\n" + ."\n" + .'- X86: x86 computing.'."\n" + .'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n" + .'- BareMental: ECS Bare Metal Instance.'."\n" + .'- Arm: Arm computing.'."\n" ."\n" - .'* true: adds the ECS instances and returns the `ScalingActivityId` value. You can view the ID of the scaling activity to determine whether the existing instances are added.'."\n" - .'* false: does not add the ECS instances.'."\n" + .'Default value: all architecture types.', + 'type' => 'array', + 'items' => ['description' => 'The architecture types of the instance type. Valid values:'."\n" + ."\n" + .'- X86: x86 computing.'."\n" + .'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n" + .'- BareMental: ECS Bare Metal Instance.'."\n" + .'- Arm: Arm computing.'."\n" ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', + .'Default value: all architecture types.', 'type' => 'string', 'required' => false, 'example' => 'X86', 'title' => ''], 'required' => false, - 'example' => 'false', - 'default' => 'false', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'AlbServerGroup', + 'name' => 'BurstablePerformance', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to include burstable performance instance types. Valid values:'."\n" + ."\n" + .'- Exclude: excludes burstable performance instance types.'."\n" + .'- Include: includes burstable performance instance types.'."\n" + .'- Required: includes only burstable performance instance types.'."\n" + ."\n" + .'Default value: Include.', 'type' => 'string', 'required' => false, 'example' => 'Include', 'title' => ''], + ], + [ + 'name' => 'CoresList', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ALB server groups.', + 'description' => 'The number of vCPU cores of the instance type. You can specify multiple values.', 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'AlbServerGroupId' => [ - 'description' => 'The ID of the ALB server group.'."\n" - ."\n" - .'N indicates the serial number of the ALB server group. You can associate only a limited number of ALB server groups with a scaling group. To view the available quota or manually request a quota increase, go to the [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sgp-ddwb0y0g6y9bjm****', - ], - 'Weight' => [ - 'description' => 'The weight of the ECS instance as a backend server after the instance is added to the ALB server group. If you increase the weight of an ECS instance, the number of access requests that are forwarded to the ECS instance increases. If you set the weight to 0, no access requests are forwarded to the ECS instance. Valid values: 0 to 100.'."\n" - ."\n" - .'N indicates the serial number of the ALB server group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port number used by the ECS instance after the instance is added to ALB server group N. Valid values: 1 to 65535.'."\n" - ."\n" - .'N indicates the serial number of the ALB server group.'."\n" - ."\n" - .'> If the N values are the same but the port numbers are different, the system associates multiple ports in the scaling group with ALB server group N.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '22', - ], - ], - 'required' => false, - ], - 'required' => true, - 'maxItems' => 100, + 'items' => ['description' => 'The number of vCPU cores of the instance type. You can specify multiple values.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'MemoryList', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity in which Auto Scaling associates the ALB server group with the scaling group and adds ECS instances in the scaling group to the ALB server group. This parameter is valid only when you set `ForceAttach` to `true`.'."\n", - 'type' => 'string', - 'example' => 'asa-2ze6wxj8vsohn6j9****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], + 'description' => 'The memory size of the instance type. Unit: GiB. You can specify multiple values.', + 'type' => 'array', + 'items' => ['description' => 'The memory size of the instance type. Unit: GiB. You can specify multiple values.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingActivityId\\": \\"asa-2ze6wxj8vsohn6j9****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n asa-2ze6wxj8vsohn6j9****\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'AttachAlbServerGroups', - 'description' => '## Description'."\n" - ."\n" - .'Before you associate an ALB server group with a scaling group, make sure that the following requirements are met:'."\n" - ."\n" - .'* The scaling group resides in a virtual private cloud (VPC). The scaling group and the ALB server group that you want to associate must reside in the same VPC.'."\n" - .'* The ALB server group is in the Available state.'."\n" - .'* You can associate only a limited number of ALB server groups with a scaling group. To view the available quota or manually request a quota increase, go to the [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'CreateEciScalingConfiguration' => [ - 'summary' => '创建一个ECI类型伸缩配置', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'ChannelId', + 'in' => 'query', + 'schema' => ['description' => 'The channel ID.'."\n" + .'>This parameter is not publicly available (internal reserved parameter only).'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '79425074', 'title' => ''], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '92654', - 'abilityTreeNodes' => [ - 'FEATUREessWJGIW5', + [ + 'name' => 'InstanceTypeFamilies', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The instance type families to query. N indicates that you can specify multiple instance type families. Valid values of N: 1 to 10.', + 'type' => 'array', + 'items' => ['description' => 'The instance type families to query. N indicates that you can specify multiple instance type families. Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'MinimumCpuCoreCount', + 'in' => 'query', + 'schema' => ['description' => 'The minimum number of vCPU cores of the instance type.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'MaximumCpuCoreCount', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of vCPU cores of the instance type.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], + ], + [ + 'name' => 'GpuSpecs', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the scaling group for which you want to create the scaling configuration.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp14wlu85wrpchm0****', + 'description' => 'The GPU types.', + 'type' => 'array', + 'items' => ['description' => 'The GPU type.', 'type' => 'string', 'required' => false, 'example' => 'NVIDIA V100', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ScalingConfigurationName', + 'name' => 'InstanceCategories', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The name of the scaling configuration. The name must be 2 to 64 characters in length and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter or a digit.'."\n" - ."\n" - .'The name of the scaling configuration must be unique within a scaling group in a region. If you do not specify this parameter, the value of the ScalingConfigurationId parameter is used.'."\n", - 'type' => 'string', + 'description' => 'The instance type categories. Valid values:'."\n" + ."\n" + .'- General-purpose: general-purpose type.'."\n" + .'- Compute-optimized: compute-optimized type.'."\n" + .'- Memory-optimized: memory-optimized type.'."\n" + .'- Big data: big data type.'."\n" + .'- Local SSDs: local SSD type.'."\n" + .'- High Clock Speed: high clock speed type.'."\n" + .'- Enhanced: enhanced type.'."\n" + .'- Shared: shared type.'."\n" + .'- Compute-optimized with GPU: GPU compute-optimized type.'."\n" + .'- Visual Compute-optimized: visual compute-optimized type.'."\n" + .'- Heterogeneous Service: heterogeneous service type.'."\n" + .'- Compute-optimized with FPGA: FPGA compute-optimized type.'."\n" + .'- Compute-optimized with NPU: NPU compute-optimized type.'."\n" + .'- ECS Bare Metal: ECS Bare Metal Instance.'."\n" + .'- High Performance Compute: high performance computing type.', + 'type' => 'array', + 'items' => ['description' => 'The instance type categories. Valid values:'."\n" + ."\n" + .'- General-purpose: general-purpose type.'."\n" + .'- Compute-optimized: compute-optimized type.'."\n" + .'- Memory-optimized: memory-optimized type.'."\n" + .'- Big data: big data type.'."\n" + .'- Local SSDs: local SSD type.'."\n" + .'- High Clock Speed: high clock speed type.'."\n" + .'- Enhanced: enhanced type.'."\n" + .'- Shared: shared type.'."\n" + .'- Compute-optimized with GPU: GPU compute-optimized type.'."\n" + .'- Visual Compute-optimized: visual compute-optimized type.'."\n" + .'- Heterogeneous Service: heterogeneous service type.'."\n" + .'- Compute-optimized with FPGA: FPGA compute-optimized type.'."\n" + .'- Compute-optimized with NPU: NPU compute-optimized type.'."\n" + .'- ECS Bare Metal: ECS Bare Metal Instance.'."\n" + .'- High Performance Compute: high performance computing type.', 'type' => 'string', 'required' => false, 'example' => 'Compute-optimized with GPU', 'title' => ''], 'required' => false, - 'docRequired' => true, - 'example' => 'scalingconfig****', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'SecurityGroupId', + 'name' => 'CpuArchitectures', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the security group with which you want to associate the elastic container instance. Elastic container instances that are associated with the same security group can access each other.'."\n" + 'description' => 'The CPU architectures of the instance type.', + 'type' => 'array', + 'items' => ['description' => 'The CPU architecture of the instance type. Valid values:'."\n" ."\n" - .'If you do not specify a security group, the system uses the default security group in the region that you selected. Make sure that the inbound rules of the security group contain the protocols and port numbers of the containers that you want to expose. If you do not have a default security group in the region, the system creates a default security group and then adds the declared container protocols and port numbers to the inbound rules of the security group.'."\n", - 'type' => 'string', + .'> N indicates that you can specify multiple CPU architectures. Valid values of N: 1 to 2.'."\n" + ."\n" + .'- X86.'."\n" + .'- ARM.', 'type' => 'string', 'required' => false, 'example' => 'X86', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'PhysicalProcessorModels', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The processor models of the instance. N indicates that you can specify multiple processor models. Valid values of N: 1 to 10.', + 'type' => 'array', + 'items' => ['description' => 'The processor models of the instance. N indicates that you can specify multiple processor models. Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'Intel Xeon(Ice Lake) Platinum 8369B', 'title' => ''], 'required' => false, - 'docRequired' => true, - 'example' => 'sg-uf66jeqopgqa9hdn****', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ContainerGroupName', + 'name' => 'MinimumEniQuantity', + 'in' => 'query', + 'schema' => ['description' => 'The minimum number of elastic network interfaces (ENIs) supported by the instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'MinimumEniPrivateIpAddressQuantity', + 'in' => 'query', + 'schema' => ['description' => 'The minimum number of IPv4 addresses per ENI for the instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'MinimumEniIpv6AddressQuantity', + 'in' => 'query', + 'schema' => ['description' => 'The minimum number of IPv6 addresses per ENI for the instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'MinimumInitialCredit', + 'in' => 'query', + 'schema' => ['description' => 'The minimum initial vCPU credits for burstable performance instances t5 and t6.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12', 'title' => ''], + ], + [ + 'name' => 'MinimumBaselineCredit', + 'in' => 'query', + 'schema' => ['description' => 'The minimum baseline vCPU computing performance (sum of all vCPUs) for burstable performance instances t5 and t6.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12', 'title' => ''], + ], + [ + 'name' => 'MinimumMemorySize', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the elastic container instance.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'nginx-test', - ], + 'schema' => ['description' => 'The minimum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], ], [ - 'name' => 'RestartPolicy', + 'name' => 'MaximumMemorySize', 'in' => 'query', - 'schema' => [ - 'description' => 'The restart policy of the elastic container instance. Valid values:'."\n" - ."\n" - .'* Always: always restart the elastic container instance.'."\n" - .'* Never: never restart the elastic container instance.'."\n" - .'* OnFailure: restart the elastic container instance upon failures.'."\n" - ."\n" - .'Default value: Always.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Always', - ], + 'schema' => ['description' => 'The maximum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], ], [ - 'name' => 'Cpu', + 'name' => 'MinimumGpuAmount', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of vCPUs that you want to allocate to the elastic container instance. Unit: cores.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1.0', - ], + 'schema' => ['description' => 'The minimum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], ], [ - 'name' => 'Memory', + 'name' => 'MaximumGpuAmount', 'in' => 'query', + 'schema' => ['description' => 'The maximum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The memory size that you want to allocate to the elastic container instance. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '2.0', + 'title' => '', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + 'PatternTypes' => [ + 'description' => 'The eligible instance types.', + 'type' => 'array', + 'items' => [ + 'description' => 'The eligible instance types.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The name of the instance type.', 'type' => 'string', 'example' => 'ecs.c7.xlarge', 'title' => ''], + 'InstanceFamilyLevel' => ['description' => 'The level of the instance family. Valid values:'."\n" + ."\n" + .'- EntryLevel: entry-level, shared instance type. Lower cost but no guaranteed stable computing performance. Suitable for scenarios with generally low CPU utilization. For more information, see [Shared instance families](~~108489~~).'."\n" + .'- EnterpriseLevel: enterprise-level. Stable performance with dedicated resources. Suitable for scenarios that require high stability. For more information, see [Instance families](~~25378~~).'."\n" + .'- CreditEntryLevel: credit-based entry-level, burstable performance instance. Uses CPU credits to ensure computing performance. Suitable for scenarios with normally low CPU utilization and occasional spikes. For more information, see [Burstable performance instances](~~59977~~).', 'type' => 'string', 'example' => 'EnterpriseLevel', 'title' => ''], + 'InstanceTypeFamily' => ['description' => 'The instance type family.', 'type' => 'string', 'example' => 'ecs.c7', 'title' => ''], + 'Cores' => ['description' => 'The number of vCPU cores of the instance type.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'Memory' => ['description' => 'The memory size of the instance type. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'example' => '8', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PatternTypes\\": [\\n {\\n \\"InstanceType\\": \\"ecs.c7.xlarge\\",\\n \\"InstanceFamilyLevel\\": \\"EnterpriseLevel\\",\\n \\"InstanceTypeFamily\\": \\"ecs.c7\\",\\n \\"Cores\\": 4,\\n \\"Memory\\": 8\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribePatternTypes', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribePatternTypes'], + ], + ], + 'ramActions' => [ [ - 'name' => 'ResourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-uf66jeqopgqa9hdn****', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ess:DescribePatternTypes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'DescribeRegions' => [ + 'summary' => 'Queries the regions where Auto Scaling is available.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'DnsPolicy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The Domain Name System (DNS) policy. Valid values:'."\n" - ."\n" - .'* None: use the DNS that is specified for the DnsConfig field.'."\n" - .'* Default: use the DNS that is specified for the runtime environment.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Default', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92679', + 'abilityTreeNodes' => ['FEATUREessZ1KWHS'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ [ - 'name' => 'ImageSnapshotId', + 'name' => 'AcceptLanguage', 'in' => 'query', + 'schema' => ['description' => 'Filters the results based on the specified language. For more information, see [RFC7231](https://tools.ietf.org/html/rfc7231). Valid values:'."\n" + ."\n" + .'- zh-CN: Chinese.'."\n" + .'- en-US: English.'."\n" + .'- ja: Japanese.'."\n" + ."\n" + .'Default value: zh-CN.', 'type' => 'string', 'required' => false, 'example' => 'zh-CN', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the image cache snapshot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'imc-2zebxkiifuyzzlhl****', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'Regions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Region' => [ + 'description' => 'The collection of region information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of region information.', + 'type' => 'object', + 'properties' => [ + 'ClassicUnavailable' => ['description' => 'Indicates whether scaling groups of the classic network type are supported in the current region. Valid values:'."\n" + ."\n" + .'- true: Not supported.'."\n" + .'- false: Supported.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'RegionEndpoint' => ['description' => 'The endpoint of the region.', 'type' => 'string', 'example' => 'ess.aliyuncs.com', 'title' => ''], + 'LocalName' => ['description' => 'The name of the region.', 'type' => 'string', 'example' => '华北2 (北京)', 'title' => ''], + 'VpcUnavailable' => ['description' => 'Indicates whether scaling groups of the VPC network type are supported in the current region. Valid values:'."\n" + ."\n" + .'- true: Not supported.'."\n" + .'- false: Supported.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'RamRoleName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the RAM role that you want to associate with the elastic container instance. You can use an instance RAM role to access elastic container instances and Elastic Compute Service (ECS) instances. For more information, see [Use an instance RAM role by calling API operations](~~61178~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'RamTestRole', + ], + 'title' => 'Query regions where Auto Scaling is available', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidAcceptLanguage.NotFound|Only Chinese (zh-CN), English (en-US), and Japanese (ja) are allowed.|The specified language is not supported.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRegions'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"Regions\\": {\\n \\"Region\\": [\\n {\\n \\"ClassicUnavailable\\": false,\\n \\"RegionEndpoint\\": \\"ess.aliyuncs.com\\",\\n \\"LocalName\\": \\"华北2 (北京)\\",\\n \\"VpcUnavailable\\": false,\\n \\"RegionId\\": \\"cn-beijing\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeScalingActivities' => [ + 'summary' => 'Queries scaling activities.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => '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', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '92680', + 'abilityTreeNodes' => ['FEATUREessACRSW1'], + ], + 'parameters' => [ [ - 'name' => 'AutoMatchImageCache', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to automatically match the image cache. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The region ID of the scaling group to which the scaling activities belong.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'Ipv6AddressCount', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of IPv6 addresses.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The page number of the scaling activity list. Minimum value: 1.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], [ - 'name' => 'ActiveDeadlineSeconds', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The validity period. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000', - ], + 'schema' => ['description' => 'The number of entries per page for paging query. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'maximum' => '50', 'default' => '10', 'example' => '10', 'title' => ''], ], [ - 'name' => 'SpotStrategy', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The bidding policy of the elastic container instance. Valid values:'."\n" - ."\n" - .'* NoSpot: The instance is a regular pay-as-you-go instance.'."\n" - .'* SpotWithPriceLimit: The instance is a preemptible instance with a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instance is a preemptible instance for which the market price at the time of purchase is used as the bid price.'."\n" - ."\n" - .'Default value: NoSpot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SpotPriceLimit', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n" + .'>When you call this operation, you must specify either ScalingGroupId or ScalingActivityId.N. If you do not specify either parameter, an error is returned.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'SpotPriceLimit', + 'name' => 'StatusCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum hourly price of the preemptible elastic container instance. The value can contain up to three decimal places.'."\n" - ."\n" - .'If you set the SpotStrategy parameter to SpotWithPriceLimit, you must specify the SpotPriceLimit parameter.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.025', - ], + 'schema' => ['description' => 'The status of the scaling activity. Valid values:'."\n" + .'- Successful: The scaling activity was executed successfully. '."\n" + .'- Warning: The scaling activity was partially successful. '."\n" + .'- Failed: The scaling activity failed.'."\n" + .'- InProgress: The scaling activity is being executed.'."\n" + .'- Rejected: The request to execute the scaling activity was rejected.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'Successful', 'title' => ''], ], [ - 'name' => 'AutoCreateEip', + 'name' => 'ScalingActivityId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to automatically create an elastic IP address (EIP) and then bind the EIP to the elastic container instance.'."\n", - 'type' => 'boolean', + 'description' => 'The IDs of the scaling activities that you want to query.'."\n" + .'>When you call this operation, you must specify either ScalingGroupId or ScalingActivityId.N. If you do not specify either parameter, an error is returned.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the scaling activity that you want to query.'."\n" + .'>When you call this operation, you must specify either ScalingGroupId or ScalingActivityId.N. If you do not specify either parameter, an error is returned.', 'type' => 'string', 'required' => false, 'example' => 'asa-bp161xudmuxdzofe****', 'title' => ''], 'required' => false, - 'example' => 'true', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'EipBandwidth', + 'name' => 'InstanceRefreshTaskId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the instance refresh task. You can set this parameter to query the list of scaling activities associated with the instance refresh task.', 'type' => 'string', 'required' => false, 'example' => 'ir-a12ds234fasd*****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The bandwidth of the EIP. Default value: 5. Unit: Mbit/s.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1000000', - 'minimum' => '0', - 'example' => '5', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CC107349-57B7-4405-B1BF-9BF5AF7F****', 'title' => ''], + 'PageNumber' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of scaling activities.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingActivities' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ScalingActivity' => [ + 'description' => 'The collection of scaling activity information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of scaling activity information.', + 'type' => 'object', + 'properties' => [ + 'Progress' => ['description' => 'The execution progress of the scaling activity.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'ScalingInstanceNumber' => ['description' => '- If the scaling activity is a scale-out activity, this parameter indicates the number of instances that were created or started from the economy mode during the scaling activity.'."\n" + .'- If the scaling activity is a scale-in activity, this parameter indicates the number of instances that were deleted or entered the economy mode during the scaling activity.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'AttachedCapacity' => ['description' => 'The total number of instances that were manually added to the scaling group after the scaling activity was complete.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'TotalCapacity' => ['description' => 'The total number of instances in the scaling group after the scaling activity was complete.', 'type' => 'string', 'example' => '2', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], + 'AutoCreatedCapacity' => ['description' => 'The total number of instances in the scaling group that were subject to automatic creation by the scaling group after the scaling activity was executed.', 'type' => 'string', 'example' => '2', 'title' => ''], + 'EndTime' => ['description' => 'The end time of the scaling activity.', 'type' => 'string', 'example' => '2020-09-10T09:54Z', 'title' => ''], + 'StartTime' => ['description' => 'The start time of the scaling activity.', 'type' => 'string', 'example' => '2020-09-10T09:54Z', 'title' => ''], + 'Description' => ['description' => 'The description of the scaling activity.', 'type' => 'string', 'example' => 'Add \\"1\\" ECS instance', 'title' => ''], + 'StatusCode' => ['description' => 'The status of the scaling activity. Valid values:'."\n" + .'- Successful: The scaling activity was executed successfully. '."\n" + .'- Warning: The scaling activity was partially successful. '."\n" + .'- Failed: The scaling activity failed. '."\n" + .'- InProgress: The scaling activity is being executed.'."\n" + .'- Rejected: The request to execute the scaling activity was rejected.', 'type' => 'string', 'example' => 'Successful', 'title' => ''], + 'Cause' => ['description' => 'The cause that triggered the scaling activity.', 'type' => 'string', 'example' => 'A user requests to execute scaling rule \\"asr-bp12tcnol686y1ik****\\", changing the Total Capacity from \\"1\\" to \\"2\\".', 'title' => ''], + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'example' => 'asa-bp161xudmuxdzofe****', 'title' => ''], + 'StatusMessage' => ['description' => 'The status message of the scaling activity.', 'type' => 'string', 'example' => '\\"1\\" ECS instances are added', 'title' => ''], + 'CreatedCapacity' => ['description' => 'The number of instances created during the current scaling activity.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'DestroyedCapacity' => ['description' => 'The number of instances released during the current scaling activity.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'StartedCapacity' => ['description' => 'The number of instances started from the economy mode during the current scaling activity.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'StoppedCapacity' => ['description' => 'The number of instances that entered the economy mode during the current scaling activity.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'CreatedInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CreatedInstance' => [ + 'description' => 'The list of instances created during the current scaling activity.', + 'type' => 'array', + 'items' => ['description' => 'The list of instances created during the current scaling activity.', 'type' => 'string', 'example' => '[ "i-abc1", "i-abc2" ]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'DestroyedInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DestroyedInstance' => [ + 'description' => 'The list of instances released during the current scaling activity.', + 'type' => 'array', + 'items' => ['description' => 'The list of instances released during the current scaling activity.', 'type' => 'string', 'example' => '[ "i-abc1", "i-abc2" ]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'StartedInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'StartedInstance' => [ + 'description' => 'The list of instances started from the economy mode during the current scaling activity.', + 'type' => 'array', + 'items' => ['description' => 'The list of instances started from the economy mode during the current scaling activity.', 'type' => 'string', 'example' => '[ "i-abc1", "i-abc2" ]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'StoppedInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'StoppedInstance' => [ + 'description' => 'The list of instances that entered the economy mode during the current scaling activity.', + 'type' => 'array', + 'items' => ['description' => 'The list of instances that entered the economy mode during the current scaling activity.', 'type' => 'string', 'example' => '[ "i-abc1", "i-abc2" ]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'ErrorCode' => ['description' => 'The error code returned when the scaling activity failed.', 'type' => 'string', 'example' => 'OperationDenied.NoStock', 'title' => ''], + 'ErrorMessage' => ['description' => 'The error message returned when the scaling activity failed.', 'type' => 'string', 'example' => 'The specified ECS resource is out of stock in this region. Please try again later.', 'title' => ''], + 'Detail' => ['description' => 'The details of the scaling activity.', 'type' => 'string', 'example' => '"new ECS instances "i-j6c8ilerw, i-j6c8iler4mx" are created."', 'title' => ''], + 'TriggerSourceType' => ['description' => 'The type of the trigger source for the scaling activity. Valid values:'."\n" + ."\n" + .'- Cms: The scaling activity was triggered by an event-triggered task.'."\n" + .'- Api: The scaling activity was triggered by a user through an API call.'."\n" + .'- Ess: The scaling activity was triggered by a system task.', 'type' => 'string', 'example' => 'Api', 'title' => ''], + 'TriggerSourceId' => ['description' => 'The ID of the trigger source for the scaling activity. Valid values:'."\n" + ."\n" + .'- Cms trigger source ID: the ID of the event-triggered task.'."\n" + .'- Api trigger source ID: the UID of the Alibaba Cloud account or RAM user.'."\n" + .'- Ess trigger source ID: empty.', 'type' => 'string', 'example' => '2346366580*****', 'title' => ''], + 'LifecycleHookContext' => [ + 'description' => 'The context information of lifecycle hooks.', + 'type' => 'object', + 'properties' => [ + 'DisableLifecycleHook' => ['description' => 'Indicates whether all lifecycle hooks are disabled for the scaling activity. Valid values:'."\n" + ."\n" + .'- true: Disabled.'."\n" + .'- false: Not disabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'IgnoredLifecycleHookIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'IgnoredLifecycleHookId' => [ + 'description' => 'The list of lifecycle hook IDs that are disabled for the scaling activity.', + 'type' => 'array', + 'items' => ['description' => 'The list of lifecycle hook IDs that are disabled for the scaling activity.', 'type' => 'string', 'example' => 'ash-bp14zolna43z266bq***', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'ActivityMetadata' => ['description' => 'The metadata of the scaling activity.', 'type' => 'string', 'example' => '{\\"goatscaler.io/managed\\":\\"true\\"}', 'title' => ''], + 'InstanceRefreshTaskId' => ['description' => 'The ID of the instance refresh task.', 'type' => 'string', 'example' => 'ir-asdf12adsxg*****', 'title' => ''], + 'ErrorMessages' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ErrorMessages' => [ + 'description' => 'The error messages returned when the scaling activity failed or was partially successful.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Description' => ['description' => 'The exception description of the scaling activity.', 'type' => 'string', 'example' => 'Fail to create instances into scaling group.', 'title' => ''], + 'Code' => ['description' => 'The error code returned when the scaling activity failed or was partially successful.', 'type' => 'string', 'example' => 'OperationDenied.NoStock', 'title' => ''], + 'Message' => ['description' => 'The error messages returned when the scaling activity failed or was partially successful.', 'type' => 'string', 'example' => 'The resource is out of stock in the specified zone. Please try other types, or choose other regions and zones.', 'title' => ''], + 'FailedInstanceIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'FailedInstanceIds' => [ + 'description' => 'The list of failed instance IDs.', + 'type' => 'array', + 'items' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'i-8vbedazhjj6a6******', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'HostName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The hostname of the elastic container instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC107349-57B7-4405-B1BF-9BF5AF7F****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1,\\n \\"ScalingActivities\\": {\\n \\"ScalingActivity\\": [\\n {\\n \\"Progress\\": 100,\\n \\"ScalingInstanceNumber\\": 1,\\n \\"AttachedCapacity\\": \\"0\\",\\n \\"TotalCapacity\\": \\"2\\",\\n \\"ScalingGroupId\\": \\"asg-bp18p2yfxow2dloq****\\",\\n \\"AutoCreatedCapacity\\": \\"2\\",\\n \\"EndTime\\": \\"2020-09-10T09:54Z\\",\\n \\"StartTime\\": \\"2020-09-10T09:54Z\\",\\n \\"Description\\": \\"Add \\\\\\\\\\\\\\"1\\\\\\\\\\\\\\" ECS instance\\",\\n \\"StatusCode\\": \\"Successful\\",\\n \\"Cause\\": \\"A user requests to execute scaling rule \\\\\\\\\\\\\\"asr-bp12tcnol686y1ik****\\\\\\\\\\\\\\", changing the Total Capacity from \\\\\\\\\\\\\\"1\\\\\\\\\\\\\\" to \\\\\\\\\\\\\\"2\\\\\\\\\\\\\\".\\",\\n \\"ScalingActivityId\\": \\"asa-bp161xudmuxdzofe****\\",\\n \\"StatusMessage\\": \\"\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\" ECS instances are added\\",\\n \\"CreatedCapacity\\": 1,\\n \\"DestroyedCapacity\\": 1,\\n \\"StartedCapacity\\": 1,\\n \\"StoppedCapacity\\": 1,\\n \\"CreatedInstances\\": {\\n \\"CreatedInstance\\": [\\n \\"[ \\\\\\"i-abc1\\\\\\", \\\\\\"i-abc2\\\\\\" ]\\"\\n ]\\n },\\n \\"DestroyedInstances\\": {\\n \\"DestroyedInstance\\": [\\n \\"[ \\\\\\"i-abc1\\\\\\", \\\\\\"i-abc2\\\\\\" ]\\"\\n ]\\n },\\n \\"StartedInstances\\": {\\n \\"StartedInstance\\": [\\n \\"[ \\\\\\"i-abc1\\\\\\", \\\\\\"i-abc2\\\\\\" ]\\"\\n ]\\n },\\n \\"StoppedInstances\\": {\\n \\"StoppedInstance\\": [\\n \\"[ \\\\\\"i-abc1\\\\\\", \\\\\\"i-abc2\\\\\\" ]\\"\\n ]\\n },\\n \\"ErrorCode\\": \\"OperationDenied.NoStock\\",\\n \\"ErrorMessage\\": \\"The specified ECS resource is out of stock in this region. Please try again later.\\",\\n \\"Detail\\": \\"\\\\\\"new ECS instances \\\\\\"i-j6c8ilerw, i-j6c8iler4mx\\\\\\" are created.\\\\\\"\\",\\n \\"TriggerSourceType\\": \\"Api\\",\\n \\"TriggerSourceId\\": \\"2346366580*****\\",\\n \\"LifecycleHookContext\\": {\\n \\"DisableLifecycleHook\\": false,\\n \\"IgnoredLifecycleHookIds\\": {\\n \\"IgnoredLifecycleHookId\\": [\\n \\"ash-bp14zolna43z266bq***\\"\\n ]\\n }\\n },\\n \\"ActivityMetadata\\": \\"{\\\\\\\\\\\\\\"goatscaler.io/managed\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\"}\\",\\n \\"InstanceRefreshTaskId\\": \\"ir-asdf12adsxg*****\\",\\n \\"ErrorMessages\\": {\\n \\"ErrorMessages\\": [\\n {\\n \\"Description\\": \\"Fail to create instances into scaling group.\\",\\n \\"Code\\": \\"OperationDenied.NoStock\\",\\n \\"Message\\": \\"The resource is out of stock in the specified zone. Please try other types, or choose other regions and zones.\\",\\n \\"FailedInstanceIds\\": {\\n \\"FailedInstanceIds\\": [\\n \\"i-8vbedazhjj6a6******\\"\\n ]\\n }\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query scaling activities', + 'description' => '## Operation description'."\n" + ."\n" + .'- You can specify a scaling group ID to query all scaling activities in the scaling group.'."\n" + ."\n" + .'- You can filter query results by the status of scaling activities.'."\n" + ."\n" + .'- You can query scaling activities within the last 30 days.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingActivities', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - [ - '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', - ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScalingActivities'], ], + ], + ], + 'DescribeScalingActivityDetail' => [ + 'summary' => 'Queries the details of a scaling activity.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - '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', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '92681', + 'abilityTreeNodes' => ['FEATUREessACRSW1'], + ], + 'parameters' => [ [ - 'name' => 'CpuOptionsCore', + 'name' => 'ScalingActivityId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of physical CPU cores. You can specify this parameter only for specific instance types. For more information, see [Customize CPU options](~~197781~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1000', - 'minimum' => '0', - 'example' => '2', - ], + 'schema' => ['description' => 'The ID of the scaling activity that you want to query. You can call [DescribeScalingActivities](~~25961~~) to query scaling activity IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asa-bp1c9djwrgxjyk31****', 'title' => ''], ], - [ - 'name' => 'CpuOptionsThreadsPerCore', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The number of threads per core. You can specify this parameter only for specific instance types. A value of 1 indicates that Hyper-Threading is disabled. For more information, see [Customize CPU options](~~197781~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B13527BF-1FBD-4334-A512-20F5E9D3FB4D', 'title' => ''], + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'example' => 'asa-bp1c9djwrgxjyk31****', 'title' => ''], + 'Detail' => ['description' => 'The details of the scaling activity, including whether the scaling activity succeeded or failed. This parameter is not returned when the scaling activity is in the reject state.', 'type' => 'string', 'example' => 'new ECS instances \\"i-bp16t2cgmiiymeqv****\\" are created.', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'EphemeralStorage', - 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the temporary storage space. By default, an enhanced SSD (ESSD) of the PL1 level is used. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5000', - 'minimum' => '0', - 'example' => '20', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B13527BF-1FBD-4334-A512-20F5E9D3FB4D\\",\\n \\"ScalingActivityId\\": \\"asa-bp1c9djwrgxjyk31****\\",\\n \\"Detail\\": \\"new ECS instances \\\\\\\\\\\\\\"i-bp16t2cgmiiymeqv****\\\\\\\\\\\\\\" are created.\\"\\n}","type":"json"}]', + 'title' => 'Query the details of a scaling activity', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' |HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidParameter|The input parameter \\"ScalingActivityId\\" that is mandatory for processing this request is not supplied|The ID of the scaling activity to query is not specified.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScalingActivityDetail'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingActivityDetail', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + ], + 'DescribeScalingConfigurations' => [ + 'summary' => 'Queries the information about scaling configurations.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'LoadBalancerWeight', - 'in' => 'query', - 'schema' => [ - 'description' => 'The weight of the elastic container instance as a backend server of the associated Server Load Balancer (SLB) instance. Valid values: 1 to 100.'."\n" - ."\n" - .'Default value: 50.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92682', + 'abilityTreeNodes' => ['FEATUREessVYTHU5'], + ], + 'parameters' => [ [ - 'name' => 'Tag', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags of the elastic container instance. The tags must be specified in the key-value pair format. You can specify up to 20 tags. When you specify tag keys and tag values, take note of the following items:'."\n" - ."\n" - .'- A tag key can be up to 64 characters in length. The key cannot start with acs: or aliyun and cannot contain `http://` or `https://`. You cannot specify an empty string as a tag key.'."\n" - .'- A tag value can be up to 128 characters in length. The value cannot start with acs: or aliyun and cannot contain `http://` or `https://`. You can specify an empty string as a tag value.', - 'type' => 'array', - 'items' => [ - 'description' => 'The tags of the elastic container instance. The tags must be specified in the key-value pair format. You can specify up to 20 tags. When you specify tag keys and tag values, take note of the following items:'."\n" - ."\n" - .'- A tag key can be up to 64 characters in length. The key cannot start with acs: or aliyun and cannot contain `http://` or `https://`. You cannot specify an empty string as a tag key.'."\n" - .'- A tag value can be up to 128 characters in length. The value cannot start with acs: or aliyun and cannot contain `http://` or `https://`. You can specify an empty string as a tag value.', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N. Valid values of N: 1 to 20.'."\n" - ."\n" - .'You cannot specify an empty string as a tag key. The tag key can be up to 128 characters in length and cannot contain `http://` or `https://`. The key cannot start with `acs:` or `aliyun`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'version', - ], - 'Value' => [ - 'description' => 'The value of tag N. Valid values of N: 1 to 20.'."\n" - ."\n" - .'You can specify an empty string as a tag value. The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. The value cannot start with `acs:`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '3', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], + 'schema' => ['description' => 'The region ID of the scaling group to which the scaling configuration belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'ImageRegistryCredential', + 'name' => 'PageNumber', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Information about the image repository.', - 'type' => 'array', - 'items' => [ - 'description' => 'Information about the image repository.', - 'type' => 'object', - 'properties' => [ - 'Password' => [ - 'description' => 'The password that is used to access image repository N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'yourpaasword', - ], - 'Server' => [ - 'description' => 'The address of image repository N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com', - ], - 'UserName' => [ - 'description' => 'The username that is used to access image repository N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'yourusername', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 11, - ], + 'schema' => ['description' => 'The page number of the scaling configuration list. Minimum value: 1.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], [ - 'name' => 'Container', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The minimum number of consecutive successes before a failed probe is considered successful. Default value: 1. Set the value to 1.', - 'type' => 'array', - 'items' => [ - 'description' => 'The minimum number of consecutive successes before a failed probe is considered successful. Default value: 1. Set the value to 1.'."\n", - 'type' => 'object', - 'properties' => [ - 'ReadinessProbe.TimeoutSeconds' => [ - 'description' => 'The timeout period of the health check. Unit: seconds. Default value: 1. Minimum value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], - 'ReadinessProbe.SuccessThreshold' => [ - 'description' => 'The minimum number of consecutive successes that must occur for the check to be considered successful. Default value: 1. Set the value to 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'SecurityContext.Capability.Add' => [ - 'description' => 'The permissions that you want to grant to the processes in container N. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'> To use NET_RAW, you must submit a ticket.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The permissions that you want to grant to the processes in container N. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'> To use NET_RAW, you must submit a ticket.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NET_ADMIN', - ], - 'required' => false, - 'maxItems' => 100, - ], - 'ReadinessProbe.TcpSocket.Port' => [ - 'description' => 'The port detected by Transmission Control Protocol (TCP) sockets when you use TCP sockets to perform probes.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8000', - ], - 'ReadinessProbe.HttpGet.Scheme' => [ - 'description' => 'The protocol type of HTTP GET requests when you use HTTP requests to perform health checks. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - 'LivenessProbe.PeriodSeconds' => [ - 'description' => 'The interval at which the container is checked. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], - 'Port' => [ - 'description' => 'The port number of the container. Valid values: 1 to 65535.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The port number of the container. Valid values: 1 to 65535.'."\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 number. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 101, - ], - 'EnvironmentVar' => [ - 'description' => 'Information about environment variables.', - 'type' => 'array', - 'items' => [ - 'description' => 'Information about environment variables.', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The name of the environment variable. The name must be 1 to 128 characters in length and can contain letters, digits, and underscores (_). The name cannot start with a digit. Specify the name in the [0-9a-zA-Z] format.', - 'type' => 'string', - 'required' => false, - 'example' => 'PATH', - ], - 'Value' => [ - 'description' => 'The name of the environment variable. The name must be 1 to 128 characters in length and can contain letters, digits, and underscores (_). The name cannot start with a digit. Specify the name in the [0-9a-zA-Z] format.', - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/bin', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 301, - ], - 'LivenessProbe.TcpSocket.Port' => [ - 'description' => 'The port to which HTTP GET requests are sent when you use HTTP requests to perform probes.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8000', - ], - 'Tty' => [ - 'description' => 'Specifies whether to enable interaction. Valid values:'."\n" - ."\n" - .'- true'."\n" - .'- false'."\n" - ."\n" - .'If the value of the Command parameter is /bin/bash, you must set this parameter to true.'."\n" - ."\n" - .'Default value: false.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'WorkingDir' => [ - 'description' => 'The working directory of the container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/', - ], - 'LivenessProbe.HttpGet.Scheme' => [ - 'description' => 'The protocol type of HTTP GET requests when you use HTTP requests to perform health checks. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - 'ReadinessProbe.HttpGet.Port' => [ - 'description' => 'The port to which HTTP GET requests are sent when you use HTTP requests to perform probes.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8080', - ], - 'Arg' => [ - 'description' => 'The arguments that correspond to the startup commands of the container. You can specify up to 10 arguments.', - 'type' => 'array', - 'items' => [ - 'description' => 'The arguments that correspond to the startup commands of the container. You can specify up to 10 arguments.', - 'type' => 'string', - 'required' => false, - 'example' => '100', - ], - 'required' => false, - 'maxItems' => 101, - ], - 'Gpu' => [ - 'description' => 'The arguments that correspond to the startup commands of the container. You can specify up to 10 arguments.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'ReadinessProbe.InitialDelaySeconds' => [ - 'description' => 'The time period after the container is started and before the probe is initiated. Unit: seconds.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'Stdin' => [ - 'description' => 'Specifies whether the container allocates buffer resources to standard input streams when the container is running. If you do not specify this parameter, an end-of-file (EOF) error may occur.'."\n" - ."\n" - .'Default value: false.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Memory' => [ - 'description' => 'The memory size of the container. Unit: GiB.', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.5', - ], - 'Name' => [ - 'description' => 'The name of the container image.', - 'type' => 'string', - 'required' => false, - 'example' => 'nginx', - ], - 'Image' => [ - 'description' => 'The image of the container.', - 'type' => 'string', - 'required' => false, - 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', - ], - 'LivenessProbe.InitialDelaySeconds' => [ - 'description' => 'The time period after the container is started and before the probe is initiated. Unit: seconds.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], - 'VolumeMount' => [ - 'description' => 'Information about the volume mount of the container.', - 'type' => 'array', - 'items' => [ - 'description' => 'Information about the volume mount of the container.', - 'type' => 'object', - 'properties' => [ - 'MountPropagation' => [ - 'description' => 'The mount propagation setting of the volume. Mount propagation allows volumes that are mounted on one container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page for a paged query. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'default' => '10', 'example' => '50', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group. You can query all scaling configurations in the specified scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp17pelvl720x3v7****', 'title' => ''], + ], + [ + 'name' => 'ScalingConfigurationId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The ID of the scaling configuration that you want to query.'."\n" + ."\n" + .'The query results include scaling configurations in both the Active and Inactive states, which are identified by the LifecycleState response element.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the scaling configuration that you want to query.'."\n" + ."\n" + .'The query results include scaling configurations in both the Active and Inactive states, which are identified by the LifecycleState response element.', 'type' => 'string', 'required' => false, 'example' => 'asc-bp17pelvl720x5ub****', 'title' => ''], + 'required' => false, + 'example' => 'asc-bp17pelvl720x5ub****', + 'maxItems' => 10, + 'title' => '', + ], + ], + [ + 'name' => 'ScalingConfigurationName', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The name of the scaling configuration that you want to query.'."\n" + ."\n" + .'The query results ignore invalid scaling configuration names without returning an error.', + 'type' => 'array', + 'items' => ['description' => 'The name of the scaling configuration that you want to query.'."\n" + ."\n" + .'The query results ignore invalid scaling configuration names without returning an error.', 'type' => 'string', 'required' => false, 'example' => 'scalingcon****', 'title' => ''], + 'required' => false, + 'example' => 'scalingcon****', + 'maxItems' => 10, + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'PageNumber' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of scaling configurations.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingConfigurations' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ScalingConfiguration' => [ + 'description' => 'The collection of scaling configuration information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of scaling configuration information.', + 'type' => 'object', + 'properties' => [ + 'DeploymentSetId' => ['description' => 'The ID of the deployment set to which the ECS instance belongs.', 'type' => 'string', 'example' => 'ds-bp1frxuzdg87zh4p****', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the scaling configuration was created.', 'type' => 'string', 'example' => '2014-08-14T10:58Z', 'title' => ''], + 'ScalingConfigurationName' => ['description' => 'The name of the scaling configuration.', 'type' => 'string', 'example' => 'scalingconfigura****', 'title' => ''], + 'SystemDiskDescription' => ['description' => 'The description of the system cloud disk.', 'type' => 'string', 'example' => 'Test system disk.', 'title' => ''], + 'KeyPairName' => ['description' => 'The name of the key pair used to log on to the ECS instance.', 'type' => 'string', 'example' => 'keypair****', 'title' => ''], + 'SecurityGroupId' => ['description' => 'The ID of the security group to which the ECS instance belongs. ECS instances in the same security group can access each other.', 'type' => 'string', 'example' => 'sg-bp18kz60mefs****', 'title' => ''], + 'PrivatePoolOptions.Id' => ['description' => 'The ID of the private pool. The ID of an elasticity assurance or a capacity reservation.', 'type' => 'string', 'example' => 'eap-bp67acfmxazb4****', 'title' => ''], + 'SystemDiskAutoSnapshotPolicyId' => ['description' => 'The ID of the automatic snapshot policy applied to the system cloud disk.', 'type' => 'string', 'example' => 'sp-bp12m37ccmxvbmi5****', 'title' => ''], + 'SpotStrategy' => ['description' => 'The preemption strategy for pay-as-you-go instances. Valid values:'."\n" + .' '."\n" + .'- NoSpot: a regular pay-as-you-go instance.'."\n" + .'- SpotWithPriceLimit: a spot instance with a user-defined maximum hourly price.'."\n" + .'- SpotAsPriceGo: a spot instance priced at the market price at the time of purchase.', 'type' => 'string', 'example' => 'NoSpot', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group to which the scaling configuration belongs.', 'type' => 'string', 'example' => 'asg-bp17pelvl720x3v7****', 'title' => ''], + 'Affinity' => ['description' => 'Specifies whether the instance on a dedicated host is associated with the dedicated host. Valid values:'."\n" + ."\n" + .'- default: The instance is not associated with the dedicated host. When an instance that has the economical mode enabled is restarted, the instance may be placed on another dedicated host in the automatic deployment resource pool if the resources of the original dedicated host are insufficient.'."\n" + ."\n" + .'- host: The instance is associated with the dedicated host. When an instance that has the economical mode enabled is restarted, the instance remains on the original dedicated host. If the resources of the original dedicated host are insufficient, the instance fails to restart.', 'type' => 'string', 'example' => 'default', 'title' => ''], + 'Tenancy' => ['description' => 'Specifies whether to create the instance on a dedicated host. Valid values:'."\n" + ."\n" + .'- default: The instance is not created on a dedicated host.'."\n" + ."\n" + .'- host: The instance is created on a dedicated host. If you do not specify DedicatedHostId, Alibaba Cloud automatically selects a dedicated host for the instance.', 'type' => 'string', 'example' => 'default', 'title' => ''], + 'SystemDiskSize' => ['description' => 'The size of the system cloud disk. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Ipv6AddressCount' => ['description' => 'The number of randomly generated IPv6 addresses allocated to the network interface controller (NIC).', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'SpotDuration' => ['description' => 'The retention period of the spot instance. Unit: hours.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'LifecycleState' => ['description' => 'The status of the scaling configuration in the scaling group. Valid values:'."\n" + ."\n" + .'- Active: The scaling configuration is active. The scaling group uses the active scaling configuration for automatic creation of ECS instances.'."\n" + .'- Inacitve: The scaling configuration is inactive. Inactive scaling configurations are retained in the scaling group, but the scaling group does not use them for automatic creation of ECS instances.', 'type' => 'string', 'example' => 'Active', 'title' => ''], + 'InstanceName' => ['description' => 'The name of the ECS instance.', 'type' => 'string', 'example' => 'instance****', 'title' => ''], + 'SecurityEnhancementStrategy' => ['description' => 'Specifies whether security hardening is enabled. Valid values:'."\n" + ."\n" + .'- Active: Security hardening is enabled. This value is applicable only to public images.'."\n" + .'- Deactive: Security hardening is disabled. This value is applicable to all image types.', 'type' => 'string', 'example' => 'Active', 'title' => ''], + 'UserData' => ['description' => 'The user data of the ECS instance, which is encoded in Base64.', 'type' => 'string', 'example' => 'echo hello ecs!', 'title' => ''], + 'PrivatePoolOptions.MatchCriteria' => ['description' => 'The private pool capacity option for instance startup. A private pool is generated after an elasticity assurance or a capacity reservation takes effect. You can select a private pool when you start an instance. Valid values:'."\n" + ."\n" + .'- Open: open mode. The system automatically matches an open private pool. If no matching private pool is available, the public pool is used to start the instance.'."\n" + ."\n" + .'- Target: specified mode. A specified private pool is used to start the instance. If the specified private pool is unavailable, the instance fails to start.'."\n" + ."\n" + .'- None: none mode. No private pool is used to start the instance.', 'type' => 'string', 'example' => 'Open', 'title' => ''], + 'DedicatedHostId' => ['description' => 'Specifies whether to create the ECS instance on a dedicated host. Because dedicated hosts do not support the creation of spot instances, the SpotStrategy and SpotPriceLimit settings are automatically ignored when DedicatedHostId is specified.'."\n" + ."\n" + .'You can call [DescribeDedicatedHosts](~~134242~~) to query the list of dedicated host IDs.', 'type' => 'string', 'example' => 'dh-bp67acfmxazb4p****', 'title' => ''], + 'InstanceGeneration' => ['description' => 'The generation of the ECS instance.', 'type' => 'string', 'example' => 'ecs-3', 'title' => ''], + 'HpcClusterId' => ['description' => 'The ID of the HPC cluster to which the ECS instance belongs.', 'type' => 'string', 'example' => 'hpc-clus****', 'title' => ''], + 'PasswordInherit' => ['description' => 'Specifies whether to use the password preset in the image.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Memory' => ['description' => 'The memory size. Unit: GiB.'."\n" + ."\n" + .'You can specify both CPU and Memory to define the range of instance types. For example, you can set CPU to 2 and Memory to 16 to define all instance types that have 2 vCPUs and 16 GiB of memory. Auto Scaling determines the set of available instance types based on factors such as I/O optimization and zones, and then creates instances at the lowest price.'."\n" + ."\n" + .'> This setting takes effect only when the cost optimization mode is enabled and no instance type is specified in the scaling configuration.', 'type' => 'integer', 'format' => 'int32', 'example' => '16', 'title' => ''], + 'ImageId' => ['description' => 'The ID of the image file used for automatic creation of instances.', 'type' => 'string', 'example' => 'centos6u5_64_20G_aliaegis_2014****.vhd', 'title' => ''], + 'ImageFamily' => ['description' => 'The name of the image family. You can set this parameter to obtain the latest available image from the specified image family for instance creation. If ImageId is already specified, this parameter cannot be set.', 'type' => 'string', 'example' => 'hangzhou-daily-update', 'title' => ''], + 'ImageOwnerAlias' => ['description' => 'The source of the image. Valid values:'."\n" + .'- system: a public image provided by Alibaba Cloud.'."\n" + .'- self: a custom image that you created.'."\n" + .'- others: a shared image or community image from other Alibaba Cloud accounts.'."\n" + .'- marketplace: an image from Alibaba Cloud Marketplace.', 'type' => 'string', 'example' => 'system', 'title' => ''], + 'LoadBalancerWeight' => ['description' => 'The weight of the ECS instance as a backend server. Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'SystemDiskCategory' => ['description' => 'The category of the system cloud disk. Valid values:'."\n" + ."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.', 'type' => 'string', 'example' => 'cloud', 'title' => ''], + 'HostName' => ['description' => 'The hostname of the ECS instance.', 'type' => 'string', 'example' => 'LocalHost', 'title' => ''], + 'SystemDiskName' => ['description' => 'The name of the system cloud disk.', 'type' => 'string', 'example' => 'cloud_ssd_Test', 'title' => ''], + 'InternetMaxBandwidthOut' => ['description' => 'The maximum outbound public bandwidth. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'InternetMaxBandwidthIn' => ['description' => 'The maximum inbound public bandwidth. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type of the ECS instance.', 'type' => 'string', 'example' => 'ecs.g6.large', 'title' => ''], + 'InstanceDescription' => ['description' => 'The description of the ECS instance.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], + 'IoOptimized' => ['description' => 'Indicates whether the instance is an I/O optimized instance. Valid values:'."\n" + ."\n" + .'- none: non-I/O optimization.'."\n" + .'- optimized: I/O optimization.', 'type' => 'string', 'example' => 'none', 'title' => ''], + 'RamRoleName' => ['description' => 'The name of the RAM role associated with the ECS instance. The RAM role is provided and maintained by RAM. You can call [ListRoles](~~28713~~) to query available RAM roles. For information about how to create a RAM role, see [CreateRole](~~28710~~).', 'type' => 'string', 'example' => 'ramrole****', 'title' => ''], + 'SystemDiskPerformanceLevel' => ['description' => 'The performance level (PL) of the system cloud disk when the system cloud disk is an ESSD.', 'type' => 'string', 'example' => 'PL1', 'title' => ''], + 'Cpu' => ['description' => 'The number of vCPUs.'."\n" + ."\n" + .'You can specify both CPU and Memory to define the range of instance types. For example, you can set CPU to 2 and Memory to 16 to define all instance types that have 2 vCPUs and 16 GiB of memory. Auto Scaling determines the set of available instance types based on factors such as I/O optimization and zones, and then creates instances at the lowest price.'."\n" + ."\n" + .'> This setting takes effect only when the cost optimization mode is enabled and no instance type is specified in the scaling configuration.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the ECS instance belongs.', 'type' => 'string', 'example' => 'rg-aekzn2ou7xo****', 'title' => ''], + 'ZoneId' => ['description' => 'The zone ID of the instance. You can call [DescribeZones](~~25610~~) to query the list of available zones.', 'type' => 'string', 'example' => 'cn-hangzhou-g', 'title' => ''], + 'InternetChargeType' => ['description' => 'The billing method for network usage. Valid values:'."\n" + ."\n" + .'- PayByBandwidth: pay-by-bandwidth. The value of InternetMaxBandwidthOut is the fixed bandwidth value.'."\n" + .'- PayByTraffic: pay-by-traffic. The value of InternetMaxBandwidthOut is the bandwidth upper limit. Billing is based on the actual network traffic.', 'type' => 'string', 'example' => 'PayByTraffic', 'title' => ''], + 'ImageName' => ['description' => 'The name of the image file.', 'type' => 'string', 'example' => 'centos6u5_64_20G_aliaegis_20140703.vhd', 'title' => ''], + 'ScalingConfigurationId' => ['description' => 'The ID of the scaling configuration.', 'type' => 'string', 'example' => 'asc-bp1ezrfgoyn5kijl****', 'title' => ''], + 'CreditSpecification' => ['description' => 'The running mode of the burstable instance. Valid values:'."\n" + .'- Standard: standard mode. For more information, see the performance constrained mode section in [What are burstable instances?](~~59977~~).'."\n" + .'- Unlimited: unlimited mode. For more information, see the unlimited mode section in [What are burstable instances?](~~59977~~).', 'type' => 'string', 'example' => 'Standard', 'title' => ''], + 'SpotInterruptionBehavior' => ['description' => 'The interruption pattern of the spot instance.', 'type' => 'string', 'example' => 'Terminate', 'title' => ''], + 'DataDisks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataDisk' => [ + 'description' => 'The collection of data cloud disk information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of data cloud disk information.', + 'type' => 'object', + 'properties' => [ + 'PerformanceLevel' => ['description' => 'The performance level (PL) of the data cloud disk when the data cloud disk is an ESSD.', 'type' => 'string', 'example' => 'PL1', 'title' => ''], + 'Description' => ['description' => 'The description of the data cloud disk.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], + 'SnapshotId' => ['description' => 'The ID of the snapshot used to create the data cloud disk.', 'type' => 'string', 'example' => 's-23f2i****', 'title' => ''], + 'Device' => ['description' => 'The mount point of the data cloud disk.', 'type' => 'string', 'example' => '/dev/xvdb', 'title' => ''], + 'Size' => ['description' => 'The size of the data cloud disk. Unit: GiB. Valid values:'."\n" + ."\n" + .'- cloud: 5 to 2000.'."\n" + .'- cloud_efficiency: 20 to 32768.'."\n" + .'- cloud_ssd: 20 to 32768.'."\n" + .'- cloud_essd: 20 to 32768.'."\n" + .'- ephemeral_ssd: 5 to 800.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'DiskName' => ['description' => 'The name of the data cloud disk.', 'type' => 'string', 'example' => 'cloud_ssdData', 'title' => ''], + 'AutoSnapshotPolicyId' => ['description' => 'The ID of the automatic snapshot policy applied to the data cloud disk.', 'type' => 'string', 'example' => 'sp-bp19nq9enxqkomib****', 'title' => ''], + 'Category' => ['description' => 'The category of the data cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance property of a basic cloud disk created along with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.'."\n" + .'- cloud_regional_disk_auto: regional ESSD.', 'type' => 'string', 'example' => 'cloud', 'title' => ''], + 'KMSKeyId' => ['description' => 'The ID of the KMS key for the data cloud disk.', 'type' => 'string', 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'title' => ''], + 'DeleteWithInstance' => ['description' => 'Indicates whether the data cloud disk is released when the instance is released. Valid values:'."\n" + ."\n" + .'- true: The data cloud disk is released when the instance is released.'."\n" + .'- false: The data cloud disk is retained when the instance is released.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Encrypted' => ['description' => 'Indicates whether the data cloud disk is encrypted. Valid values:'."\n" + ."\n" + .'- true: encrypted.'."\n" + .'- false: not encrypted.', 'type' => 'string', 'example' => 'false', 'title' => ''], + 'Categories' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Category' => [ + 'description' => 'The multiple disk types of the data cloud disk. The first disk type has the highest priority, and the priority decreases in order. When a higher-priority disk type is unavailable, Auto Scaling automatically attempts the next-priority disk type to create the data cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance property of a basic cloud disk created along with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.'."\n" + .'- cloud_regional_disk_auto: regional ESSD.', + 'type' => 'array', + 'items' => ['description' => 'The multiple disk types of the data cloud disk. The first disk type has the highest priority, and the priority decreases in order. When a higher-priority disk type is unavailable, Auto Scaling automatically attempts the next-priority disk type to create the data cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance property of a basic cloud disk created along with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.', 'type' => 'string', 'example' => 'cloud_essd', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'ProvisionedIops' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metrics of the data cloud disk.'."\n" + ."\n" + .'> IOPS refers to the number of I/O operations that a block storage device can process per second.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], + 'BurstingEnabled' => ['description' => 'Indicates whether the Burst (performance burst) feature is enabled for the data cloud disk. Valid values:'."\n" + .'- true: enabled.'."\n" + .'- false: not enabled.'."\n" + ."\n" + .'> This parameter is returned only when DataDisk.Category is set to cloud_auto.'."\n" + ."\n" + .'For more information, see [ESSD AutoPL cloud disks](~~368372~~).', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'The collection of tag information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of tag information.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the instance. Valid values of N: 1 to 20.'."\n" + ."\n" + .'The tag key cannot be an empty string. The tag key can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. The tag key cannot contain `http://` or `https://`.', 'type' => 'string', 'example' => 'binary', 'title' => ''], + 'Value' => ['description' => 'The tag value of the instance. Valid values of N: 1 to 20.'."\n" + ."\n" + .'The tag value can be an empty string. The tag value can be up to 128 characters in length and cannot start with `acs:`. The tag value cannot contain `http://` or `https://`.', 'type' => 'string', 'example' => 'alterTable', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SpotPriceLimit' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SpotPriceModel' => [ + 'description' => 'The collection of spot instance information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of spot instance information.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The instance type of the spot instance.', 'type' => 'string', 'example' => 'ecs.g6.large', 'title' => ''], + 'PriceLimit' => ['description' => 'The price limit of the spot instance.', 'type' => 'number', 'format' => 'float', 'example' => '0.125', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'InstancePatternInfos' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstancePatternInfo' => [ + 'description' => 'The collection of intelligent configuration information used to filter instance types that meet the specified requirements.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of intelligent configuration information used to filter instance types that meet the specified requirements.', + 'type' => 'object', + 'properties' => [ + 'MaxPrice' => ['description' => 'The maximum hourly price for pay-as-you-go or spot instances.', 'type' => 'number', 'format' => 'float', 'example' => '2', 'title' => ''], + 'Cores' => ['description' => 'The number of vCPU cores of the instance type.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'Memory' => ['description' => 'The memory size of the instance type. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'example' => '4', 'title' => ''], + 'InstanceFamilyLevel' => ['description' => 'The level of the instance family.'."\n" + ."\n" + .'- EntryLevel: entry level, which refers to shared instance types. These instance types are more cost-effective but do not guarantee stable computing performance. They are suitable for scenarios with low CPU utilization. For more information, see [Shared instance families](~~108489~~).'."\n" + .'- EnterpriseLevel: enterprise level. These instance types provide stable performance and dedicated resources. They are suitable for scenarios that require high stability. For more information, see [Instance families](~~25378~~).'."\n" + .'- CreditEntryLevel: credit entry level, which refers to burstable instances. These instance types use CPU credits to ensure computing performance. They are suitable for scenarios with low average CPU utilization and occasional bursts. For more information, see [Burstable instances](~~59977~~).', 'type' => 'string', 'example' => 'EnterpriseLevel', 'title' => ''], + 'Architectures' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Architecture' => [ + 'description' => 'The architecture type of the instance type. Valid values:'."\n" + ."\n" + .'- X86: x86 computing.'."\n" + .'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n" + .'- BareMental: ECS Bare Metal Instance server.'."\n" + .'- Arm: Arm computing.'."\n" + ."\n" + .'Default value: all architecture types.', + 'type' => 'array', + 'items' => ['description' => 'The architecture type of the instance type. Valid values:'."\n" + ."\n" + .'- X86: x86 computing.'."\n" + .'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n" + .'- BareMental: ECS Bare Metal Instance server.'."\n" + .'- Arm: Arm computing.'."\n" + ."\n" + .'Default value: all architecture types.', 'type' => 'string', 'example' => 'X86', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'BurstablePerformance' => ['description' => 'Specifies whether burstable instance types are included. Valid values:'."\n" + ."\n" + .'- Exclude: Burstable instance types are excluded.'."\n" + .'- Include: Burstable instance types are included.'."\n" + .'- Required: Only burstable instance types are included.'."\n" + ."\n" + .'Default value: Include.', 'type' => 'string', 'example' => 'Include', 'title' => ''], + 'ExcludedInstanceTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ExcludedInstanceType' => [ + 'description' => 'The instance types to exclude. You can use wildcard characters (*) to exclude a single instance type or an entire instance family. Examples:'."\n" + ."\n" + .'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n" + .'- ecs.c6.*: excludes the entire c6 instance family.', + 'type' => 'array', + 'items' => ['description' => 'The instance types to exclude. You can use wildcard characters (*) to exclude a single instance type or an entire instance family. Examples:'."\n" + ."\n" + .'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n" + .'- ecs.c6.*: excludes the entire c6 instance family.', 'type' => 'string', 'example' => 'ecs.n1.small/ecs.n1.*/*7*', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'InstanceTypeFamilies' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceTypeFamily' => [ + 'description' => 'The instance families to query. N indicates that you can specify multiple instance families. Valid values of N: 1 to 10.', + 'type' => 'array', + 'items' => ['description' => 'The instance families to query. N indicates that you can specify multiple instance families. Valid values of N: 1 to 10.', 'type' => 'string', 'example' => 'ecs.g6', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'MinimumCpuCoreCount' => ['description' => 'The minimum number of vCPU cores of the instance type.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'MaximumCpuCoreCount' => ['description' => 'The maximum number of vCPU cores of the instance type.'."\n" + .'> The value of MaximumCpuCoreCount cannot exceed four times the value of MinimumCpuCoreCount.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'GpuSpecs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'GpuSpec' => [ + 'description' => 'The GPU type.', + 'type' => 'array', + 'items' => ['description' => 'The GPU type.', 'type' => 'string', 'example' => 'NVIDIA V100', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'InstanceCategories' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceCategory' => [ + 'description' => 'The instance type category.', + 'type' => 'array', + 'items' => ['description' => 'The instance categorization. Valid values:'."\n" + .'>N specifies that you can configure multiple instance categories. Valid values of N: 1 to 10.'."\n" + ."\n" + .'- General-purpose: general-purpose.'."\n" + .'- Compute-optimized: compute-optimized.'."\n" + .'- Memory-optimized: memory-optimized.'."\n" + .'- Big data: big data.'."\n" + .'- Local SSDs: local SSD.'."\n" + .'- High Clock Speed: high frequency.'."\n" + .'- Enhanced: enhanced.'."\n" + .'- Shared: shared.'."\n" + .'- Compute-optimized with GPU: GPU computing.'."\n" + .'- Visual Compute-optimized: visual compute-optimized.'."\n" + .'- Heterogeneous Service: heterogeneous service.'."\n" + .'- Compute-optimized with FPGA: FPGA-accelerated compute-optimized.'."\n" + .'- Compute-optimized with NPU: NPU-accelerated compute-optimized.'."\n" + .'- ECS Bare Metal: ECS Bare Metal Instance server.'."\n" + .'- High Performance Compute: high-performance computing (HPC).', 'type' => 'string', 'example' => 'Compute-optimized with GPU', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'CpuArchitectures' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CpuArchitecture' => [ + 'description' => 'The CPU architecture of the instance type.', + 'type' => 'array', + 'items' => ['description' => 'The CPU architecture of the instance type. Valid values:'."\n" + .'> N indicates that you can specify multiple CPU architectures. Valid values of N: 1 to 2.'."\n" + ."\n" + .'- X86.'."\n" + .'- ARM.', 'type' => 'string', 'example' => 'X86', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'PhysicalProcessorModels' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PhysicalProcessorModel' => [ + 'description' => 'The processor model of the instance. N indicates that you can specify multiple processor models. Valid values of N: 1 to 10.', + 'type' => 'array', + 'items' => ['description' => 'The processor model of the instance. N indicates that you can specify multiple processor models. Valid values of N: 1 to 10.', 'type' => 'string', 'example' => 'Intel Xeon(Ice Lake) Platinum 8369B", "Intel Xeon(Skylake) Platinum 8163", … "Intel Xeon(Cascade Lake) Platinum 8269CY', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'MinimumEniQuantity' => ['description' => 'The minimum number of network interface controllers (NICs) that the instance supports.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'MinimumEniPrivateIpAddressQuantity' => ['description' => 'The expected minimum number of IPv4 addresses per network interface controller (NIC) on the instance.'."\n" + .'[_single.resp.200.props.ScalingConfigurations.ScalingConfiguration.items.InstancePatternInfos.InstancePatternInfo.items.Minimum', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'MinimumEniIpv6AddressQuantity' => ['description' => 'The maximum number of IPv6 addresses supported by the minimum number of elastic network interfaces (ENIs) per instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MinimumInitialCredit' => ['description' => 'The minimum initial vCPU credit value for burstable instances (t5 and t6).', 'type' => 'integer', 'format' => 'int32', 'example' => '12', 'title' => ''], + 'MinimumBaselineCredit' => ['description' => 'The minimum baseline vCPU computing performance (sum of all vCPUs) for burstable instances (t5 and t6).', 'type' => 'integer', 'format' => 'int32', 'example' => '12', 'title' => ''], + 'MinimumMemorySize' => ['description' => 'The minimum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'example' => '4', 'title' => ''], + 'MaximumMemorySize' => ['description' => 'The maximum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'example' => '4', 'title' => ''], + 'MinimumGpuAmount' => ['description' => 'The minimum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'MaximumGpuAmount' => ['description' => 'The maximum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SystemDiskCategories' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SystemDiskCategory' => [ + 'description' => 'The multiple disk types of the system cloud disk. The first disk type has the highest priority, and the priority decreases in order. When a higher-priority disk type is unavailable, Auto Scaling automatically attempts the next-priority disk type to create the system cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.', + 'type' => 'array', + 'items' => ['description' => 'The multiple disk types of the system cloud disk. The first disk type has the highest priority, and the priority decreases in order. When a higher-priority disk type is unavailable, Auto Scaling automatically attempts the next-priority disk type to create the system cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.', 'type' => 'string', 'example' => 'cloud', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'WeightedCapacities' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'WeightedCapacity' => [ + 'description' => 'The weight of the specified instance type, which indicates the capacity of a single instance of this type in the scaling group. A higher weight means fewer instances of this type are required to meet the expected capacity.', + 'type' => 'array', + 'items' => ['description' => 'The weight of the specified instance type, which indicates the capacity of a single instance of this type in the scaling group. A higher weight means fewer instances of this type are required to meet the expected capacity.', 'type' => 'string', 'example' => '4', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'InstanceTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'InstanceType' => [ + 'description' => 'The collection of instance types of the ECS instance.', + 'type' => 'array', + 'items' => ['description' => 'The collection of instance types of the ECS instance.', 'type' => 'string', 'example' => 'ecs.g6.large', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SecurityGroupIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SecurityGroupId' => [ + 'description' => 'The IDs of the multiple security groups to which the ECS instance belongs. ECS instances in the same security group can access each other.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of the multiple security groups to which the ECS instance belongs. ECS instances in the same security group can access each other.', 'type' => 'string', 'example' => 'sg-bp18kz60mefs****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SchedulerOptions' => [ + 'description' => 'The scheduling options.', + 'type' => 'object', + 'properties' => [ + 'ManagedPrivateSpaceId' => ['description' => 'The intelligent fully managed resource pool.', 'type' => 'string', 'example' => 'testManagedPrivateSpaceId', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'SystemDisk.Encrypted' => ['description' => 'Indicates whether the system cloud disk is encrypted. Valid values:'."\n" + .'- true: encrypted.'."\n" + .'- false: not encrypted.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'SystemDisk.KMSKeyId' => ['description' => 'The ID of the KMS key used for the system cloud disk.'."\n" + .'[_single.resp.200.props.ScalingConfigurations.ScalingConfiguration.items.SystemD', 'type' => 'string', 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'title' => ''], + 'SystemDisk.EncryptAlgorithm' => ['description' => 'The encryption algorithm used for the system cloud disk. Valid values:'."\n" + .'- AES-256.'."\n" + .'- SM4-128.', 'type' => 'string', 'example' => 'AES-256', 'title' => ''], + 'SystemDisk.ProvisionedIops' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metrics of the system cloud disk.'."\n" ."\n" - .'* None: This volume mount does not receive subsequent mounts that are mounted to this volume or subdirectories of this volume by the host.'."\n" - .'* HostToCotainer: This volume mount receives all subsequent mounts that are mounted to this volume or subdirectories of this volume.'."\n" - .'* Bidirectional: The volume mount behaves the same as the HostToCotainer mount. The volume mount receives all subsequent mounts that are mounted to this volume or subdirectories of this volume. In addition, all volume mounts created by the container are propagated back to the host and to all containers of all pods that use the same volume.'."\n" + .'> IOPS (Input/Output Operations Per Second) refers to the number of I/O operations that can be processed per second, indicating the read/write capability of block storage.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], + 'SystemDisk.BurstingEnabled' => ['description' => 'Indicates whether the burst feature is enabled for the system cloud disk. Valid values:'."\n" ."\n" - .'Default value: None.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The directory on which the container mounts the volume.'."\n" + .'- true: Enabled.'."\n" + .'- false: Not enabled.'."\n" ."\n" - .'>Data in this directory is overwritten by the data on the volume.', - 'type' => 'string', - 'required' => false, - 'example' => '/pod/data', - ], - 'ReadOnly' => [ - 'description' => 'Specifies whether the volume is read-only. Valid values:'."\n" + .'> This parameter is supported only when SystemDisk.Category is set to cloud_auto.'."\n" ."\n" - .'- true'."\n" - .'- false'."\n" + .'For more information, see [ESSD AutoPL cloud disks](~~368372~~).', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'ImageOptions.LoginAsNonRoot' => ['description' => 'Indicates whether the ECS instance uses the ecs-user user for logon. Valid values:'."\n" ."\n" - .'Default value: false.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Name' => [ - 'description' => 'The name of the volume. The value of this parameter is the same as the value of the VolumeName parameter.', - 'type' => 'string', - 'required' => false, - 'example' => 'default-volume1', - ], - 'SubPath' => [ - 'description' => 'The subdirectory of the volume.', - 'type' => 'string', - 'required' => false, - 'example' => 'data2/', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 101, - ], - 'LivenessProbe.FailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures for the probe to be considered failed after having been successful.'."\n" - ."\n" - .'Default value: 3.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'ReadinessProbe.Exec.Command' => [ - 'description' => 'The commands executed in the container when using the command line to perform the health check.', - 'type' => 'array', - 'items' => [ - 'description' => 'The command.', - 'type' => 'string', - 'required' => false, - 'example' => 'cat /tmp/healthy', - ], - 'required' => false, - 'maxItems' => 20, - ], - 'ReadinessProbe.FailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures for the probe to be considered failed after having been successful. Default value: 3.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'ImagePullPolicy' => [ - 'description' => 'The policy that you want to use to pull an image. Valid values:'."\n" - ."\n" - .'* Always: Each time instances are created, image pulling is performed.'."\n" - .'* IfNotPresent: Image pulling is performed as needed. On-premises images are preferentially used. If no on-premises images are available, image pulling is performed.'."\n" - .'* Never: On-premises images are always used. Image pulling is not performed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Always', - ], - 'StdinOnce' => [ - 'description' => 'Specifies whether to disconnect standard input streams after a client is disconnected.'."\n" - ."\n" - .'If you set the StdinOnce parameter to true, standard input streams are connected after the container is started, and remain idle until a client is connected to receive data. After the client is disconnected, streams are also disconnected, and remain disconnected until the container is started again.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Cpu' => [ - 'description' => 'The number of CPU cores in the container.', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.25', - ], - 'LivenessProbe.HttpGet.Port' => [ - 'description' => 'The port to which HTTP GET requests are sent when you use HTTP requests to perform probes.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8888', - ], - 'LivenessProbe.HttpGet.Path' => [ - 'description' => 'The path to which HTTP GET requests are sent when you use HTTP requests to perform probes.', - 'type' => 'string', - 'required' => false, - 'example' => '/healthyz', - ], - 'LivenessProbe.SuccessThreshold' => [ - 'description' => 'The minimum number of consecutive successes for the probe to be considered successful after having failed. Default value: 1. Set the value to 1.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'ReadinessProbe.PeriodSeconds' => [ - 'description' => 'The interval at which probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'LivenessProbe.TimeoutSeconds' => [ - 'description' => 'The timeout period for the probe. Unit: seconds. Default value: 1. Minimum value: 1.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'Command' => [ - 'description' => 'The commands that you want to run in the container when you use the CLI to perform probes.', - 'type' => 'array', - 'items' => [ - 'description' => 'The command.', - 'type' => 'string', - 'required' => false, - 'example' => 'sleep', - ], - 'required' => false, - 'maxItems' => 101, - ], - 'SecurityContext.RunAsUser' => [ - 'description' => 'The ID of the user that runs the container.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000', - ], - 'ReadinessProbe.HttpGet.Path' => [ - 'description' => 'The path to which HTTP GET requests are sent when you use HTTP requests to perform probes.', - 'type' => 'string', - 'required' => false, - 'example' => '/healthz', - ], - 'LivenessProbe.Exec.Command' => [ - 'description' => 'The 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' => [ - 'type' => 'string', - ], - 'LifecyclePostStartHandlerHttpGetPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'LifecyclePostStartHandlerHttpGetPath' => [ - 'type' => 'string', - ], - 'LifecyclePostStartHandlerHttpGetScheme' => [ - 'type' => 'string', - ], - 'LifecyclePostStartHandlerExec' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - ], - 'LifecyclePostStartHandlerTcpSocketHost' => [ - 'type' => 'string', - ], - 'LifecyclePostStartHandlerTcpSocketPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'LifecyclePreStopHandlerHttpGetHost' => [ - 'type' => 'string', - ], - 'LifecyclePreStopHandlerHttpGetPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'LifecyclePreStopHandlerHttpGetPath' => [ - 'type' => 'string', - ], - 'LifecyclePreStopHandlerHttpGetScheme' => [ - 'type' => 'string', - ], - 'LifecyclePreStopHandlerExec' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - ], - 'LifecyclePreStopHandlerTcpSocketHost' => [ - 'type' => 'string', - ], - 'LifecyclePreStopHandlerTcpSocketPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], - ], - [ - 'name' => 'Volume', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Information about the volumes.', - 'type' => 'array', - 'items' => [ - 'description' => 'Information about the volumes.', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the Host file or path. Examples: File, Directory, and Socket.', - 'type' => 'string', - 'required' => false, - 'example' => 'ConfigFileVolume', - ], - 'DiskVolume.DiskSize' => [ - 'description' => 'The storage size of the disk volume. Unit: GiB.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '15', - ], - 'NFSVolume.Path' => [ - 'description' => 'The path of the NFS volume.', - 'type' => 'string', - 'required' => false, - 'example' => '/share', - ], - 'FlexVolume.FsType' => [ - 'description' => 'The type of the mounted file system. By default, the value of this parameter varies based on the script of FlexVolume.', - 'type' => 'string', - 'required' => false, - 'example' => 'ext4', - ], - 'DiskVolume.FsType' => [ - 'description' => 'The type of the disk volume. We recommend that you specify the `FlexVolume.FsType` parameter instead of the DiskVolume.FsType parameter.', - 'type' => 'string', - 'required' => false, - 'example' => 'xfs', - ], - 'HostPathVolume.Type' => [ - 'description' => 'The type of host directory. For example: File, Directory, Socket, etc.', - 'type' => 'string', - 'required' => false, - 'example' => 'Directory', - ], - 'NFSVolume.ReadOnly' => [ - 'description' => 'Specifies whether the NFS volume is read-only. Valid values:'."\n" - ."\n" - .'- true'."\n" - .'- false'."\n" - ."\n" - .'Default value: false.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'HostPathVolume.Path' => [ - 'description' => 'The absolute path to the Host node.', - 'type' => 'string', - 'required' => false, - 'example' => '/xx/xx/path', - ], - 'FlexVolume.Options' => [ - 'description' => 'The FlexVolume objects. Each object is a key-value pair contained in a JSON string.'."\n" - ."\n" - .'If you set the Type parameter to FlexVolume, specify objects in the `{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}` format.', - 'type' => 'string', - 'required' => false, - 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}', - ], - 'FlexVolume.Driver' => [ - 'description' => 'The name of the FlexVolume driver.', - 'type' => 'string', - 'required' => false, - 'example' => 'flexvolume', - ], - 'ConfigFileVolumeDefaultMode' => [ - 'description' => 'The default permissions on the ConfigFile volume.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0644', - ], - 'NFSVolume.Server' => [ - 'description' => 'The endpoint of the NFS server.', - 'type' => 'string', - 'required' => false, - 'example' => '3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com', - ], - 'DiskVolume.DiskId' => [ - 'description' => 'The endpoint of the NFS server.', - 'type' => 'string', - 'required' => false, - 'example' => 'd-xx', - ], - 'Name' => [ - 'description' => 'The name of the volume.', - 'type' => 'string', - 'required' => false, - 'example' => 'default-volume1', - ], - 'EmptyDirVolume.Medium' => [ - 'description' => 'The storage medium when you set the Type parameter to EmptyDirVolume. If you leave this parameter empty, the file system that backs the node is used as the storage medium. If you set this parameter to memory, the memory is used as the storage medium.', - 'type' => 'string', - 'required' => false, - 'example' => 'memory', - ], - 'ConfigFileVolumeConfigFileToPath' => [ - 'description' => 'The paths to the configuration files.', - 'type' => 'array', - 'items' => [ - 'description' => 'The paths to the configuration files.', - 'type' => 'object', - 'properties' => [ - 'Path' => [ - 'description' => 'The name of the environment variable. The name must be 1 to 128 characters in length. Specify the name in the `[0-9a-zA-Z]` format. The name can contain underscores and cannot start with a digit.', - 'type' => 'string', - 'required' => false, - 'example' => 'PATH', - ], - 'Mode' => [ - 'description' => 'The permissions on ConfigFileVolume.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0644', - ], - 'Content' => [ - 'description' => 'The content of the configuration file, which can be up to 32 KB in size.', - 'type' => 'string', - 'required' => false, - 'example' => 'bGl1bWk=', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 90, - ], - 'EmptyDirVolume.SizeLimit' => [ - 'type' => 'string', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 101, - ], - ], - [ - 'name' => 'InitContainer', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The init containers.', - 'type' => 'array', - 'items' => [ - 'description' => 'The init containers.'."\n", - 'type' => 'object', - 'properties' => [ - 'InitContainerEnvironmentVar' => [ - 'description' => 'The environment variables of the init container.', - 'type' => 'array', - 'items' => [ - 'description' => 'The environment variables of the init container.', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the environment variable. Specify the key in the `[0-9a-zA-Z]` format. The key must be 1 to 128 characters in length. The key can contain underscores (_) and cannot start with a digit.', - 'type' => 'string', - 'required' => false, - 'example' => 'Path', - ], - 'Value' => [ - 'description' => 'The value of the environment variable. The value must be 0 to 256 characters in length.', - 'type' => 'string', - 'required' => false, - 'example' => '/usr/bin/', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 301, - ], - 'SecurityContext.Capability.Add' => [ - 'description' => 'The permissions granted to processes in the container.', - 'type' => 'array', - 'items' => [ - 'description' => 'The permission granted to processes in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'>To use NET_RAW, you must submit a ticket.', - 'type' => 'string', - 'required' => false, - 'example' => 'NET_ADMIN', - ], - 'required' => false, - 'maxItems' => 100, - ], - 'Image' => [ - 'description' => 'The container image.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nginx', - ], - 'InitContainerVolumeMount' => [ - 'description' => 'Information about the volume mounts of the init container.', - 'type' => 'array', - 'items' => [ - 'description' => 'Information about the volume mounts of the init container.', - 'type' => 'object', - 'properties' => [ - 'MountPropagation' => [ - 'description' => 'The mount propagation settings of the volume . Mount propagation allows volumes that are mounted on one container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" + .'- true: Yes.'."\n" + .'- false: No.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'DeletionProtection' => ['description' => 'The release protection property of the ECS instance. This property applies only to pay-as-you-go instances and specifies whether the instance can be directly released from the ECS console or by calling the DeleteInstance operation. Valid values:'."\n" + ."\n" + .'- true: Release protection is enabled. The instance cannot be directly released from the ECS console or by calling the API operation. This prevents instances that are scaled out by Auto Scaling from being accidentally deleted.'."\n" + ."\n" + .'- false: Release protection is disabled. The instance can be directly released from the ECS console or by calling the API operation.'."\n" + ."\n" + .'> This property does not affect normal scale-in activities. When a scale-in activity occurs, pay-as-you-go instances with release protection enabled can still be released.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'StorageSetId' => ['description' => 'The ID of the storage set.', 'type' => 'string', 'example' => 'ss-bp67acfmxazb4p****', 'title' => ''], + 'StorageSetPartitionNumber' => ['description' => 'The maximum number of partitions in the storage set. The value must be an integer that is greater than or equal to 2.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'CustomPriorities' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CustomPriority' => [ + 'description' => 'The custom priority of the **ECS instance type + vSwitch** combination.'."\n" + ."\n" + .'> This parameter takes effect only when the ``scaling policy`` of the scaling group is set to `Priority`.'."\n" + ."\n" + .'When Auto Scaling cannot create ECS instances by using the **ECS instance type + vSwitch** combination with a higher priority, Auto Scaling automatically uses the **ECS instance type + vSwitch** combination with the next priority to create ECS instances.'."\n" + ."\n" + .'> If you specify custom priorities for only some **ECS instance type + vSwitch** combinations, the unspecified combinations have lower priorities than the specified ones. The unspecified combinations are still prioritized based on the vSwitch order of the scaling group and the instance type order of the scaling configuration. For example, if the vSwitch order of the scaling group is vsw1 and vsw2, the instance type order of the scaling configuration is type1 and type2, and the custom priority order is `["vsw2+type2", "vsw1+type2"]`, the final priority is `vsw2+type2` > `vsw1+type2` > `vsw1+type1` > `vsw2+type1`.', + 'type' => 'array', + 'items' => [ + 'description' => 'The custom priority of the **ECS instance type + vSwitch** combination.'."\n" + ."\n" + .'>This parameter takes effect only when the ``scaling policy`` of the scaling group is set to `Priority`.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The instance type of the ECS instance.'."\n" + .'> The instance type must be included in the instance type list of the scaling configuration.', 'type' => 'string', 'example' => 'ecs.g6.large', 'title' => ''], + 'VswitchId' => ['description' => 'The ID of the vSwitch.'."\n" + .'> The vSwitch must be included in the vSwitch list of the scaling group.', 'type' => 'string', 'example' => 'vsw-bp14zolna43z266bq****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'NetworkInterfaces' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'NetworkInterface' => [ + 'description' => 'The list of elastic network interfaces (ENIs).', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of elastic network interfaces (ENIs).', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The type of the elastic network interfaces (ENIs). Valid values:'."\n" + ."\n" + .'- Primary: primary network interface controller (NIC).'."\n" + ."\n" + .'- Secondary: secondary elastic network interfaces (ENIs).', 'type' => 'string', 'example' => 'Primary', 'title' => ''], + 'NetworkInterfaceTrafficMode' => ['description' => 'The communication pattern of the elastic network interfaces (ENIs). Valid values:'."\n" + ."\n" + .'- Standard: uses the TCP communication pattern.'."\n" + .'- HighPerformance: enables the Elastic RDMA Interface (ERI) on the network interface controller (NIC) and uses the RDMA communication pattern.', 'type' => 'string', 'example' => 'HighPerformance', 'title' => ''], + 'Ipv6AddressCount' => ['description' => 'The number of randomly generated IPv6 addresses allocated to the primary ENI.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'SecurityGroupIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SecurityGroupId' => [ + 'description' => 'The IDs of one or more security groups to which the elastic network interfaces (ENIs) belong. The network interface controller (NIC) can belong to multiple security groups.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of one or more security groups to which the elastic network interfaces (ENIs) belong. The network interface controller (NIC) can belong to multiple security groups.', 'type' => 'string', 'example' => 'sg-2vc3e1v7h****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SecondaryPrivateIpAddressCount' => ['description' => 'The number of secondary private IPv4 addresses assigned to the ENI. Valid values: 1 to 49.'."\n" + ."\n" + .'- The value cannot exceed the IP address limit for the instance type. For more information, see [Instance families](~~25378~~).'."\n" + .'- NetworkInterface.N.SecondaryPrivateIpAddressCount specifies the number of secondary private IPv4 addresses assigned to the ENI (excluding the primary private IP address of the ENI). The system randomly assigns IP addresses from the available CIDR block of the vSwitch (NetworkInterface.N.VSwitchId) associated with the ENI.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'DedicatedHostClusterId' => ['description' => 'The ID of the dedicated host cluster.', 'type' => 'string', 'example' => 'dc-2zedxc67zqzt7lb4****', 'title' => ''], + 'PasswordSetted' => ['description' => 'Indicates whether a password is set for the instance. Valid values:'."\n" ."\n" - .'- None: The volume mount does not receive subsequent mounts that are mounted to this volume or its subdirectories.'."\n" - .'- HostToCotainer: The volume mount receives all subsequent mounts that are mounted to this volume or its subdirectories.'."\n" - .'- Bidirectional: This value is similar to HostToCotainer. The volume mount receives all subsequent mounts that are mounted to this volume or its subdirectories. In addition, all volume mounts that are created by the container are propagated back to the instance and to all containers of all pods that use the same volume.', - 'type' => 'string', - 'required' => false, - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The path to which the volume is mounted. Data under this path is overwritten by the data on the volume.', - 'type' => 'string', - 'required' => false, - 'example' => '/usr/share/', - ], - 'ReadOnly' => [ - 'description' => 'Specifies whether the mount path is read-only.'."\n" + .'- true: A password is set.'."\n" + .'- false: No password is set.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'SecurityOptions' => [ + 'description' => 'The security options.', + 'type' => 'object', + 'properties' => [ + 'ConfidentialComputingMode' => ['description' => 'The confidential computing mode. Valid values:'."\n" + .'- Enclave: The ECS instance uses Enclave to build a confidential computing environment. For more information, see [Build a confidential computing environment by using Enclave](~~203433~~).'."\n" + .'- TDX: builds a TDX confidential computing environment. For more information, see [Build a TDX confidential computing environment](~~479090~~).', 'type' => 'string', 'example' => 'TDX', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'HttpEndpoint' => ['description' => 'Indicates whether the access channel for instance metadata is enabled. Valid values:'."\n" ."\n" - .'Default value: false.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Name' => [ - 'description' => 'The name of the volume.', - 'type' => 'string', - 'required' => false, - 'example' => 'test-empty', - ], - 'SubPath' => [ - 'description' => 'The subdirectory of the volume. The elastic container instance can mount different directories of the same volume to different subdirectories of containers.', - 'type' => 'string', - 'required' => false, - 'example' => '/usr/sub/', + .'- enabled: Enabled.'."\n" + .'- disabled: Disabled.', 'type' => 'string', 'example' => 'enabled', 'title' => ''], + 'HttpTokens' => ['description' => 'Indicates whether the China mode (IMDSv2) is forcefully used to access instance metadata. Valid values:'."\n" + ."\n" + .'- optional: Not forcefully used.'."\n" + .'- required: Forcefully used. After this value is set, instance metadata cannot be accessed in normal mode.', 'type' => 'string', 'example' => 'optional', 'title' => ''], + 'ResourcePoolOptions' => [ + 'description' => 'The resource pool policy used when instances are created.'."\n" + ."\n" + .'- This parameter takes effect only when pay-as-you-go instances are created.', + 'type' => 'object', + 'properties' => [ + 'Strategy' => ['description' => 'Resource pools include private pools generated after elasticity assurance or capacity reservation takes effect, and public pools. You can select a resource pool when instances are started. Valid values:'."\n" + ."\n" + .'- PrivatePoolFirst: private pool first. If ResourcePoolOptions.PrivatePoolIds is specified or the PrivatePoolTags conditions are met, the corresponding private pool is used first. If no private pool is specified or the specified private pool has insufficient capacity, open-type private pools are automatically matched. If no matching private pool is available, the public pool is used to create instances.'."\n" + ."\n" + .'- PrivatePoolOnly: private pool only. ResourcePoolOptions.PrivatePoolIds must be specified. If the specified private pool has insufficient capacity, the instance fails to start.'."\n" + ."\n" + .'- PublicPoolFirst: public pool first. The public pool is used first to create instances. When public pool resources are insufficient, private pool resources are used as a supplement. Open-type private pools are automatically matched first. If no matching private pool is available, the Target-type private pools specified by ResourcePoolOptions.PrivatePoolIds or matching the PrivatePoolTags conditions are used.'."\n" + ."\n" + .'- None: no resource pool policy is used.'."\n" + ."\n" + .'Default value: None.', 'type' => 'string', 'example' => 'PrivatePoolFirst', 'title' => ''], + 'PrivatePoolIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PrivatePoolId' => [ + 'description' => 'The private pool ID, which is the elasticity assurance ID or capacity reservation ID. This parameter cannot be specified together with the PrivatePoolTags parameter.', + 'type' => 'array', + 'items' => ['description' => 'The private pool ID, which is the elasticity assurance ID or capacity reservation ID. This parameter cannot be specified together with the PrivatePoolTags parameter.', 'type' => 'string', 'example' => 'eap-bp67acfmxazb4****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'PrivatePoolTags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PrivatePoolTag' => [ + 'description' => 'Filters available Target private pools by tag.', + 'type' => 'array', + 'items' => [ + 'description' => 'Filters available Target private pools by tag.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the private pool.'."\n" + ."\n" + .'Filters available Target private pools by tag.', 'type' => 'string', 'example' => 'TestKey', 'title' => ''], + 'Value' => ['description' => 'The tag value of the private pool.', 'type' => 'string', 'example' => 'TestValue', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'CpuOptions' => [ + 'description' => 'The CPU options.', + 'type' => 'object', + 'properties' => [ + 'NestedVirtualization' => ['description' => 'Indicates whether hardware-based nested virtualization is enabled. Valid values:'."\n" + ."\n" + .'* enabled: Enabled.'."\n" + .'* disabled: Not enabled.', 'type' => 'string', 'example' => 'enabled', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], ], + 'title' => '', + 'example' => '', ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 101, - ], - 'ImagePullPolicy' => [ - 'description' => 'The image pulling policy.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Always', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs that you want to allocate to the container.', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.5', - ], - 'WorkingDir' => [ - 'description' => 'The working directory.', - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local', - ], - 'Command' => [ - 'description' => 'The list of commands that you want to run to start the container.', - 'type' => 'array', - 'items' => [ - 'description' => 'The command.', - 'type' => 'string', - 'required' => false, - 'example' => 'sleep', - ], - 'required' => false, - 'maxItems' => 101, - ], - 'Arg' => [ - 'description' => 'The arguments that correspond to the startup commands of the container. You can specify up to 10 arguments.', - 'type' => 'array', - 'items' => [ - 'description' => 'The arguments that correspond to the startup commands of the container. You can specify up to 10 arguments.', - 'type' => 'string', - 'required' => false, - 'example' => '10', + 'title' => '', + 'example' => '', ], - 'required' => false, - 'maxItems' => 101, - ], - 'SecurityContext.RunAsUser' => [ - 'description' => 'The ID of the user that runs the container.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '587', - ], - 'Gpu' => [ - 'description' => 'The number of GPUs that you want to allocate to the container.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'Memory' => [ - 'description' => 'The size of the memory. Unit: GiB.', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1.0', - ], - 'Name' => [ - 'description' => 'The name of the container.', - 'type' => 'string', - 'required' => false, - 'example' => 'test-init', ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'required' => false, ], - 'required' => false, - 'maxItems' => 21, + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"ScalingConfigurations\\": {\\n \\"ScalingConfiguration\\": [\\n {\\n \\"DeploymentSetId\\": \\"ds-bp1frxuzdg87zh4p****\\",\\n \\"CreationTime\\": \\"2014-08-14T10:58Z\\",\\n \\"ScalingConfigurationName\\": \\"scalingconfigura****\\",\\n \\"SystemDiskDescription\\": \\"Test system disk.\\",\\n \\"KeyPairName\\": \\"keypair****\\",\\n \\"SecurityGroupId\\": \\"sg-bp18kz60mefs****\\",\\n \\"PrivatePoolOptions.Id\\": \\"eap-bp67acfmxazb4****\\",\\n \\"SystemDiskAutoSnapshotPolicyId\\": \\"sp-bp12m37ccmxvbmi5****\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"ScalingGroupId\\": \\"asg-bp17pelvl720x3v7****\\",\\n \\"Affinity\\": \\"default\\",\\n \\"Tenancy\\": \\"default\\",\\n \\"SystemDiskSize\\": 100,\\n \\"Ipv6AddressCount\\": 1,\\n \\"SpotDuration\\": 1,\\n \\"LifecycleState\\": \\"Active\\",\\n \\"InstanceName\\": \\"instance****\\",\\n \\"SecurityEnhancementStrategy\\": \\"Active\\",\\n \\"UserData\\": \\"echo hello ecs!\\",\\n \\"PrivatePoolOptions.MatchCriteria\\": \\"Open\\",\\n \\"DedicatedHostId\\": \\"dh-bp67acfmxazb4p****\\",\\n \\"InstanceGeneration\\": \\"ecs-3\\",\\n \\"HpcClusterId\\": \\"hpc-clus****\\",\\n \\"PasswordInherit\\": true,\\n \\"Memory\\": 16,\\n \\"ImageId\\": \\"centos6u5_64_20G_aliaegis_2014****.vhd\\",\\n \\"ImageFamily\\": \\"hangzhou-daily-update\\",\\n \\"ImageOwnerAlias\\": \\"system\\",\\n \\"LoadBalancerWeight\\": 1,\\n \\"SystemDiskCategory\\": \\"cloud\\",\\n \\"HostName\\": \\"LocalHost\\",\\n \\"SystemDiskName\\": \\"cloud_ssd_Test\\",\\n \\"InternetMaxBandwidthOut\\": 10,\\n \\"InternetMaxBandwidthIn\\": 10,\\n \\"InstanceType\\": \\"ecs.g6.large\\",\\n \\"InstanceDescription\\": \\"FinanceDept\\",\\n \\"IoOptimized\\": \\"none\\",\\n \\"RamRoleName\\": \\"ramrole****\\",\\n \\"SystemDiskPerformanceLevel\\": \\"PL1\\",\\n \\"Cpu\\": 2,\\n \\"ResourceGroupId\\": \\"rg-aekzn2ou7xo****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"InternetChargeType\\": \\"PayByTraffic\\",\\n \\"ImageName\\": \\"centos6u5_64_20G_aliaegis_20140703.vhd\\",\\n \\"ScalingConfigurationId\\": \\"asc-bp1ezrfgoyn5kijl****\\",\\n \\"CreditSpecification\\": \\"Standard\\",\\n \\"SpotInterruptionBehavior\\": \\"Terminate\\",\\n \\"DataDisks\\": {\\n \\"DataDisk\\": [\\n {\\n \\"PerformanceLevel\\": \\"PL1\\",\\n \\"Description\\": \\"FinanceDept\\",\\n \\"SnapshotId\\": \\"s-23f2i****\\",\\n \\"Device\\": \\"/dev/xvdb\\",\\n \\"Size\\": 200,\\n \\"DiskName\\": \\"cloud_ssdData\\",\\n \\"AutoSnapshotPolicyId\\": \\"sp-bp19nq9enxqkomib****\\",\\n \\"Category\\": \\"cloud\\",\\n \\"KMSKeyId\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40****\\",\\n \\"DeleteWithInstance\\": true,\\n \\"Encrypted\\": \\"false\\",\\n \\"Categories\\": {\\n \\"Category\\": [\\n \\"cloud_essd\\"\\n ]\\n },\\n \\"ProvisionedIops\\": 100,\\n \\"BurstingEnabled\\": false\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"binary\\",\\n \\"Value\\": \\"alterTable\\"\\n }\\n ]\\n },\\n \\"SpotPriceLimit\\": {\\n \\"SpotPriceModel\\": [\\n {\\n \\"InstanceType\\": \\"ecs.g6.large\\",\\n \\"PriceLimit\\": 0.125\\n }\\n ]\\n },\\n \\"InstancePatternInfos\\": {\\n \\"InstancePatternInfo\\": [\\n {\\n \\"MaxPrice\\": 2,\\n \\"Cores\\": 2,\\n \\"Memory\\": 4,\\n \\"InstanceFamilyLevel\\": \\"EnterpriseLevel\\",\\n \\"Architectures\\": {\\n \\"Architecture\\": [\\n \\"X86\\"\\n ]\\n },\\n \\"BurstablePerformance\\": \\"Include\\",\\n \\"ExcludedInstanceTypes\\": {\\n \\"ExcludedInstanceType\\": [\\n \\"ecs.n1.small/ecs.n1.*/*7*\\"\\n ]\\n },\\n \\"InstanceTypeFamilies\\": {\\n \\"InstanceTypeFamily\\": [\\n \\"ecs.g6\\"\\n ]\\n },\\n \\"MinimumCpuCoreCount\\": 2,\\n \\"MaximumCpuCoreCount\\": 4,\\n \\"GpuSpecs\\": {\\n \\"GpuSpec\\": [\\n \\"NVIDIA V100\\"\\n ]\\n },\\n \\"InstanceCategories\\": {\\n \\"InstanceCategory\\": [\\n \\"Compute-optimized with GPU\\"\\n ]\\n },\\n \\"CpuArchitectures\\": {\\n \\"CpuArchitecture\\": [\\n \\"X86\\"\\n ]\\n },\\n \\"PhysicalProcessorModels\\": {\\n \\"PhysicalProcessorModel\\": [\\n \\"Intel Xeon(Ice Lake) Platinum 8369B\\\\\\", \\\\\\"Intel Xeon(Skylake) Platinum 8163\\\\\\", … \\\\\\"Intel Xeon(Cascade Lake) Platinum 8269CY\\"\\n ]\\n },\\n \\"MinimumEniQuantity\\": 2,\\n \\"MinimumEniPrivateIpAddressQuantity\\": 2,\\n \\"MinimumEniIpv6AddressQuantity\\": 1,\\n \\"MinimumInitialCredit\\": 12,\\n \\"MinimumBaselineCredit\\": 12,\\n \\"MinimumMemorySize\\": 4,\\n \\"MaximumMemorySize\\": 4,\\n \\"MinimumGpuAmount\\": 2,\\n \\"MaximumGpuAmount\\": 2\\n }\\n ]\\n },\\n \\"SystemDiskCategories\\": {\\n \\"SystemDiskCategory\\": [\\n \\"cloud\\"\\n ]\\n },\\n \\"WeightedCapacities\\": {\\n \\"WeightedCapacity\\": [\\n \\"4\\"\\n ]\\n },\\n \\"InstanceTypes\\": {\\n \\"InstanceType\\": [\\n \\"ecs.g6.large\\"\\n ]\\n },\\n \\"SecurityGroupIds\\": {\\n \\"SecurityGroupId\\": [\\n \\"sg-bp18kz60mefs****\\"\\n ]\\n },\\n \\"SchedulerOptions\\": {\\n \\"ManagedPrivateSpaceId\\": \\"testManagedPrivateSpaceId\\"\\n },\\n \\"SystemDisk.Encrypted\\": false,\\n \\"SystemDisk.KMSKeyId\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40****\\",\\n \\"SystemDisk.EncryptAlgorithm\\": \\"AES-256\\",\\n \\"SystemDisk.ProvisionedIops\\": 100,\\n \\"SystemDisk.BurstingEnabled\\": false,\\n \\"ImageOptions.LoginAsNonRoot\\": false,\\n \\"DeletionProtection\\": false,\\n \\"StorageSetId\\": \\"ss-bp67acfmxazb4p****\\",\\n \\"StorageSetPartitionNumber\\": 2,\\n \\"CustomPriorities\\": {\\n \\"CustomPriority\\": [\\n {\\n \\"InstanceType\\": \\"ecs.g6.large\\",\\n \\"VswitchId\\": \\"vsw-bp14zolna43z266bq****\\"\\n }\\n ]\\n },\\n \\"NetworkInterfaces\\": {\\n \\"NetworkInterface\\": [\\n {\\n \\"InstanceType\\": \\"Primary\\",\\n \\"NetworkInterfaceTrafficMode\\": \\"HighPerformance\\",\\n \\"Ipv6AddressCount\\": 1,\\n \\"SecurityGroupIds\\": {\\n \\"SecurityGroupId\\": [\\n \\"sg-2vc3e1v7h****\\"\\n ]\\n },\\n \\"SecondaryPrivateIpAddressCount\\": 2\\n }\\n ]\\n },\\n \\"DedicatedHostClusterId\\": \\"dc-2zedxc67zqzt7lb4****\\",\\n \\"PasswordSetted\\": false,\\n \\"SecurityOptions\\": {\\n \\"ConfidentialComputingMode\\": \\"TDX\\"\\n },\\n \\"HttpEndpoint\\": \\"enabled\\",\\n \\"HttpTokens\\": \\"optional\\",\\n \\"ResourcePoolOptions\\": {\\n \\"Strategy\\": \\"PrivatePoolFirst\\",\\n \\"PrivatePoolIds\\": {\\n \\"PrivatePoolId\\": [\\n \\"eap-bp67acfmxazb4****\\"\\n ]\\n },\\n \\"PrivatePoolTags\\": {\\n \\"PrivatePoolTag\\": [\\n {\\n \\"Key\\": \\"TestKey\\",\\n \\"Value\\": \\"TestValue\\"\\n }\\n ]\\n }\\n },\\n \\"CpuOptions\\": {\\n \\"NestedVirtualization\\": \\"enabled\\"\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + 'gatewayOptions' => [ + 'gatewayProtocols' => [], + ], + 'title' => 'Query scaling configuration information', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScalingConfigurations'], + ], + ], + 'ramActions' => [ [ - 'name' => 'DnsConfigNameServer', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IP addresses of the DNS servers.', - 'type' => 'array', - 'items' => [ - 'description' => 'The IP addresses of the DNS servers.', - 'type' => 'string', - 'required' => false, - 'example' => '172.10.*.**', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingConfigurations', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'required' => false, - 'maxItems' => 20, ], ], + ], + ], + 'DescribeScalingGroups' => [ + 'summary' => 'Queries scaling groups.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'DnsConfigSearch', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92683', + 'abilityTreeNodes' => ['FEATUREess7569XW'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number of the scaling group list. Minimum value: 1.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', 'in' => 'query', - 'style' => 'repeatList', 'schema' => [ - 'description' => 'The DNS lookup domains.', - 'type' => 'array', - 'items' => [ - 'description' => 'The DNS lookup domains.', - 'type' => 'string', - 'required' => false, - 'example' => 'svc.local.kubenetes', - ], + 'description' => 'The number of entries per page for paging queries. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.', + 'enumValueTitles' => [10 => '10'], + 'type' => 'integer', + 'format' => 'int32', 'required' => false, - 'maxItems' => 20, + 'maximum' => '50', + 'default' => '10', + 'example' => '10', + 'title' => '', ], ], [ - 'name' => 'DnsConfigOption', + 'name' => 'ScalingGroupName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupName.1', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.1为待查询的伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupName.2', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.2为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupName.3', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.3为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupName.4', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.4为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupName.5', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.5为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupName.6', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.6为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupName.7', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.7为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupName.8', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.8为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupName.9', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.9为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupName.10', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.10为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupName.11', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.11为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupName.12', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.12为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupName.13', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.13为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupName.14', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.14为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupName.15', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.15为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupName.16', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.16为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupName.17', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.17为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupName.18', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.18为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupName.19', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.19为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupName.20', + 'in' => 'query', + 'schema' => ['description' => 'ScalingGroupName.20为待查询伸缩组的名称。查询结果会忽略失效的伸缩组名称,并且不报错。', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], + ], + [ + 'name' => 'GroupType', + 'in' => 'query', + 'schema' => ['description' => 'The type of instances managed by the scaling group. Valid values:'."\n" + ."\n" + .'- ECS: The scaling group manages ECS instances.'."\n" + ."\n" + .'- ECI: The scaling group manages ECI instances.', 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The options. Each option is in the name-value pair format. The value in the name-value pair is optional.', + 'description' => 'The ID of the scaling group to query. ScalingGroupId.N specifies the Nth scaling group ID. Valid values of N: 1 to 20. Invalid scaling group IDs are ignored in the query results, and no error is returned.', 'type' => 'array', - 'items' => [ - 'description' => 'The options. Each option is in the name-value pair format. The value in the name-value pair is optional.', - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'The variable value of the option.', - 'type' => 'string', - 'required' => false, - 'example' => 'value', - ], - 'Name' => [ - 'description' => 'The variable value of the option.', - 'type' => 'string', - 'required' => false, - 'example' => 'name', - ], - ], - 'required' => false, - ], + 'items' => ['description' => 'The ID of the scaling group to query. ScalingGroupId.N specifies the Nth scaling group ID. Valid values of N: 1 to 20. Invalid scaling group IDs are ignored in the query results, and no error is returned.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''], 'required' => false, + 'example' => 'asg-bp14wlu85wrpchm0****', 'maxItems' => 20, + 'title' => '', ], ], [ - 'name' => 'HostAliase', + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource group to which the scaling group belongs.'."\n" + .'>If no scaling group belongs to the specified resource group, an empty result is returned, and no error is returned.', 'type' => 'string', 'required' => false, 'example' => 'rg-123****', 'title' => ''], + ], + [ + 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The hostnames and IP addresses of a container that you want to add to the hosts file of the elastic container instance.', + 'description' => 'The tags of the scaling group.', 'type' => 'array', 'items' => [ - 'description' => 'The hostnames and IP addresses of a container that you want to add to the hosts file of the elastic container instance.', + 'description' => 'The tags of the scaling group.', 'type' => 'object', 'properties' => [ - 'Ip' => [ - 'description' => 'The IP address that you want to add.', - 'type' => 'string', - 'required' => false, - 'example' => '1.1.1.1', - ], - 'Hostname' => [ - 'description' => 'The hostname that you want to add.', - 'type' => 'array', - 'items' => [ - 'description' => 'The hostname that you want to add.', - 'type' => 'string', - 'required' => false, - 'example' => 'hehe.com', - ], - 'required' => false, - 'maxItems' => 51, - ], + 'Key' => ['description' => 'The tag key of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'Department', 'title' => ''], + 'Value' => ['description' => 'The tag value of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'Finance', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 101, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'SecurityContextSysctl', - 'in' => 'query', - 'style' => 'repeatList', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The system information of the security context in which the elastic container instance runs.', - 'type' => 'array', - 'items' => [ - 'description' => 'The system information of the security context in which the elastic container instance runs.', - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'The variable value of the security context in which the elastic container instance runs.', - 'type' => 'string', - 'required' => false, - 'example' => '65536', - ], - 'Name' => [ - 'description' => 'The variable value of the security context in which the elastic container instance runs.', - 'type' => 'string', - 'required' => false, - 'example' => 'kernel.msgmax', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'PageNumber' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of scaling groups.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingGroups' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ScalingGroup' => [ + 'description' => 'The collection of scaling group information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of scaling group information.', + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'The ID of the VPC to which the scaling group belongs.', 'type' => 'string', 'example' => 'vpc-bp1vwnn14rqpyiczj****', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the scaling group was created.', 'type' => 'string', 'example' => '2014-08-14T10:58Z', 'title' => ''], + 'TotalInstanceCount' => ['description' => 'The total number of ECS instances in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingGroupName' => ['description' => 'The name of the scaling group.', 'type' => 'string', 'example' => 'dyrSuvBOtO1dEdIlIbp****', 'title' => ''], + 'SpotInstancePools' => ['description' => 'The number of available instance types. The scaling group creates spot instances across multiple instance types at the lowest cost. Valid values: 0 to 10.'."\n" + ."\n" + .'When `MultiAZPolicy` is set to `COMPOSABLE`, the default value is 2.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'StoppedCapacity' => ['description' => 'The number of instances in the scaling group that are in the economy mode (stopped).', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'OnDemandPercentageAboveBaseCapacity' => ['description' => 'The percentage of pay-as-you-go instances among the excess instances when the minimum number of pay-as-you-go instances (OnDemandBaseCapacity) is met. Valid values: 0 to 100.'."\n" + ."\n" + .'When `MultiAZPolicy` is set to `COMPOSABLE`, the default value is 100.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'ModificationTime' => ['description' => 'The time when the scaling group was last modified.', 'type' => 'string', 'example' => '2014-08-14T10:58Z', 'title' => ''], + 'MinSize' => ['description' => 'The minimum number of ECS instances in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''], + 'CompensateWithOnDemand' => ['description' => 'Indicates whether pay-as-you-go instances are automatically created to meet the required number of ECS instances when spot instances cannot be created due to cost or inventory reasons. This parameter takes effect only when `MultiAZPolicy` is set to `COST_OPTIMIZED`. Valid values:'."\n" + ."\n" + .'- true: Pay-as-you-go instances are automatically created.'."\n" + .'- false: Pay-as-you-go instances are not automatically created.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ScalingPolicy' => ['description' => 'The reclaim mode of the scaling group. Valid values:'."\n" + .' '."\n" + .'- recycle: The scaling group uses the shutdown and reclaim mode.'."\n" + .'- release: The scaling group uses the release mode.'."\n" + .'- forcerelease: The scaling group uses the forced release mode.'."\n" + ."\n" + .'For more information about actions on removed instances, see [RemoveInstances](~~25955~~).', 'type' => 'string', 'example' => 'recycle', 'title' => ''], + 'RemovingWaitCapacity' => ['description' => 'The number of ECS instances that are in the pending removal state in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ActiveCapacity' => ['description' => 'The number of ECS instances that have been added to the scaling group and are running as expected.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'OnDemandBaseCapacity' => ['description' => 'The minimum number of pay-as-you-go instances required in the scaling group. Valid values: 0 to 1000. When the number of pay-as-you-go instances in the scaling group is less than this value, the system preferentially creates pay-as-you-go instances.'."\n" + ."\n" + .'When `MultiAZPolicy` is set to `COMPOSABLE`, the default value is 0.', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'ProtectedCapacity' => ['description' => 'The number of ECS instances in the protected state in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'HealthCheckType' => ['description' => 'The health check mode of the scaling group. Valid values:'."\n" + ."\n" + .'- NONE: No health check is performed.'."\n" + .'- ECS: Health checks are performed on instances in the scaling group. This value applies to both ECS-type and ECI-type scaling groups.'."\n" + .'- LOAD_BALANCER: The health status of instances is determined based on the health check results of the associated load balancing instance. CLB-type load balancing instances are not supported.', 'type' => 'string', 'example' => 'ECS', 'title' => ''], + 'LifecycleState' => ['description' => 'The status of the scaling group. Valid values:'."\n" + ."\n" + .'- Active: The scaling group is active. Active scaling groups can accept requests to execute scaling rules and trigger scaling activities.'."\n" + ."\n" + .'- Inactive: The scaling group is inactive. Inactive scaling groups do not accept any requests to execute scaling rules.'."\n" + ."\n" + .'- Deleting: The scaling group is being deleted. Scaling groups that are being deleted do not accept any requests to execute scaling rules, and their parameters cannot be modified.', 'type' => 'string', 'example' => 'Active', 'title' => ''], + 'GroupDeletionProtection' => ['description' => 'Indicates whether deletion protection is enabled for the scaling group. Valid values:'."\n" + ."\n" + .'- true: Deletion protection is enabled. The scaling group cannot be deleted.'."\n" + .'- false: Deletion protection is disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ActiveScalingConfigurationId' => ['description' => 'The ID of the active scaling configuration in the scaling group.', 'type' => 'string', 'example' => 'asc-bp1et2qekq3ojr33****', 'title' => ''], + 'GroupType' => ['description' => 'The type of instances managed by the scaling group.', 'type' => 'string', 'example' => 'ECS', 'title' => ''], + 'MultiAZPolicy' => ['description' => 'The multi-zone scaling policy for ECS instances in the scaling group. Valid values:'."\n" + .' '."\n" + .'- PRIORITY: ECS instances are scaled based on the vSwitches (VSwitchIds.N) that you specify. When an ECS instance cannot be created in the zone of the vSwitch with the highest priority, the system uses the vSwitch with the next highest priority.'."\n" + ."\n" + .'- COST_OPTIMIZED: ECS instances are created based on the unit vCPU price in ascending order. When the scaling configuration specifies multiple instance types with the spot billing method, spot instances are preferentially created. You can use the CompensateWithOnDemand parameter to specify whether to automatically create pay-as-you-go instances when spot instances cannot be created due to inventory reasons.'."\n" + .' > COST_OPTIMIZED takes effect only when multiple instance types are set in the scaling configuration or spot instances are used.'."\n" + ."\n" + .'- BALANCE: ECS instances are evenly allocated across the active zones specified for the scaling group. If instances become unevenly distributed across zones due to reasons such as insufficient inventory, you can call the [RebalanceInstance](~~71516~~) operation to rebalance resources.'."\n" + .'- COMPOSABLE: A composite policy that allows you to customize a combination of the multi-zone scale-in and scale-out policies described above.', 'type' => 'string', 'example' => 'PRIORITY', 'title' => ''], + 'RemovingCapacity' => ['description' => 'The number of ECS instances that are being removed from the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'PendingWaitCapacity' => ['description' => 'The number of ECS instances that are in the pending addition state in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'StandbyCapacity' => ['description' => 'The number of instances in the standby state in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PendingCapacity' => ['description' => 'The number of ECS instances that are being added to the scaling group and have not been configured.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'LaunchTemplateId' => ['description' => 'The ID of the launch template used by the scaling group.', 'type' => 'string', 'example' => 'lt-m5e3ofjr1zn1aw7****', 'title' => ''], + 'TotalCapacity' => ['description' => 'The total weighted capacity of all ECS instances in the scaling group if instance type weights are configured. Otherwise, the total number of ECS instances in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'DesiredCapacity' => ['description' => 'The expected number of instances in the scaling group. The scaling group automatically maintains the number of ECS instances at the expected number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'SpotInstanceRemedy' => ['description' => 'Indicates whether supplemental spot instances are enabled. When enabled, the scaling group attempts to create new instances to replace spot instances that are about to be reclaimed after receiving a reclamation notification.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'LaunchTemplateVersion' => ['description' => 'The version of the launch template used by the scaling group.', 'type' => 'string', 'example' => 'Default', 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'example' => 'cn-qingdao', 'title' => ''], + 'VSwitchId' => ['description' => 'The ID of the vSwitch associated with the scaling group.', 'type' => 'string', 'example' => 'vsw-bp1whw2u46cn8zubm****', 'title' => ''], + 'MaxSize' => ['description' => 'The maximum number of ECS instances in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'DefaultCooldown' => ['description' => 'The default cooldown time of the scaling group. During the cooldown time, the scaling group does not execute other scaling activities. This parameter applies only to scaling activities triggered by [CloudMonitor](~~35170~~) event-triggered tasks.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'VServerGroups' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VServerGroup' => [ + 'description' => 'The list of backend server groups.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of backend server groups.', + 'type' => 'object', + 'properties' => [ + 'LoadBalancerId' => ['description' => 'The ID of the load balancing instance to which the backend server group belongs.', 'type' => 'string', 'example' => '147b46d767c-cn-qingdao-cm5****', 'title' => ''], + 'VServerGroupAttributes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VServerGroupAttribute' => [ + 'description' => 'The attributes of the backend server group.', + 'type' => 'array', + 'items' => [ + 'description' => 'The attributes of the backend server group.', + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => ['description' => 'The ID of the backend server group.', 'type' => 'string', 'example' => 'rsp-bp12bjrny****', 'title' => ''], + 'Weight' => ['description' => 'The weight of the backend server group.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Port' => ['description' => 'The port number used by the load balancing instance to serve external requests.', 'type' => 'integer', 'format' => 'int32', 'example' => '22', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'LaunchTemplateOverrides' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LaunchTemplateOverride' => [ + 'description' => 'The instance type information that overrides the launch template.', + 'type' => 'array', + 'items' => [ + 'description' => 'The instance type information that overrides the launch template.', + 'type' => 'object', + 'properties' => [ + 'WeightedCapacity' => ['description' => 'The weight of the instance type, which represents the capacity of a single instance of this type in the scaling group. A higher weight means fewer instances of this type are needed to meet the desired capacity.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type that overrides the instance type specified in the launch template.', 'type' => 'string', 'example' => 'ecs.c5.xlarge', 'title' => ''], + 'SpotPriceLimit' => ['description' => 'The maximum bid price for the instance type specified by `LaunchTemplateOverride.N.InstanceType`. You can specify up to N values for this parameter, corresponding to N instance types supported by the launch template override. Valid values of N: 1 to 10.'."\n" + .'>This parameter takes effect only when the `LaunchTemplateId` parameter specifies a launch template.', 'type' => 'number', 'format' => 'float', 'example' => '0.025', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'AlbServerGroups' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AlbServerGroup' => [ + 'description' => 'The information about ALB server groups.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about ALB server groups.', + 'type' => 'object', + 'properties' => [ + 'AlbServerGroupId' => ['description' => 'The ID of the ALB server group.', 'type' => 'string', 'example' => 'sgp-ddwb0y0g6y9bjm****', 'title' => ''], + 'Weight' => ['description' => 'The weight of the ECS instance as a backend server after Auto Scaling adds the instance to the ALB server group.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by the ECS instance after Auto Scaling adds the instance to the ALB server group.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'ServerGroups' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ServerGroup' => [ + 'description' => 'The information about load balancing server groups.'."\n" + .'>You can use this parameter to retrieve information about ALB-type, NLB-type, and GWLB-type server groups associated with the scaling group.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about load balancing server groups.', + 'type' => 'object', + 'properties' => [ + 'ServerGroupId' => ['description' => 'The ID of the server group.', 'type' => 'string', 'example' => 'sgp-i9ouakeaerr*****', 'title' => ''], + 'Type' => ['description' => 'The type of the server group. Valid values:'."\n" + ."\n" + .'- ALB: Application Load Balancer (ALB).'."\n" + .'- NLB: Network Load Balancer (NLB).'."\n" + .'- GWLB: Gateway Load Balancer (GWLB).', 'type' => 'string', 'example' => 'ALB', 'title' => ''], + 'Weight' => ['description' => 'The weight of the ECS instance as a backend server after Auto Scaling adds the instance to the server group.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by the ECS instance after Auto Scaling adds the instance to the server group.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'RemovalPolicies' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RemovalPolicy' => [ + 'description' => 'The collection of scale-in policies for ECS instances. Valid values:'."\n" + .'- OldestInstance: The earliest created ECS instance is removed.'."\n" + .'- NewestInstance: The most recently created ECS instance is removed.'."\n" + .'- OldestScalingConfiguration: The ECS instance created from the earliest scaling configuration is removed.'."\n" + .'- CustomPolicy: ECS instances are removed based on a custom scale-in policy defined by a Function Compute function.', + 'type' => 'array', + 'items' => ['description' => 'The collection of scale-in policies for ECS instances. Valid values:'."\n" + .'- OldestInstance: The earliest created ECS instance is removed.'."\n" + .'- NewestInstance: The most recently created ECS instance is removed.'."\n" + .'- OldestScalingConfiguration: The ECS instance created from the earliest scaling configuration is removed.'."\n" + .'- CustomPolicy: ECS instances are removed based on a custom scale-in policy defined by a Function Compute function.', 'type' => 'string', 'example' => 'OldestScalingConfiguration', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'DBInstanceIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DBInstanceId' => [ + 'description' => 'The ID of the RDS instance associated with the scaling group.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the RDS instance associated with the scaling group.', 'type' => 'string', 'example' => 'rm-bp15556qzebg1****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'LoadBalancerIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LoadBalancerId' => [ + 'description' => 'The list of load balancing instance IDs associated with the scaling group.', + 'type' => 'array', + 'items' => ['description' => 'The list of load balancing instance IDs associated with the scaling group.', 'type' => 'string', 'example' => 'lb-bp19byhscefk3x0li****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'VSwitchIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'VSwitchId' => [ + 'description' => 'The collection of vSwitch IDs associated with the scaling group. If you specify the VSwitchIds parameter, the VSwitchId parameter is ignored.', + 'type' => 'array', + 'items' => ['description' => 'The collection of vSwitch IDs associated with the scaling group. If you specify the VSwitchIds parameter, the VSwitchId parameter is ignored.', 'type' => 'string', 'example' => 'vsw-bp1whw2u46cn8zubm****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SuspendedProcesses' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SuspendedProcess' => [ + 'description' => 'The suspended scaling processes. If no process is suspended, an empty value is returned. Valid values:'."\n" + ."\n" + .'- ScaleIn: scale-in process.'."\n" + .'- ScaleOut: scale-out process.'."\n" + .'- HealthCheck: health check.'."\n" + .'- AlarmNotification: event-triggered task.'."\n" + .'- ScheduledAction: scheduled task.', + 'type' => 'array', + 'items' => ['description' => 'The suspended scaling processes. If no process is suspended, an empty value is returned. Valid values:'."\n" + ."\n" + .'- ScaleIn: scale-in process.'."\n" + .'- ScaleOut: scale-out process.'."\n" + .'- HealthCheck: health check.'."\n" + .'- AlarmNotification: event-triggered task.'."\n" + .'- ScheduledAction: scheduled task.', 'type' => 'string', 'example' => 'ScaleIn', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SystemSuspended' => ['description' => 'Indicates whether Auto Scaling has stopped executing scaling activities in the scaling group. Valid values:'."\n" + ."\n" + .'- true: Auto Scaling has stopped executing scaling activities because the scaling group has failed to scale in or scale out for more than 7 consecutive days. Modify the scaling group or scaling configuration to resume the execution of scaling activities.'."\n" + ."\n" + .'- false: Auto Scaling executes scaling activities in the scaling group.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'MonitorGroupId' => ['description' => 'The ID of the CloudMonitor application group associated with the scaling group.', 'type' => 'string', 'example' => '1497****', 'title' => ''], + 'AzBalance' => ['description' => 'Indicates whether the capacity of the scaling group is evenly distributed across multiple zones. Valid values:'."\n" + .'- true: The capacity is evenly distributed across multiple zones.'."\n" + .'- false: The capacity is not evenly distributed across multiple zones.'."\n" + .'>This parameter takes effect only when `MultiAZPolicy` is set to `COMPOSABLE`.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'AllocationStrategy' => ['description' => 'The capacity allocation strategy that determines how the scaling group selects available instance types to meet capacity requirements. This strategy applies to both pay-as-you-go and spot capacity. Valid values:'."\n" + .'- priority: Instances are created in the order of the configured instance types.'."\n" + .'- lowestPrice: Instances are created in ascending order of the unit vCPU price of instance types.'."\n" + .'>This parameter takes effect only when `MultiAZPolicy` is set to `COMPOSABLE`.', 'type' => 'string', 'example' => 'priority', 'title' => ''], + 'SpotAllocationStrategy' => ['description' => 'The allocation strategy for spot capacity. You can use this parameter to separately specify the allocation strategy for spot capacity. This parameter takes effect only when `MultiAZPolicy` is set to `COMPOSABLE`. Valid values:'."\n" + ."\n" + .'- priority: Instances are created in the order of the configured instance types.'."\n" + .'- lowestPrice: Instances are created in ascending order of the unit vCPU price of instance types.', 'type' => 'string', 'example' => 'lowestPrice', 'title' => ''], + 'MaxInstanceLifetime' => ['description' => 'The maximum amount of time that an instance can remain in the scaling group. Unit: seconds.'."\n" + ."\n" + .'Valid values: 0 or `[86400, Integer.maxValue]`. A value of 0 clears the previously set MaxInstanceLifetime value (meaning MaxInstanceLifetime is not set).'."\n" + ."\n" + .'Default value: null.'."\n" + ."\n" + .'>This parameter is not supported for ECI-type scaling groups or scaling groups with the no-charge-on-stop feature enabled.', 'type' => 'integer', 'format' => 'int32', 'example' => 'null', 'title' => ''], + 'CustomPolicyARN' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the custom scale-in policy Function Compute function. This parameter takes effect only when the first removal policy in RemovalPolicies is set to CustomPolicy.', 'type' => 'string', 'example' => 'acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name', 'title' => ''], + 'InitCapacity' => ['description' => 'The number of instances in the scaling group that are in the initialization state before scale-out.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the scaling group belongs.', 'type' => 'string', 'example' => 'rg-123****', 'title' => ''], + 'LoadBalancerConfigs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LoadBalancerConfig' => [ + 'description' => 'The list of load balancing CLB (formerly SLB) configurations.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of load balancing CLB (formerly SLB) configurations.', + 'type' => 'object', + 'properties' => [ + 'LoadBalancerId' => ['description' => 'The ID of the load balancing CLB (formerly SLB) instance.', 'type' => 'string', 'example' => '147b46d767c-cn-qingdao-cm5****', 'title' => ''], + 'Weight' => ['description' => 'The weight of the ECS instance as a backend server after Auto Scaling adds the instance to the load balancing CLB (formerly SLB) server group. A higher weight means more access requests are allocated to the ECS instance. If the weight is 0, the ECS instance does not receive access requests.'."\n" + ."\n" + .'Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'EnableDesiredCapacity' => ['description' => 'Indicates whether the expected number of instances feature is enabled. Valid values:'."\n" + .'- true: Enabled. The expected number of instances information is returned when you query the scaling group.'."\n" + .'- false: Disabled. The expected number of instances information is not returned when you query the scaling group.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'The tags of the scaling group.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of the scaling group.', + 'type' => 'object', + 'properties' => [ + 'TagKey' => ['description' => 'The tag key of the scaling group.', 'type' => 'string', 'example' => 'Department', 'title' => ''], + 'TagValue' => ['description' => 'The tag value of the scaling group.', 'type' => 'string', 'example' => 'Finance', 'title' => ''], + 'Propagate' => ['description' => 'Indicates whether the tag is a propagated tag. Valid values:'."\n" + ."\n" + .'- true: The tag on the scaling group is propagated only to newly created instances, not to instances already running in the scaling group.'."\n" + .'- false: The tag on the scaling group is not propagated to instances.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'HealthCheckTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'HealthCheckType' => [ + 'description' => 'The health check mode of the scaling group. Valid values:'."\n" + ."\n" + .'- NONE: No health check is performed.'."\n" + .'- ECS: Health checks are performed on instances in the scaling group. This value applies to both ECS-type and ECI-type scaling groups.'."\n" + .'- LOAD_BALANCER: The health status of instances is determined based on the health check results of the associated load balancing instance. CLB-type load balancing instances are not', + 'type' => 'array', + 'items' => ['description' => '伸缩组的健康检查方式。可能值:'."\n" + ."\n" + .'- NONE:不做健康检查。'."\n" + .'- ECS:对伸缩组内的实例做健康检查(ECS类型和ECI类型的伸缩组均使用本取值开启实例健康检查)。'."\n" + .'- LOAD_BALANCER: 根据负载均衡(暂不支持clb负载均衡类型)健康检查结果判断实例健康状态。', 'type' => 'string', 'example' => 'ECS', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'DBInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DBInstance' => [ + 'description' => 'The list of databases associated with the scaling group.', + 'type' => 'array', + 'items' => [ + 'description' => 'The database configuration information associated with the scaling group.', + 'type' => 'object', + 'properties' => [ + 'DBInstanceId' => ['description' => '数据库实例ID。', 'type' => 'string', 'example' => 'rm-m5eqju85s45mu0***', 'title' => ''], + 'Type' => ['description' => 'The type of the database. Valid values:'."\n" + ."\n" + .'- RDS.'."\n" + .'- Redis.'."\n" + .'- MongoDB.', 'type' => 'string', 'example' => 'RDS', 'title' => ''], + 'SecurityGroupIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SecurityGroupId' => [ + 'description' => 'The list of security groups added to the database whitelist by the scaling group.', + 'type' => 'array', + 'items' => ['description' => 'Indicates whether the scaling group removes the security groups in this list from the database security group whitelist. This parameter takes effect only when the `AttachMode` parameter in the CreateScalingGroup operation is set to `SecurityGroup`. Valid values:'."\n" + ."\n" + .'- true: The security groups in this list are removed from the database security group whitelist.'."\n" + .'- false: The security groups in this list are not removed from the database security group whitelist.', 'type' => 'string', 'example' => 'sg-uf65zt66cf2a0q47***', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SpotCapacity' => ['description' => 'The number of spot instances in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'StopInstanceTimeout' => ['description' => 'The timeout period for waiting for ECS instances to stop during the scale-in process. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'CapacityOptions' => [ + 'description' => 'The capacity options.', + 'type' => 'object', + 'properties' => [ + 'OnDemandBaseCapacity' => ['description' => 'The minimum number of pay-as-you-go instances required in the scaling group. When the number of pay-as-you-go instances in the scaling group is less than this value, the system preferentially creates pay-as-you-go instances. Valid values: 0 to 1000.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'OnDemandPercentageAboveBaseCapacity' => ['description' => 'The percentage of pay-as-you-go instances among the excess instances when the minimum number of pay-as-you-go instances (`OnDemandBaseCapacity`) is met. Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'CompensateWithOnDemand' => ['description' => 'Indicates whether pay-as-you-go instances are automatically created to meet the required number of ECS instances when spot instances cannot be created due to cost or inventory reasons. This parameter takes effect only when `MultiAZPolicy` is set to `COST_OPTIMIZED`. Valid values:'."\n" + ."\n" + .'- true: Pay-as-you-go instances are automatically created.'."\n" + .'- false: Pay-as-you-go instances are not automatically created.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'SpotAutoReplaceOnDemand' => ['description' => 'Specifies whether to replace excess pay-as-you-go instances with spot instances when `CompensateWithOnDemand` is enabled and the pay-as-you-go ratio exceeds `OnDemandPercentageAboveBaseCapacity`. A common scenario is when `CompensateWithOnDemand` causes spot instances to be downgraded to pay-as-you-go instances due to spot inventory or pricing reasons. To prevent pay-as-you-go instances from persisting for a long time, the system attempts to replace excess pay-as-you-go capacity with spot instances. Valid values:'."\n" + ."\n" + .'- true: Replacement is allowed.'."\n" + .'- false: Replacement is not allowed.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'PriceComparisonMode' => ['description' => 'The price comparison mode for the cost optimization strategy of the scaling group. Valid values:'."\n" + ."\n" + .'- PricePerUnit: Prices are compared based on the price per unit of capacity.'."\n" + ."\n" + .' The capacity of an instance in the scaling group equals the weight configured for the instance type. The default weight is 1, meaning one ECS instance occupies a capacity of 1.'."\n" + ."\n" + .'- PricePerVCpu: Prices are compared based on the price per vCPU.'."\n" + ."\n" + .'Default value: PricePerUnit.', 'type' => 'string', 'example' => 'PricePerUnit', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'BalanceMode' => ['title' => '', 'description' => 'The zone balancing mode. This parameter takes effect only when zone balancing is enabled. Valid values:'."\n" + .' '."\n" + .'- BalancedBestEffort: When resource creation fails in a zone, the system falls back to other zones to ensure best-effort resource delivery.'."\n" + ."\n" + .'- BalancedOnly: When resource creation.', 'type' => 'string', 'example' => 'BalancedBestEffort'], + 'AutoRebalance' => ['title' => '', 'description' => '是否开启伸缩组自动均衡,仅当可用区均衡伸缩组开启了BalancedOnly才生效。可能值:'."\n" + .'- false:不开启伸缩组自动均衡。'."\n" + .'- true:开启伸缩组自动均衡时,伸缩组会自动检测可用区见容量,当可用区容量不均衡时,会主动进行可用区扩缩,进行可用区容量再均衡。', 'type' => 'boolean', 'example' => 'false'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'required' => false, ], - 'required' => false, - 'maxItems' => 11, + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1,\\n \\"ScalingGroups\\": {\\n \\"ScalingGroup\\": [\\n {\\n \\"VpcId\\": \\"vpc-bp1vwnn14rqpyiczj****\\",\\n \\"CreationTime\\": \\"2014-08-14T10:58Z\\",\\n \\"TotalInstanceCount\\": 1,\\n \\"ScalingGroupName\\": \\"dyrSuvBOtO1dEdIlIbp****\\",\\n \\"SpotInstancePools\\": 5,\\n \\"StoppedCapacity\\": 1,\\n \\"OnDemandPercentageAboveBaseCapacity\\": 20,\\n \\"ModificationTime\\": \\"2014-08-14T10:58Z\\",\\n \\"MinSize\\": 1,\\n \\"ScalingGroupId\\": \\"asg-bp14wlu85wrpchm0****\\",\\n \\"CompensateWithOnDemand\\": true,\\n \\"ScalingPolicy\\": \\"recycle\\",\\n \\"RemovingWaitCapacity\\": 1,\\n \\"ActiveCapacity\\": 1,\\n \\"OnDemandBaseCapacity\\": 30,\\n \\"ProtectedCapacity\\": 1,\\n \\"HealthCheckType\\": \\"ECS\\",\\n \\"LifecycleState\\": \\"Active\\",\\n \\"GroupDeletionProtection\\": true,\\n \\"ActiveScalingConfigurationId\\": \\"asc-bp1et2qekq3ojr33****\\",\\n \\"GroupType\\": \\"ECS\\",\\n \\"MultiAZPolicy\\": \\"PRIORITY\\",\\n \\"RemovingCapacity\\": 0,\\n \\"PendingWaitCapacity\\": 1,\\n \\"StandbyCapacity\\": 1,\\n \\"PendingCapacity\\": 0,\\n \\"LaunchTemplateId\\": \\"lt-m5e3ofjr1zn1aw7****\\",\\n \\"TotalCapacity\\": 1,\\n \\"DesiredCapacity\\": 5,\\n \\"SpotInstanceRemedy\\": true,\\n \\"LaunchTemplateVersion\\": \\"Default\\",\\n \\"RegionId\\": \\"cn-qingdao\\",\\n \\"VSwitchId\\": \\"vsw-bp1whw2u46cn8zubm****\\",\\n \\"MaxSize\\": 2,\\n \\"DefaultCooldown\\": 60,\\n \\"VServerGroups\\": {\\n \\"VServerGroup\\": [\\n {\\n \\"LoadBalancerId\\": \\"147b46d767c-cn-qingdao-cm5****\\",\\n \\"VServerGroupAttributes\\": {\\n \\"VServerGroupAttribute\\": [\\n {\\n \\"VServerGroupId\\": \\"rsp-bp12bjrny****\\",\\n \\"Weight\\": 1,\\n \\"Port\\": 22\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"LaunchTemplateOverrides\\": {\\n \\"LaunchTemplateOverride\\": [\\n {\\n \\"WeightedCapacity\\": 4,\\n \\"InstanceType\\": \\"ecs.c5.xlarge\\",\\n \\"SpotPriceLimit\\": 0.025\\n }\\n ]\\n },\\n \\"AlbServerGroups\\": {\\n \\"AlbServerGroup\\": [\\n {\\n \\"AlbServerGroupId\\": \\"sgp-ddwb0y0g6y9bjm****\\",\\n \\"Weight\\": 100,\\n \\"Port\\": 80\\n }\\n ]\\n },\\n \\"ServerGroups\\": {\\n \\"ServerGroup\\": [\\n {\\n \\"ServerGroupId\\": \\"sgp-i9ouakeaerr*****\\",\\n \\"Type\\": \\"ALB\\",\\n \\"Weight\\": 100,\\n \\"Port\\": 80\\n }\\n ]\\n },\\n \\"RemovalPolicies\\": {\\n \\"RemovalPolicy\\": [\\n \\"OldestScalingConfiguration\\"\\n ]\\n },\\n \\"DBInstanceIds\\": {\\n \\"DBInstanceId\\": [\\n \\"rm-bp15556qzebg1****\\"\\n ]\\n },\\n \\"LoadBalancerIds\\": {\\n \\"LoadBalancerId\\": [\\n \\"lb-bp19byhscefk3x0li****\\"\\n ]\\n },\\n \\"VSwitchIds\\": {\\n \\"VSwitchId\\": [\\n \\"vsw-bp1whw2u46cn8zubm****\\"\\n ]\\n },\\n \\"SuspendedProcesses\\": {\\n \\"SuspendedProcess\\": [\\n \\"ScaleIn\\"\\n ]\\n },\\n \\"SystemSuspended\\": true,\\n \\"MonitorGroupId\\": \\"1497****\\",\\n \\"AzBalance\\": false,\\n \\"AllocationStrategy\\": \\"priority\\",\\n \\"SpotAllocationStrategy\\": \\"lowestPrice\\",\\n \\"MaxInstanceLifetime\\": 0,\\n \\"CustomPolicyARN\\": \\"acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name\\",\\n \\"InitCapacity\\": 0,\\n \\"ResourceGroupId\\": \\"rg-123****\\",\\n \\"LoadBalancerConfigs\\": {\\n \\"LoadBalancerConfig\\": [\\n {\\n \\"LoadBalancerId\\": \\"147b46d767c-cn-qingdao-cm5****\\",\\n \\"Weight\\": 10\\n }\\n ]\\n },\\n \\"EnableDesiredCapacity\\": false,\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"Department\\",\\n \\"TagValue\\": \\"Finance\\",\\n \\"Propagate\\": false\\n }\\n ]\\n },\\n \\"HealthCheckTypes\\": {\\n \\"HealthCheckType\\": [\\n \\"ECS\\"\\n ]\\n },\\n \\"DBInstances\\": {\\n \\"DBInstance\\": [\\n {\\n \\"DBInstanceId\\": \\"rm-m5eqju85s45mu0***\\",\\n \\"Type\\": \\"RDS\\",\\n \\"SecurityGroupIds\\": {\\n \\"SecurityGroupId\\": [\\n \\"sg-uf65zt66cf2a0q47***\\"\\n ]\\n }\\n }\\n ]\\n },\\n \\"SpotCapacity\\": 0,\\n \\"StopInstanceTimeout\\": 60,\\n \\"CapacityOptions\\": {\\n \\"OnDemandBaseCapacity\\": 0,\\n \\"OnDemandPercentageAboveBaseCapacity\\": 0,\\n \\"CompensateWithOnDemand\\": true,\\n \\"SpotAutoReplaceOnDemand\\": false,\\n \\"PriceComparisonMode\\": \\"PricePerUnit\\"\\n },\\n \\"BalanceMode\\": \\"BalancedBestEffort\\",\\n \\"AutoRebalance\\": false\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query scaling groups', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScalingGroups'], + ], + ], + 'ramActions' => [ [ - 'name' => 'NtpServer', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The domain name of the Network Time Protocol (NTP) server.', - 'type' => 'array', - 'items' => [ - 'description' => 'The domain name of the NTP server.', - 'type' => 'string', - 'required' => false, - 'example' => 'ntp.cloud.aliyuncs.com', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, - 'maxItems' => 21, ], ], + ], + ], + 'DescribeScalingInstances' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'AcrRegistryInfo', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92684', + 'abilityTreeNodes' => ['FEATUREessPMOEEX'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Information about the Container Registry Enterprise Edition instance.', - 'type' => 'array', - 'items' => [ - 'description' => 'Information about the Container Registry Enterprise Edition instance.', - 'type' => 'object', - 'properties' => [ - 'Domain' => [ - 'description' => 'The domain names of the Container Registry Enterprise Edition instances. By default, all domain names of the Container Registry Enterprise Edition instances are displayed. You can specify one or more domain names. Separate multiple domain names with commas (,).', - 'type' => 'array', - 'items' => [ - 'description' => 'The domain names of the Container Registry Enterprise Edition instances. By default, all domain names of the Container Registry Enterprise Edition instances are displayed. You can specify one or more domain names. Separate multiple domain names with commas (,).', - 'type' => 'string', - 'required' => false, - 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com', - ], - 'required' => false, - 'maxItems' => 100, - ], - 'InstanceName' => [ - 'description' => 'The name of the Container Registry Enterprise Edition instance.', - 'type' => 'string', - 'required' => false, - 'example' => 'acr-test', - ], - 'InstanceId' => [ - 'description' => 'The ID of the Container Registry Enterprise Edition instance.', - 'type' => 'string', - 'required' => false, - 'example' => 'cri-nwj395hgf6f3****', - ], - 'RegionId' => [ - 'description' => 'The region ID of the Container Registry Enterprise Edition instance.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'CostOptimization', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'description' => 'Specifies whether to enable the cost optimization feature. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], ], [ - 'name' => 'InstanceFamilyLevel', + 'name' => 'ScalingConfigurationId', 'in' => 'query', - 'schema' => [ - 'description' => 'The level of the instance type, which is used to filter the instance types that meet the specified criteria. This parameter takes effect only if you set the `CostOptimization` parameter to true. Valid values:'."\n" - ."\n" - .'* EntryLevel: shared instance type. Instances of this level are the most cost-effective but may not provide stable computing performance in a consistent manner. Instances of this level are suitable for business scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" - .'* EnterpriseLevel: Instances of this level provide stable performance and dedicated resources, and are suitable for business scenarios that require high stability. For more information, see [Instance family](~~25378~~).'."\n" - .'* CreditEntryLevel: This value is valid only for burstable instances. CPU credits are used to ensure computing performance. Instances of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see the [Overview](~~59977~~) topic of burstable instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'EnterpriseLevel', - ], + 'schema' => ['description' => 'The ID of the associated scaling configuration.', 'type' => 'string', 'required' => false, 'example' => 'asc-bp1i65jd06v04vdh****', 'title' => ''], ], [ - 'name' => 'InstanceType', + 'name' => 'HealthStatus', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 10, - ], + 'schema' => ['description' => 'The health check status of the ECS instance or ECI instance in the scaling group. ECS instances or ECI instances that are not in the Running state are considered unhealthy. Valid values:'."\n" + ."\n" + .'- Healthy: The ECS instance or ECI instance is healthy.'."\n" + .'- Unhealthy: The ECS instance or ECI instance is unhealthy.'."\n" + ."\n" + .'Auto Scaling automatically removes unhealthy ECS instances or ECI instances from the scaling group and releases the ones created through automatic creation.'."\n" + ."\n" + .'Whether manually added ECS instances or ECI instances are released depends on their managed status. If the instance lifecycle is not managed by the scaling group, the instance is only removed but not released. If the instance lifecycle is managed by the scaling group, the instance is removed and released.'."\n" + ."\n" + .'> Ensure that your account has sufficient active quota. If your account has an overdue payment, all pay-as-you-go ECS instances or ECI instances, including pay-as-you-go and spot instances, are stopped or even released. For more information about how instance status changes after an overdue payment, see [Overdue payments](~~170589~~).', 'type' => 'string', 'required' => false, 'example' => 'Healthy', 'title' => ''], ], [ - 'name' => 'DataCacheBucket', + 'name' => 'LifecycleState', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The lifecycle state of the ECS instance, ECI instance, or managed instance in the scaling group. Valid values:'."\n" + .' '."\n" + .'- InService: The instance is added to the scaling group and provides services in the Normal state.'."\n" + .'- Pending: The instance is being added to the scaling group. During this procedure, the instance is also added to the backend server group of the associated load balancing instance and to the access whitelist of the associated ApsaraDB RDS instance.'."\n" + .'- Pending:Wait: The instance is pending addition. If a lifecycle hook that applies to scale-out activities is created for the scaling group, the instance is suspended during addition and waits until the lifecycle hook timeout period ends.'."\n" + .'- Protected: The instance is protected. The instance provides services as expected, but Auto Scaling does not manage the lifecycle of the instance. You must manage the lifecycle of the instance manually.'."\n" + .'- Standby: The instance is in the standby state. The instance does not provide services, the weight of SLB backend server is set to zero, and Auto Scaling does not manage the lifecycle of the instance. You must manage the lifecycle of the instance manually.'."\n" + .'- Stopped: The instance is stopped. The ECS instance, ECI instance, or managed instance is stopped and does not provide services.'."\n" + .'- Removing: The instance is being removed from the scaling group. During this procedure, the instance is also removed from the backend server group of the associated load balancing instance and from the access whitelist of the associated ApsaraDB RDS instance.'."\n" + .'- Removing:Wait: The instance is pending removal. If a lifecycle hook that applies to scale-down activities is created for the scaling group, the instance is suspended during removal and waits until the lifecycle hook timeout period ends.'."\n" + .'> Managed instances do not support lifecycle hooks, load balancing association, or health check features.', 'type' => 'string', 'required' => false, 'example' => 'InService', 'title' => ''], ], [ - 'name' => 'DataCachePL', + 'name' => 'CreationType', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The method used to create instances in the scaling group. Valid values: '."\n" + ."\n" + .'- AutoCreated: The ECS instance or ECI instance is created through automatic creation by Auto Scaling based on the instance configuration source.'."\n" + .'- Attached: The ECS instance or ECI instance is not created by Auto Scaling but manually added to the scaling group.'."\n" + .'- Managed: The managed instance is not created by Auto Scaling but manually added to the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'AutoCreated', 'title' => ''], ], [ - 'name' => 'DataCacheProvisionedIops', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'The page number. Pages start from page 1.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], [ - 'name' => 'DataCacheBurstingEnabled', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], + 'schema' => ['description' => 'The number of entries per page for the paged query. Maximum value: 100.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '200', 'default' => '10', 'example' => '10', 'title' => ''], ], [ - 'name' => 'GpuDriverVersion', + 'name' => 'ScalingActivityId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'required' => false, 'example' => 'asa-bp1c9djwrgxjyk31****', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'ScalingConfigurationId' => [ - 'description' => 'The ID of the elastic container instance.'."\n", - 'type' => 'string', - 'example' => 'eci-uf6fonnghi50u374****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '89945DD3-9072-47D0-A318-353284CF****', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'Forbidden.RiskControl', - 'errorMessage' => 'Forbidden.RiskControl', + 'description' => 'The ID of the instance in the scaling group.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the instance in the scaling group. Valid values of N: 1 to 20.'."\n" + ."\n" + .'Invalid InstanceId values are ignored in the query results, and no error is returned.', 'type' => 'string', 'required' => false, 'example' => 'i-bp109k5j3dum1ce6****', 'title' => ''], + 'required' => false, + 'example' => 'i-bp109k5j3dum1ce6****', + 'maxItems' => 100, + 'title' => '', ], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingConfigurationId\\": \\"asc-uf6fonnghi50u374****\\",\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CF****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n eci-uf6fonnghi50u374****\\n 89945DD3-9072-47D0-A318-353284CF****\\n","errorExample":""}]', - 'title' => 'CreateEciScalingConfiguration', - 'description' => '## Description'."\n" - ."\n" - .'A scaling configuration is a template that is used to create elastic container instances during scale-out activities.'."\n" - ."\n" - .'You can specify the Cpu and Memory parameters to determine the range of instance types. Then, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones. Auto Scaling preferentially creates elastic container instances of the instance type that has the lowest price. This method is available only if the Scaling Policy parameter is set to Cost Optimization Policy and no instance type is specified in the scaling configuration.'."\n", - ], - 'DeleteEciScalingConfiguration' => [ - 'summary' => '删除一个ECI类型伸缩配置', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '92663', - 'abilityTreeNodes' => [ - 'FEATUREessTZHE2G', - ], - ], - 'parameters' => [ [ - 'name' => 'ScalingConfigurationId', + 'name' => 'CreationTypes', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The region ID of the scaling group.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asc-bp1bx8mzur534edp****', + 'description' => 'The methods used to create instances in the scaling group. You can specify only one of this parameter and CreationType.', + 'type' => 'array', + 'items' => ['description' => 'The method used to create instances in the scaling group. You cannot specify this parameter and CreationType at the same time. Valid values:'."\n" + .'- AutoCreated: The ECS instance is created through automatic creation by Auto Scaling based on the instance configuration source.'."\n" + .'- Attached: The ECS instance is not created by Auto Scaling but manually added to the scaling group.'."\n" + .'- Managed: The managed instance is not created by Auto Scaling but manually added to the scaling group.'."\n" + .'> When you specify this parameter, you can select multiple creation methods, such as AutoCreated, Attached, and Managed.', 'type' => 'string', 'required' => false, 'example' => 'AutoCreated', 'title' => ''], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'RegionId', + 'name' => 'LifecycleStates', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the request. This request ID is returned regardless of whether the request is successful.', - 'type' => 'string', + 'description' => 'The list of lifecycle states of ECS instances, ECI instances, or managed instances in the scaling group. You can specify only one of this parameter and LifecycleState. We recommend that you use this parameter.', + 'type' => 'array', + 'items' => ['description' => 'The lifecycle state of the ECS instance, ECI instance, or managed instance in the scaling group. Valid values:'."\n" + ."\n" + .'- InService: The instance is added to the scaling group and provides services in the Normal state.'."\n" + .'- Pending: The instance is being added to the scaling group. During this procedure, the instance is also added to the backend server group of the associated load balancing instance and to the access whitelist of the associated ApsaraDB RDS instance.'."\n" + .'- Pending:Wait: The instance is pending addition. If a lifecycle hook that applies to scale-out activities is created for the scaling group, the instance is suspended during addition and waits until the lifecycle hook timeout period ends.'."\n" + .'- Protected: The instance is protected. The instance provides services as expected, but Auto Scaling does not manage the lifecycle of the instance. You must manage the lifecycle of the instance manually.'."\n" + .'- Standby: The instance is in the standby state. The instance does not provide services, the weight of SLB backend server is set to zero, and Auto Scaling does not manage the lifecycle of the instance. You must manage the lifecycle of the instance manually.'."\n" + .'- Stopped: The instance is stopped. The ECS instance, ECI instance, or managed instance is stopped and does not provide services.'."\n" + .'- Removing: The instance is being removed from the scaling group. During this procedure, the instance is also removed from the backend server group of the associated load balancing instance and from the access whitelist of the associated ApsaraDB RDS instance.'."\n" + .'- Removing:Wait: The instance is pending removal. If a lifecycle hook that applies to scale-down activities is created for the scaling group, the instance is suspended during removal and waits until the lifecycle hook timeout period ends.'."\n" + .'> Managed instances do not support lifecycle hooks, load balancing association, or health check features.', 'type' => 'string', 'required' => false, 'example' => 'InService', 'title' => ''], 'required' => false, - 'example' => 'cn-qingdao', + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], ], @@ -19213,36 +11391,125 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'auditing', - 'type' => 'string', - 'example' => '45D5B0AD-3B00-4A9B-9911-6D5303B06712', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B13527BF-1FBD-4334-A512-20F5E9D3****', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalSpotCount' => ['description' => 'The total number of running spot instances in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ScalingInstance' => [ + 'description' => 'The collection of instance information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of instance information.', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => ['description' => 'The time when the instance was added to the scaling group. The value is accurate to the minute.', 'type' => 'string', 'example' => '2020-05-18T03:11Z', 'title' => ''], + 'LoadBalancerWeight' => ['description' => 'The weight of the load balancing instance.'."\n" + .'> This parameter is deprecated.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'LaunchTemplateId' => ['description' => 'The ID of the launch template.', 'type' => 'string', 'example' => 'lt-m5e3ofjr1zn1aw7****', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the instance.', 'type' => 'string', 'example' => 'i-bp109k5j3dum1ce6****', 'title' => ''], + 'SpotStrategy' => ['description' => 'The preemption policy of the spot instance. Valid values:'."\n" + ."\n" + .'- SpotWithPriceLimit: The spot instance has a maximum price limit.'."\n" + .'- SpotAsPriceGo: The system automatically bids at the current market price.', 'type' => 'string', 'example' => 'SpotWithPriceLimit', 'title' => ''], + 'LaunchTemplateVersion' => ['description' => 'The version of the launch template.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'HealthStatus' => ['description' => 'The health check status of the ECS instance or ECI instance in the scaling group. ECS instances or ECI instances that are not in the Running state are considered unhealthy. Valid values: '."\n" + ."\n" + .'- Healthy: The ECS instance or ECI instance is healthy.'."\n" + .'- Unhealthy: The ECS instance or ECI instance is unhealthy.'."\n" + ."\n" + .'Auto Scaling automatically removes unhealthy ECS instances or ECI instances from the scaling group and releases the ones created through automatic creation.'."\n" + ."\n" + .'Whether manually added ECS instances or ECI instances are released depends on their managed status. If the instance lifecycle is not managed by the scaling group, the instance is only removed but not released. If the instance lifecycle is managed by the scaling group, the instance is removed and released.'."\n" + ."\n" + .'> Ensure that your account has sufficient active quota. If your account has an overdue payment, all pay-as-you-go ECS instances or ECI instances, including pay-as-you-go and spot instances, are stopped or even released. For more information about how instance status changes after an overdue payment, see [Overdue payments](~~170589~~).', 'type' => 'string', 'example' => 'Healthy', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group to which the instance belongs.', 'type' => 'string', 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], + 'WarmupState' => ['description' => 'The warmup state of the instance. Valid values:'."\n" + .' '."\n" + .'- NoNeedWarmup: No warmup is required.'."\n" + .'- WaitingForInstanceWarmup: The instance is waiting for warmup to complete.'."\n" + .'- InstanceWarmupFinish: Warmup is complete.', 'type' => 'string', 'example' => 'NoNeedWarmup', 'title' => ''], + 'LifecycleState' => ['description' => 'The lifecycle state of the ECS instance, ECI instance, or managed instance in the scaling group. Valid values:'."\n" + .' '."\n" + .'- InService: The instance is added to the scaling group and provides services in the Normal state.'."\n" + .'- Pending: The instance is being added to the scaling group. During this procedure, the instance is also added to the backend server group of the associated load balancing instance and to the access whitelist of the associated ApsaraDB RDS instance.'."\n" + .'- Pending:Wait: The instance is pending addition. If a lifecycle hook that applies to scale-out activities is created for the scaling group, the instance is suspended during addition and waits until the lifecycle hook timeout period ends.'."\n" + .'- Protected: The instance is protected. The instance provides services as expected, but Auto Scaling does not manage the lifecycle of the instance. You must manage the lifecycle of the instance manually.'."\n" + .'- Standby: The instance is in the standby state. The instance does not provide services, the weight of SLB backend server is set to zero, and Auto Scaling does not manage the lifecycle of the instance. You must manage the lifecycle of the instance manually.'."\n" + .'- Stopped: The instance is stopped. The ECS instance, ECI instance, or managed instance is stopped and does not provide services.'."\n" + .'- Removing: The instance is being removed from the scaling group. During this procedure, the instance is also removed from the backend server group of the associated load balancing instance and from the access whitelist of the associated ApsaraDB RDS instance.'."\n" + .'- Removing:Wait: The instance is pending removal. If a lifecycle hook that applies to scale-down activities is created for the scaling group, the instance is suspended during removal and waits until the lifecycle hook timeout period ends.'."\n" + .'> Managed instances do not support lifecycle hooks, load balancing association, or health check features.', 'type' => 'string', 'example' => 'InService', 'title' => ''], + 'CreationType' => ['description' => 'The method used to create the instance in the scaling group. Valid values:'."\n" + ."\n" + .'- AutoCreated: The ECS instance is created through automatic creation by Auto Scaling based on the instance configuration source.'."\n" + .'- Attached: The ECS instance is not created by Auto Scaling but manually added to the scaling group.'."\n" + .'- Managed: The managed instance is not created by Auto Scaling but manually added to the scaling group.', 'type' => 'string', 'example' => 'AutoCreated', 'title' => ''], + 'ZoneId' => ['description' => 'The zone ID of the instance.', 'type' => 'string', 'example' => 'cn-hangzhou-g', 'title' => ''], + 'ScalingConfigurationId' => ['description' => 'The ID of the associated scaling configuration.', 'type' => 'string', 'example' => 'asc-bp1i65jd06v04vdh****', 'title' => ''], + 'Entrusted' => ['description' => 'Indicates whether the manually added instance is managed by the scaling group. Managed instances that are manually added are released when they are removed from the scaling group (excluding manual removal). Valid values:'."\n" + .'- true: The instance is managed by the scaling group.'."\n" + .'- false: The instance is not managed by the scaling group.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'WeightedCapacity' => ['description' => 'The weight of the instance type. The weight indicates the capacity that a single instance of the specified instance type represents in the scaling group. A higher weight means that fewer instances of this type are required to meet the expected capacity.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'CreatedTime' => ['description' => 'The time when the instance was added to the scaling group. The value is accurate to the second.', 'type' => 'string', 'example' => '2020-05-18T03:11:39Z', 'title' => ''], + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity during which the instance was added to the scaling group.', 'type' => 'string', 'example' => 'asa-bp1c9djwrgxjyk31****', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type of the instance.', 'type' => 'string', 'example' => 'ecs.n1.small', 'title' => ''], + 'ScalingInstanceId' => ['description' => 'The instance identity of the instance in the scaling group, which has a one-to-one mapping with the ECS instance ID or ECI instance ID.', 'type' => 'string', 'example' => 'asi-j6cj1gcte640ekhb****', 'title' => ''], + 'PrivateIpAddress' => ['description' => 'The internal IP address of the instance in the scaling group.', 'type' => 'string', 'example' => '1**.2*.1**.2**', 'title' => ''], + 'ReplaceStatus' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'Forbidden.RiskControl', - 'errorMessage' => 'Forbidden.RiskControl', + 'title' => 'Query instances in a scaling group', + 'summary' => 'Queries the list of ECS instances, ECI instances, or managed instances in a scaling group, and returns information about the instances.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScalingInstances'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"45D5B0AD-3B00-4A9B-9911-6D5303B0****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 45D5B0AD-3B00-4A9B-9911-6D5303B0****\\n","errorExample":""}]', - 'title' => 'DeleteEciScalingConfiguration', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B13527BF-1FBD-4334-A512-20F5E9D3****\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalSpotCount\\": 4,\\n \\"TotalCount\\": 1,\\n \\"ScalingInstances\\": {\\n \\"ScalingInstance\\": [\\n {\\n \\"CreationTime\\": \\"2020-05-18T03:11Z\\",\\n \\"LoadBalancerWeight\\": 50,\\n \\"LaunchTemplateId\\": \\"lt-m5e3ofjr1zn1aw7****\\",\\n \\"InstanceId\\": \\"i-bp109k5j3dum1ce6****\\",\\n \\"SpotStrategy\\": \\"SpotWithPriceLimit\\",\\n \\"LaunchTemplateVersion\\": \\"1\\",\\n \\"HealthStatus\\": \\"Healthy\\",\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\",\\n \\"WarmupState\\": \\"NoNeedWarmup\\",\\n \\"LifecycleState\\": \\"InService\\",\\n \\"CreationType\\": \\"AutoCreated\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"ScalingConfigurationId\\": \\"asc-bp1i65jd06v04vdh****\\",\\n \\"Entrusted\\": true,\\n \\"WeightedCapacity\\": 4,\\n \\"CreatedTime\\": \\"2020-05-18T03:11:39Z\\",\\n \\"ScalingActivityId\\": \\"asa-bp1c9djwrgxjyk31****\\",\\n \\"InstanceType\\": \\"ecs.n1.small\\",\\n \\"ScalingInstanceId\\": \\"asi-j6cj1gcte640ekhb****\\",\\n \\"PrivateIpAddress\\": \\"1**.2*.1**.2**\\",\\n \\"ReplaceStatus\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], - 'DescribeEciScalingConfigurations' => [ - 'summary' => '查询ECI类型伸缩组的伸缩配置信息', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeScalingRules' => [ + 'summary' => 'Queries the scaling rules in a scaling group and returns information about the scaling rules.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -19252,102 +11519,94 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '92673', - 'abilityTreeNodes' => [ - 'FEATUREessU7F1S4', - ], + 'abilityTreeCode' => '92685', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group to which the scaling configurations that you want to query belong.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The region ID of the scaling group to which the scaling rules belong.', 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The page number of the scaling rule list. Minimum value: 1.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Maximum value: 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'example' => '50', - 'default' => '10', - ], + 'schema' => ['description' => 'The number of entries per page for paging queries. Settings: maximum value: 50.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'default' => '10', 'example' => '50', 'title' => ''], ], [ 'name' => 'ScalingGroupId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp1ffogfdauy0jw0****', 'title' => ''], + ], + [ + 'name' => 'ScalingRuleType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the scaling rule. Valid values:'."\n" + ."\n" + .'- SimpleScalingRule: simple scaling. Adjusts the number of ECS instances based on the adjustment method (AdjustmentType) and adjustment value (AdjustmentValue).'."\n" + .'- TargetTrackingScalingRule: target tracking scaling rule. Dynamically calculates the number of ECS instances to scale out or scale in based on the predefined monitoring metric (MetricName) and attempts to keep the monitoring metric value close to the target value (TargetValue).'."\n" + .'- StepScalingRule: step scaling rule. Provides step-based extension based on thresholds and metric values.'."\n" + .'- PredictiveScalingRule: predictive scaling rule. Uses machine learning to analyze historical monitoring data of the scaling group, predict future monitoring metric values, and supports automatic creation of scheduled nodes to configure scaling group boundaries.', 'type' => 'string', 'required' => false, 'example' => 'SimpleScalingRule', 'title' => ''], + ], + [ + 'name' => 'ShowAlarmRules', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to return the CloudMonitor event-triggered tasks associated with the scaling rules. Valid values:'."\n" + ."\n" + .'- true: Returns the CloudMonitor event-triggered tasks associated with the scaling rules.'."\n" + .'- false: Does not return the CloudMonitor event-triggered tasks associated with the scaling rules.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'ScalingRuleId', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the scaling group. You can query all scaling configurations in the scaling group.'."\n", - 'type' => 'string', + 'description' => 'The ID of scaling rule N that you want to query. Valid values of N: 1 to 10.', + 'type' => 'array', + 'items' => ['description' => 'The ID of scaling rule N that you want to query. Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'asr-bp1dvirgwkoowxk7****', 'title' => ''], 'required' => false, - 'example' => 'asg-bp17pelvl720x3v7****', + 'example' => 'asr-bp1dvirgwkoowxk7****', + 'maxItems' => 10, + 'title' => '', ], ], [ - 'name' => 'ScalingConfigurationId', + 'name' => 'ScalingRuleName', '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.', + 'description' => 'The name of scaling rule N that you want to query. Valid values of N: 1 to 10.', 'type' => 'array', - 'items' => [ - 'description' => 'The ID of scaling configuration N that you want to query. Valid values of N: 1 to 10.'."\n" - ."\n" - .'The IDs of active and inactive scaling configurations are displayed in the query results. You can differentiate between active and inactive scaling configurations based on the value of the LifecycleState parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asc-bp17pelvl720x5ub****', - ], + 'items' => ['description' => 'The name of scaling rule N that you want to query. Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'scalingrule****', 'title' => ''], 'required' => false, + 'example' => 'scalingrule****', 'maxItems' => 10, + 'title' => '', ], ], [ - 'name' => 'ScalingConfigurationName', + 'name' => 'ScalingRuleAri', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The name of scaling configuration N that you want to query. Valid values of N: 1 to 10.'."\n" - ."\n" - .'The names of inactive scaling configurations are not displayed in the query results, and no error is reported.', + 'description' => 'The unique identifier of scaling rule N that you want to query. Valid values of N: 1 to 10.', 'type' => 'array', - 'items' => [ - 'description' => 'The name of scaling configuration N that you want to query. Valid values of N: 1 to 10.'."\n" - ."\n" - .'The names of inactive scaling configurations are not displayed in the query results, and no error is reported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalingcon****', - ], + 'items' => ['description' => 'The unique identifier of scaling rule N that you want to query. Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', 'title' => ''], 'required' => false, + 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', 'maxItems' => 10, + 'title' => '', ], ], ], @@ -19356,2738 +11615,6924 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PageNumber' => [ - 'description' => 'The number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'TotalCount' => [ - 'description' => 'The total number of scaling configurations.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScalingConfigurations' => [ - 'description' => 'Details of the scaling configurations.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'CreationTime' => [ - 'description' => 'The time when the scaling configuration was created.'."\n", - 'type' => 'string', - 'example' => '2014-08-14T10:58Z', - ], - 'ScalingConfigurationName' => [ - 'description' => 'The name of the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'scalingconfi****', - ], - 'SecurityGroupId' => [ - 'description' => 'The ID of the security group with which the elastic container instance is associated. Elastic container instances that are associated with the same security group can access each other.'."\n", - 'type' => 'string', - 'example' => 'sg-bp18kz60mefs****', - ], - 'ActiveDeadlineSeconds' => [ - 'description' => 'The validity period. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - 'SpotStrategy' => [ - 'description' => 'The bidding policy for the elastic container instance. Valid values:'."\n" - ."\n" - .'* NoSpot: The instance is created as a pay-as-you-go instance.'."\n" - .'* SpotWithPriceLimit: The instance is created as a preemptible instance with a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instance is created as a preemptible instance for which the market price at the time of purchase is automatically used as the bid price.'."\n" - ."\n" - .'Default value: NoSpot.'."\n", - 'type' => 'string', - 'example' => 'NoSpot', - ], - 'AutoCreateEip' => [ - 'description' => 'Indicates whether an elastic IP address (EIP) is automatically created, and then bound to the elastic container instance.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group in which the scaling configuration is created.'."\n", - 'type' => 'string', - 'example' => 'asg-bp17pelvl720x3v7****', - ], - 'EphemeralStorage' => [ - 'description' => 'The size of the temporary storage space. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'Ipv6AddressCount' => [ - 'description' => 'The number of IPv6 addresses.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'EipBandwidth' => [ - 'description' => 'The bandwidth of the EIP. Default value: 5. Unit: Mbit/s.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'ImageSnapshotId' => [ - 'description' => 'The ID of the image cache.'."\n", - 'type' => 'string', - 'example' => 'imc-2zebxkiifuyzzlhl****', - ], - 'Memory' => [ - 'description' => 'The size of the memory.'."\n" - ."\n" - .'You can specify the number of vCPUs and the memory size to specify the range of instance types. For example, you can set the **Cpu **parameter to 2 and the **Memory **parameter to 16 to specify the instance types that have 2 vCPUs and 16 GiB of memory. If you specify the **Cpu **and **Memory **parameters, Auto Scaling determines available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling preferentially creates instances of the instance type that is provided at the lowest price.'."\n" - ."\n" - .'> You can specify CPU and memory specifications to create instances only if the **Scaling Policy** parameter is set to **Cost Optimization Policy** and no instance type is specified in the scaling configuration.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '16', - ], - 'RestartPolicy' => [ - 'description' => 'The restart policy of the elastic container instance. Valid values:'."\n" - ."\n" - .'* Never: never restarts the elastic container instance.'."\n" - .'* Always: always restarts the elastic container instance.'."\n" - .'* OnFailure: restarts the elastic container instance upon failures.'."\n", - 'type' => 'string', - 'example' => 'Never', - ], - 'SpotPriceLimit' => [ - 'description' => 'The maximum hourly price for the preemptible elastic container instance.'."\n" - ."\n" - .'This parameter is returned only if you set the **SpotStrategy** parameter to **SpotWithPriceLimit**.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.025', - ], - 'IngressBandwidth' => [ - 'description' => 'The maximum inbound bandwidth. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1024000', - ], - 'CpuOptionsThreadsPerCore' => [ - 'description' => 'The number of threads per core. This parameter can be specified for only specific instance types. A value of 1 indicates that Hyper-Threading is disabled. For more information, see [Customize CPU options](~~197781~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'TerminationGracePeriodSeconds' => [ - 'description' => 'The buffer time during which the program handles operations before the program stops.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'LoadBalancerWeight' => [ - 'description' => 'The weight of the elastic container instance as a backend server of the associated Server Load Balancer (SLB) instance. Valid values: 1 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'DnsPolicy' => [ - 'description' => 'The Domain Name System (DNS) policy.'."\n", - 'type' => 'string', - 'example' => 'Default', - ], - 'HostName' => [ - 'description' => 'The name of the host.'."\n", - 'type' => 'string', - 'example' => '[\'hehe.com\', \'haha.com\']', - ], - 'EgressBandwidth' => [ - 'description' => 'The maximum outbound bandwidth. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1024000', - ], - 'RegionId' => [ - 'description' => 'The region ID of the elastic container instance.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'RamRoleName' => [ - 'description' => 'The name of the instance RAM role. You can use an instance RAM role to access both elastic container instances and Elastic Compute Service (ECS) instances. For more information, see [Use the instance RAM role by calling APIs](~~61178~~).'."\n", - 'type' => 'string', - 'example' => 'ram:PassRole', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs that are allocated to the elastic container instance.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '2.0', - ], - 'AutoMatchImageCache' => [ - 'description' => 'Indicates whether the image cache is automatically matched.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'example' => 'rg-8db03793gfrz****', - ], - 'ContainerGroupName' => [ - 'description' => 'The name of the elastic container instance.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'ScalingConfigurationId' => [ - 'description' => 'The ID of the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'asc-bp1ezrfgoyn5kijl****', - ], - 'CpuOptionsCore' => [ - 'description' => 'The number of physical CPU cores. This parameter can be specified for only specific instance types. For more information, see [Customize CPU options](~~197781~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'Containers' => [ - 'description' => 'The containers in the elastic container instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ReadinessProbeHttpGetPath' => [ - 'description' => 'The path to which HTTP GET requests were sent.'."\n", - 'type' => 'string', - 'example' => '/usr/local', - ], - 'ReadinessProbeSuccessThreshold' => [ - 'description' => 'The minimum number of consecutive successes for a probe to be considered successful after having failed. Default value: 1. Valid value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'LivenessProbePeriodSeconds' => [ - 'description' => 'The interval at which probes are performed. Default value: 10. Minimum value: 1. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'LivenessProbeTcpSocketPort' => [ - 'description' => 'The port number of TcpSocket.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'LivenessProbeHttpGetScheme' => [ - 'description' => 'The protocol type of HTTP GET requests when you use the HTTP GET requests to perform probes. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'example' => 'HTTP', - ], - 'WorkingDir' => [ - 'description' => 'The working directory of the container.'."\n", - 'type' => 'string', - 'example' => '/usr/local/nginx', - ], - 'Tty' => [ - 'description' => 'Indicates whether interaction is enabled. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'If the value of the **Command **parameter is **/bin/bash**, the value of this parameter must be set to true.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'LivenessProbeHttpGetPort' => [ - 'description' => 'The port to which HTTP GET requests were sent.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'Gpu' => [ - 'description' => 'The number of GPUs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ReadinessProbeInitialDelaySeconds' => [ - 'description' => 'The number of seconds between the time when the startup of the container ends and the time when the probe starts.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Stdin' => [ - 'description' => 'Indicates whether the container allocates buffer resources to standard input streams when the container runs. If this parameter is not specified, an end-of-file (EOF) error may occur.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Memory' => [ - 'description' => 'The memory size of the container.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '2.0', - ], - 'Name' => [ - 'description' => 'The name of the container.'."\n", - 'type' => 'string', - 'example' => 'nginx', - ], - 'LivenessProbeHttpGetPath' => [ - 'description' => 'The path to which HTTP GET requests were sent.'."\n", - 'type' => 'string', - 'example' => '/usr/nginx/', - ], - 'Image' => [ - 'description' => 'The image of the container.'."\n", - 'type' => 'string', - 'example' => 'mysql', - ], - 'ReadinessProbeTcpSocketPort' => [ - 'description' => 'The port number of TcpSocket.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8888', - ], - 'ReadinessProbeHttpGetScheme' => [ - 'description' => 'The protocol type of HTTP GET requests when you use the HTTP GET requests to perform probes. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'example' => 'HTTP', - ], - 'ReadinessProbeHttpGetPort' => [ - 'description' => 'The path to which HTTP GET requests were sent.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '/usr/nginx/', - ], - 'LivenessProbeSuccessThreshold' => [ - 'description' => 'The minimum number of consecutive successes for a probe to be considered successful after having failed. Default value: 1. Valid value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ReadinessProbeTimeoutSeconds' => [ - 'description' => 'The timeout period of a probe. Default value: 1. Minimum value: 1. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'SecurityContextRunAsUser' => [ - 'description' => 'The ID of the user that runs the entry point of the container process.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1000', - ], - 'LivenessProbeInitialDelaySeconds' => [ - 'description' => 'The number of seconds between the time when the startup of the container ends and the time when the probe starts.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'ReadinessProbePeriodSeconds' => [ - 'description' => 'The interval at which probes are performed. Default value: 10. Minimum value: 1. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ImagePullPolicy' => [ - 'description' => 'The image pulling policy. Valid values:'."\n" - ."\n" - .'* Always: Image pulling is performed each time.'."\n" - .'* IfNotPresent: Image pulling is performed only if on-premises images are unavailable. On-premises images are preferentially used. If no on-premises images are available, image pulling is performed.'."\n" - .'* Never: On-premises images are always used. Image pulling is not performed.'."\n", - 'type' => 'string', - 'example' => 'Always', - ], - 'StdinOnce' => [ - 'description' => 'Indicates whether standard input streams are disconnected after a client is disconnected. If Stdin is set to true, standard input streams remain connected during multiple sessions.'."\n" - ."\n" - .'When StdinOnce is set to true, standard input streams are connected after the container is started and remain idle until a client is connected to receive data. After the client is disconnected, streams are also disconnected and remain in the disconnected state until the container is started again.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs that are allocated to the container.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '2.0', - ], - 'LivenessProbeTimeoutSeconds' => [ - 'description' => 'The timeout period of a probe. Default value: 1. Minimum value: 1. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'ReadinessProbeFailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures for a probe to be considered failed after having been successful.'."\n" - ."\n" - .'Default value: 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'LivenessProbeFailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures for a probe to be considered failed after having been successful.'."\n" - ."\n" - .'Default value: 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'Ports' => [ - 'description' => 'The exposed ports and protocols of the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Port' => [ - 'description' => 'The port number. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8888', - ], - 'Protocol' => [ - 'description' => 'The protocol type. Valid values:'."\n" - ."\n" - .'* TCP'."\n" - .'* UDP'."\n", - 'type' => 'string', - 'example' => 'TCP', - ], - ], - ], - ], - 'VolumeMounts' => [ - 'description' => 'The volumes that are mounted to the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ReadOnly' => [ - 'description' => 'Indicates whether the volume is read-only.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'SubPath' => [ - 'description' => 'The subdirectory of the volume.'."\n", - 'type' => 'string', - 'example' => 'data2/', - ], - 'Name' => [ - 'description' => 'The name of the volume. The value of this parameter is the same as the value of the **Volumes.Name** parameter.'."\n", - 'type' => 'string', - 'example' => 'default-volume1', - ], - 'MountPropagation' => [ - 'description' => 'The mount propagation setting of the volume. Mount propagation allows the sharing of volumes that are mounted on one container with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" - ."\n" - .'* None: The volume mount does not receive subsequent mounts that are mounted to this volume or its subdirectories.'."\n" - .'* HostToCotainer: The volume mount receives all subsequent mounts that are mounted to this volume or its subdirectories.'."\n" - .'* Bidirectional: This value is similar to HostToCotainer. The volume mount receives all subsequent mounts that are mounted to this volume or its subdirectories. In addition, all volume mounts that are created by the container are propagated back to the instance and to all containers of all pods that use the same volume.'."\n" - ."\n" - .'Default value: None.'."\n", - 'type' => 'string', - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The directory on which the volume is mounted.'."\n" - ."\n" - .'> Data in this directory is overwritten by the data on the volume.'."\n", - 'type' => 'string', - 'example' => '/pod/data', - ], - ], - ], - ], - 'EnvironmentVars' => [ - 'description' => 'Information about environment variables.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The name of the environment variable.'."\n", - 'type' => 'string', - 'example' => 'PATH', - ], - 'Value' => [ - 'description' => 'The value of the environment variable.'."\n", - 'type' => 'string', - 'example' => '/usr/bin/', - ], - ], - ], - ], - 'Commands' => [ - 'description' => 'The container startup commands. You can specify up to 20 commands. Each command can contain up to 256 characters.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The commands that are run in the container when you use the CLI to perform probes.', - 'type' => 'string', - 'example' => 'sleep', - ], - ], - 'LivenessProbeExecCommands' => [ - 'description' => 'The commands that are run in the container when you use the command-line interface (CLI) to perform probes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The commands that are run in the container when you use the command-line interface (CLI) to perform probes.', - 'type' => 'string', - 'example' => 'cat/tmp/healthy', - ], - ], - 'Args' => [ - 'description' => 'The arguments that are passed to the container startup commands. You can specify up to 10 arguments.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The arguments that are passed to the container startup commands. You can specify up to 10 arguments.', - 'type' => 'string', - 'example' => '100', - ], - ], - 'ReadinessProbeExecCommands' => [ - 'description' => 'The commands that are run in the container when you use the CLI to perform probes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The commands that are run in the container when you use the CLI to perform probes.', - 'type' => 'string', - 'example' => 'cat/tmp/healthy', - ], - ], - 'SecurityContextCapabilityAdds' => [ - 'description' => 'The permissions that are granted to processes in the container. Only NET_ADMIN and NET_RAW are supported.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The permissions that are granted to processes in the container. Only NET_ADMIN and NET_RAW are supported.', - 'type' => 'string', - 'example' => 'NET_ADMIN', - ], - ], - 'LifecyclePostStartHandlerHttpGetHost' => [ - 'type' => 'string', - ], - 'LifecyclePostStartHandlerHttpGetPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'LifecyclePostStartHandlerHttpGetPath' => [ - 'type' => 'string', - ], - 'LifecyclePostStartHandlerHttpGetScheme' => [ - 'type' => 'string', - ], - 'LifecyclePostStartHandlerExecs' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - 'LifecyclePostStartHandlerTcpSocketHost' => [ - 'type' => 'string', - ], - 'LifecyclePostStartHandlerTcpSocketPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'LifecyclePreStopHandlerHttpGetHost' => [ - 'type' => 'string', - ], - 'LifecyclePreStopHandlerHttpGetPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'LifecyclePreStopHandlerHttpGetPath' => [ - 'type' => 'string', - ], - 'LifecyclePreStopHandlerHttpGetScheme' => [ - 'type' => 'string', - ], - 'LifecyclePreStopHandlerExecs' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - 'LifecyclePreStopHandlerTcpSocketHost' => [ - 'type' => 'string', - ], - 'LifecyclePreStopHandlerTcpSocketPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - ], - 'InitContainers' => [ - 'description' => 'The init containers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The init containers.', - 'type' => 'object', - 'properties' => [ - 'SecurityContextReadOnlyRootFilesystem' => [ - 'description' => 'Indicates whether the root file system is read-only. Valid value: true.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ImagePullPolicy' => [ - 'description' => 'The image pulling policy.'."\n", - 'type' => 'string', - 'example' => 'Always', - ], - 'WorkingDir' => [ - 'description' => 'The working directory.'."\n", - 'type' => 'string', - 'example' => '/usr/local', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.5', - ], - 'Image' => [ - 'description' => 'The image of the container.'."\n", - 'type' => 'string', - 'example' => 'nginx', - ], - 'Gpu' => [ - 'description' => 'The number of GPUs that are allocated to the container.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'SecurityContextRunAsUser' => [ - 'description' => 'The ID of the user that runs the container.'."\n", - 'type' => 'string', - 'example' => '587', - ], - 'Memory' => [ - 'description' => 'The size of the memory.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '1.0', - ], - 'Name' => [ - 'description' => 'The name of the container.'."\n", - 'type' => 'string', - 'example' => 'test-init', - ], - 'InitContainerEnvironmentVars' => [ - 'description' => 'Information about environment variables.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The name of the environment variable.'."\n", - 'type' => 'string', - 'example' => 'PATH', - ], - 'Value' => [ - 'description' => 'The value of the environment variable.'."\n", - 'type' => 'string', - 'example' => '/usr/local/bin', - ], - ], - ], - ], - 'InitContainerVolumeMounts' => [ - 'description' => 'The volumes that are mounted on the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ReadOnly' => [ - 'description' => 'Indicates whether the mount path is read-only.'."\n" + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'PageNumber' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of scaling rules.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingRules' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ScalingRule' => [ + 'description' => 'The collection of scaling rule information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of scaling rule information.', + 'type' => 'object', + 'properties' => [ + 'MetricName' => ['description' => 'The predefined metric. This parameter is applicable to target tracking scaling rules and predictive scaling rules.'."\n" + ."\n" + .'Valid values for target tracking scaling rules:'."\n" + .'- CpuUtilization: the average CPU utilization.'."\n" + .'- ClassicInternetRx: the average inbound traffic over the public network for the classic network.'."\n" + .'- ClassicInternetTx: the average outbound traffic over the public network for the classic network.'."\n" + .'- VpcInternetRx: the average inbound traffic over the public network for VPCs.'."\n" + .'- VpcInternetTx: the average outbound traffic over the public network for VPCs.'."\n" + .'- IntranetRx: the average inbound traffic over the internal network.'."\n" + .'- IntranetTx: the average outbound traffic over the internal network.'."\n" + ."\n" + .'Valid values for predictive scaling rules:'."\n" + .'- CpuUtilization: the average CPU utilization.'."\n" + .'- IntranetRx: the average inbound traffic over the internal network.'."\n" + .'- IntranetTx: the average outbound traffic over the internal network.', 'type' => 'string', 'example' => 'CpuUtilization', 'title' => ''], + 'AdjustmentType' => ['description' => 'The adjustment method of the scaling rule. Valid values:'."\n" + ."\n" + .'- QuantityChangeInCapacity: adds or removes a specified number of ECS instances.'."\n" + .'- PercentChangeInCapacity: adds or removes a specified percentage of ECS instances.'."\n" + .'- TotalCapacity: adjusts the number of ECS instances in the scaling group to a specified value.', 'type' => 'string', 'example' => 'QuantityChangeInCapacity', 'title' => ''], + 'InitialMaxSize' => ['description' => 'The maximum number of instances in the scaling group. This parameter is used in combination with PredictiveValueBehavior.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'EstimatedInstanceWarmup' => ['description' => 'The warm-up period of a newly created instance. During the warm-up period, the launched instance does not contribute to the monitoring metrics of the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '300', 'title' => ''], + 'ScaleOutEvaluationCount' => ['description' => 'After a target tracking scaling rule is created, an event-triggered task is automatically created through automatic creation. This parameter specifies the number of consecutive times that the conditional threshold must be met before the corresponding scale-out event-triggered node triggers an alert.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'PredictiveScalingMode' => ['description' => 'The mode of the predictive scaling rule. Valid values:'."\n" + ."\n" + .'- PredictAndScale: generates prediction results and creates prediction tasks.'."\n" + .'- PredictOnly: generates prediction results but does not create prediction tasks.', 'type' => 'string', 'example' => 'PredictAndScale', 'title' => ''], + 'MinAdjustmentMagnitude' => ['description' => 'The minimum number of instances to adjust in the scaling rule. This parameter takes effect only when the scaling rule type is `SimpleScalingRule` or `StepScalingRule` and `AdjustmentType` is set to `PercentChangeInCapacity`.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingRuleAri' => ['description' => 'The unique identifier of the scaling rule.', 'type' => 'string', 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', 'title' => ''], + 'PredictiveTaskBufferTime' => ['description' => 'The prediction nodes through automatic creation by the predictive scaling rule are executed on the hour by default. You can configure the settings for a buffer time to execute prediction nodes ahead of schedule to prepare resources in advance. Valid values: 0 to 60. Unit: minutes.', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'MinSize' => ['description' => 'The minimum number of instances in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'example' => 'asg-bp1ffogfdauy0jw0****', 'title' => ''], + 'PredictiveValueBehavior' => ['description' => 'The action on the predicted maximum value. Valid values:'."\n" + ."\n" + .'- MaxOverridePredictiveValue: the initial maximum value overrides the predicted value. If the predicted value is greater than the initial maximum value, the maximum value of the prediction task is set to the initial maximum value.'."\n" + .'- PredictiveValueOverrideMax: the predicted value overrides the initial maximum value. If the predicted value is greater than the initial maximum value, the maximum value of the prediction task is set to the predicted value.'."\n" + .'- PredictiveValueOverrideMaxWithBuffer: the predicted value is increased by a specified ratio. The predicted value is increased by the ratio specified by PredictiveValueBuffer. If the increased value is greater than the initial maximum value, the increased value is used.', 'type' => 'string', 'example' => 'MaxOverridePredictiveValue', 'title' => ''], + 'TargetValue' => ['description' => 'The target value. When the scaling rule is a target tracking scaling rule or a predictive scaling rule, the scaling rule adds or removes instances to keep the metric close to the target value.', 'type' => 'number', 'format' => 'float', 'example' => '0.125', 'title' => ''], + 'Cooldown' => ['description' => 'The cooldown time of the scaling rule. This parameter is applicable only to simple scaling rules. Valid values: 0 to 86400. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'MaxSize' => ['description' => 'The maximum number of instances in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'PredictiveValueBuffer' => ['description' => 'This parameter takes effect when PredictiveValueBehavior is set to PredictiveValueOverrideMaxWithBuffer. The predicted value is increased by the specified ratio. If the increased value is greater than the initial maximum value, the increased value is used. Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'ScalingRuleType' => ['description' => 'The type of the scaling rule. Valid values:'."\n" + ."\n" + .'- SimpleScalingRule: simple scaling. Adjusts the number of ECS instances based on the adjustment method (AdjustmentType) and adjustment value (AdjustmentValue).'."\n" + .'- TargetTrackingScalingRule: target tracking scaling rule. Dynamically calculates the number of ECS instances to scale out or scale in based on the predefined monitoring metric (MetricName) and attempts to keep the monitoring metric value close to the target value (TargetValue).'."\n" + .'- StepScalingRule: step scaling rule. Provides step-based extension based on thresholds and metric values.'."\n" + .'- PredictiveScalingRule: predictive scaling rule. Uses machine learning to analyze historical monitoring data of the scaling group, predict future monitoring metric values, and supports automatic creation of scheduled nodes to configure scaling group boundaries.', 'type' => 'string', 'example' => 'SimpleScalingRule', 'title' => ''], + 'AdjustmentValue' => ['description' => 'The adjustment value of the scaling rule.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScaleInEvaluationCount' => ['description' => 'After a target tracking scaling rule is created, an event-triggered task is automatically created through automatic creation. This parameter specifies the number of consecutive times that the conditional threshold must be met before the corresponding scale-in event-triggered node triggers an alert.', 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''], + 'DisableScaleIn' => ['description' => 'Indicates whether scale-in is disabled. This parameter is applicable only to target tracking scaling rules. Valid values:'."\n" + ."\n" + .'- true: Scale-in is disabled.'."\n" + .'- false: Scale-in is allowed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ScalingRuleName' => ['description' => 'The name of the scaling rule.', 'type' => 'string', 'example' => 'scalingrule****', 'title' => ''], + 'ScalingRuleId' => ['description' => 'The ID of the scaling rule.', 'type' => 'string', 'example' => 'asr-bp1dvirgwkoowxk7****', 'title' => ''], + 'Alarms' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Alarm' => [ + 'description' => 'The CloudMonitor event-triggered tasks associated with the scaling rule. Event-triggered tasks are returned only when the ShowAlarmRules parameter is set to true. Otherwise, an empty list is returned.', + 'type' => 'array', + 'items' => [ + 'description' => 'The CloudMonitor event-triggered tasks associated with the scaling rule. Event-triggered tasks are returned only when the ShowAlarmRules parameter is set to true. Otherwise, an empty list is returned.', + 'type' => 'object', + 'properties' => [ + 'AlarmTaskId' => ['description' => 'The ID of the event-triggered task associated with the scaling rule.', 'type' => 'string', 'example' => 'asg-bp18p2yfxow2dloq****_1f9458d1-70e1-4bee-8c7f-7a47695b****', 'title' => ''], + 'ComparisonOperator' => ['description' => 'The comparison operator between the statistical value and the threshold of the metric for the event-triggered task associated with the scaling rule. The comparison operator indicates the relationship in which the statistical value and the threshold can satisfy the condition. Valid values:'."\n" ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'SubPath' => [ - 'description' => 'The subdirectory of the volume. The pod can mount different directories of the same volume to different subdirectories of containers.'."\n", - 'type' => 'string', - 'example' => '/usr/sub/', - ], - 'Name' => [ - 'description' => 'The name of the volume.'."\n", - 'type' => 'string', - 'example' => 'test-empty', - ], - 'MountPropagation' => [ - 'description' => 'The mount propagation setting of the volume. Mount propagation allows the sharing of volumes that are mounted on one container with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" + .'- The statistical value is greater than or equal to the threshold. Value: >=.'."\n" + .'- The statistical value is less than or equal to the threshold. Value: <=.'."\n" + .'- The statistical value is greater than the threshold. Value: >.'."\n" + .'- The statistical value is less than the threshold. Value: <.', 'type' => 'string', 'example' => '>=', 'title' => ''], + 'MetricName' => ['description' => 'The name of the metric for the event-triggered task associated with the scaling rule.', 'type' => 'string', 'example' => 'CpuUtilization', 'title' => ''], + 'EvaluationCount' => ['description' => 'The number of consecutive times that the threshold expression must be met before the event-triggered task associated with the scaling rule enters the alert state.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'AlarmTaskName' => ['description' => 'The name of the event-triggered task associated with the scaling rule.', 'type' => 'string', 'example' => 'alarmtask****', 'title' => ''], + 'MetricType' => ['description' => 'The type of the event-triggered task associated with the scaling rule. Valid values:'."\n" ."\n" - .'* None: The volume mount does not receive subsequent mounts that are mounted to this volume or its subdirectories.'."\n" - .'* HostToCotainer: The volume mount receives all subsequent mounts that are mounted to this volume or its subdirectories.'."\n" - .'* Bidirectional: This value is similar to HostToCotainer. The volume mount receives all subsequent mounts that are mounted to this volume or its subdirectories. In addition, all volume mounts that are created by the container are propagated back to the instance and to all containers of all pods that use the same volume.'."\n" + .'- system: system monitoring event-triggered task.'."\n" + .'- custom: custom monitoring event-triggered task.', 'type' => 'string', 'example' => 'system', 'title' => ''], + 'Threshold' => ['description' => 'The alert threshold of the event-triggered task associated with the scaling rule.', 'type' => 'number', 'format' => 'float', 'example' => '50', 'title' => ''], + 'Statistics' => ['description' => 'The statistical method of the event-triggered task associated with the scaling rule. Valid values:'."\n" ."\n" - .'Default value: None.'."\n", - 'type' => 'string', - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The directory to which the volume is mounted. Data in this directory is overwritten by the data on the volume. Proceed with caution if you use this parameter.'."\n", - 'type' => 'string', - 'example' => '/usr/share/', + .'- Average: the average value.'."\n" + .'- Maximum: the maximum value.'."\n" + .'- Minimum: the minimum value.', 'type' => 'string', 'example' => 'Average', 'title' => ''], + 'Dimensions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Dimension' => [ + 'description' => 'The dimension information of the event-triggered task associated with the scaling rule.', + 'type' => 'array', + 'items' => [ + 'description' => 'The dimension information of the event-triggered task associated with the scaling rule.', + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => ['description' => 'The dimension key of the event-triggered task associated with the metric. Valid values:'."\n" + ."\n" + .'- scaling_group: the scaling group ID.'."\n" + .'- userId: the user account ID.', 'type' => 'string', 'example' => 'scaling_group', 'title' => ''], + 'DimensionValue' => ['description' => 'The dimension value of the event-triggered task associated with the metric.', 'type' => 'string', 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Period' => ['description' => 'The statistical period for monitoring data in the target tracking scaling rule.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], - 'SecurityContextCapabilityAdds' => [ - 'description' => 'The permissions that are granted to processes in the container. Only NET_ADMIN and NET_RAW are supported.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The permissions that are granted to processes in the container. Only NET_ADMIN and NET_RAW are supported.', - 'type' => 'string', - 'example' => 'NET_ADMIN', - ], - ], - 'InitContainerCommands' => [ - 'description' => 'The container startup commands.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The container startup commands.', - 'type' => 'string', - 'example' => 'sleep', - ], - ], - 'InitContainerArgs' => [ - 'description' => 'The container startup arguments.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The container startup arguments.', - 'type' => 'string', - 'example' => '10', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'StepAdjustments' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'StepAdjustment' => [ + 'description' => 'The step adjustments of the step scaling rule.', + 'type' => 'array', + 'items' => [ + 'description' => 'The step adjustments of the step scaling rule.', + 'type' => 'object', + 'properties' => [ + 'MetricIntervalUpperBound' => ['description' => 'The upper bound of the step adjustment. Valid values: -9.999999E18 to 9.999999E18.', 'type' => 'number', 'format' => 'float', 'example' => '5.0', 'title' => ''], + 'ScalingAdjustment' => ['description' => 'The number of instances to scale for the step adjustment.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MetricIntervalLowerBound' => ['description' => 'The lower bound of the step adjustment. Valid values: -9.999999E18 to 9.999999E18.', 'type' => 'number', 'format' => 'float', 'example' => '1.0', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], - ], - ], - 'Tags' => [ - 'description' => 'The tags of the elastic container instance. The tags are specified in the key-value format.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tags of the elastic container instance. The tags are specified in the key-value format.', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag.'."\n", - 'type' => 'string', - 'example' => 'version', - ], - 'Value' => [ - 'description' => 'The value of the tag.'."\n", - 'type' => 'string', - 'example' => '3', + 'AlarmDimensions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AlarmDimension' => [ + 'description' => 'The dimension information associated with the metric. This parameter is applicable to target tracking scaling rules. Set this parameter when the metric requires additional dimension information, such as the `rulePool` dimension for the `LoadBalancerRealServerAverageQps` metric.', + 'type' => 'array', + 'items' => [ + 'description' => 'The dimension information associated with the metric. This parameter is applicable to target tracking scaling rules. Set this parameter when the metric requires additional dimension information, such as the `rulePool` dimension for the `LoadBalancerRealServerAverageQps` metric.', + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => ['description' => 'The dimension key associated with the metric.', 'type' => 'string', 'example' => 'rulePool', 'title' => ''], + 'DimensionValue' => ['description' => 'The dimension value associated with the metric.', 'type' => 'string', 'example' => 'sgp-l1cbirz451yxu2****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], - ], - ], - 'Volumes' => [ - 'description' => 'Information about volumes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Information about volumes.', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the volume. Valid values:'."\n" - ."\n" - .'* EmptyDirVolume'."\n" - .'* NFSVolume'."\n" - .'* ConfigFileVolume'."\n" - .'* FlexVolume'."\n", - 'type' => 'string', - 'example' => 'EmptyDirVolume', - ], - 'DiskVolumeDiskId' => [ - 'description' => 'The storage size of the disk volume. Unit: GiB.'."\n", - 'type' => 'string', - 'example' => '15', - ], - 'DiskVolumeFsType' => [ - 'description' => 'The file system type of the disk volume.'."\n", - 'type' => 'string', - 'example' => 'xfs', - ], - 'EmptyDirVolumeMedium' => [ - 'description' => 'The storage medium when the **Type** parameter is set to **EmptyDirVolume**. This parameter is left empty by default. If this parameter is left empty, the file system that backs the node is used as the storage medium. If this parameter is set to **memory**, the memory is used as the storage medium.'."\n", - 'type' => 'string', - 'example' => 'memory', - ], - 'NFSVolumePath' => [ - 'description' => 'The path to the Network File System (NFS) volume.'."\n", - 'type' => 'string', - 'example' => '/share', - ], - 'DiskVolumeDiskSize' => [ - 'description' => 'The storage size of the disk volume. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'NFSVolumeReadOnly' => [ - 'description' => 'Indicates whether the NFS volume is read-only.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'FlexVolumeFsType' => [ - 'description' => 'The file system type when the **Type** parameter is set to **FlexVolume**. The default value is determined by the script of the FlexVolume plug-in.'."\n", - 'type' => 'string', - 'example' => 'ext4', - ], - 'ConfigFileVolumeDefaultMode' => [ - 'description' => 'The default permissions on the volume when the **Type** parameter is set to **ConfigFileVolume**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0644', - ], - 'FlexVolumeDriver' => [ - 'description' => 'The name of the driver when the **Type** parameter is set to **FlexVolume**.'."\n", - 'type' => 'string', - 'example' => 'flexvolume', - ], - 'FlexVolumeOptions' => [ - 'description' => 'The options when the **Type** parameter is set to **FlexVolume**. Each object is a key-value pair contained in a JSON string.'."\n" - ."\n" - .'When you use the FlexVolume plug-in to mount a disk, the format of options is `{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}`.'."\n", - 'type' => 'string', - 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}', - ], - 'NFSVolumeServer' => [ - 'description' => 'The endpoint of the NFS server.'."\n", - 'type' => 'string', - 'example' => '3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com', - ], - 'Name' => [ - 'description' => 'The name of the volume.'."\n", - 'type' => 'string', - 'example' => 'default-volume1', - ], - 'ConfigFileVolumeConfigFileToPaths' => [ - 'description' => 'The paths to configuration files.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Path' => [ - 'description' => 'The relative file path.'."\n", - 'type' => 'string', - 'example' => '/usr/bin/', - ], - 'Mode' => [ - 'description' => 'The permissions on the directory when the **Type** parameter is set to **ConfigFileVolume**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0644', - ], - 'Content' => [ - 'description' => 'The content of the configuration file (32 KB).'."\n", - 'type' => 'string', - 'example' => 'bGl1bWk=', + 'MetricType' => ['description' => 'The type of the metric. Valid values:'."\n" + ."\n" + .'- system: uses CloudMonitor system metrics.'."\n" + .'- custom: uses custom metrics reported to CloudMonitor.'."\n" + .'- hybrid: uses Hybrid Cloud Monitoring metrics.', 'type' => 'string', 'example' => 'system', 'title' => ''], + 'HybridMonitorNamespace' => ['description' => 'The ID of the Hybrid Cloud Monitoring monitoring metrics repository.'."\n" + ."\n" + .'To manage monitoring metrics repositories, see [Manage monitoring metrics repositories](~~217606~~).', 'type' => 'string', 'example' => 'aliyun-test', 'title' => ''], + 'HybridMetrics' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'HybridMetric' => [ + 'description' => 'The Hybrid Cloud Monitoring monitoring metrics settings. For more information, see [Use formula-based custom target tracking scaling rules](~~2852162~~).', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => 'The reference ID of the metric in the formula expression.', 'type' => 'string', 'example' => 'a', 'title' => ''], + 'Expression' => ['description' => 'The formula expression for multiple Hybrid Cloud Monitoring metrics. The calculation result of the expression is used to trigger scaling. The expression must comply with the Reverse Polish Notation (RPN) specification and supports only the `+ - * /` operators.', 'type' => 'string', 'example' => '(a+b)/2', 'title' => ''], + 'MetricName' => ['description' => 'The name of the monitoring metric in the Hybrid Cloud Monitoring monitoring metrics repository.', 'type' => 'string', 'example' => 'AliyunSmq_NumberOfMessagesVisible', 'title' => ''], + 'Statistic' => ['description' => 'The statistical method of the metric. Valid values:'."\n" + .'- Average: the average of all data points within the specified interval.'."\n" + .'- Minimum: the minimum of all data points within the specified interval.'."\n" + .'- Maximum: the maximum of all data points within the specified interval.', 'type' => 'string', 'example' => 'Average', 'title' => ''], + 'Dimensions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Dimension' => [ + 'description' => 'The metric dimension. Specifies the resource to be monitored by the metric.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => ['description' => 'The dimension key of the metric.', 'type' => 'string', 'example' => 'queue', 'title' => ''], + 'DimensionValue' => ['description' => 'The dimension value of the metric.', 'type' => 'string', 'example' => 'testQueue', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], - 'EmptyDirVolumeSizeLimit' => [ - 'type' => 'string', - ], - 'HostPathVolumeType' => [ - 'type' => 'string', - ], - 'HostPathVolumePath' => [ - 'type' => 'string', - ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], - 'ImageRegistryCredentials' => [ - 'description' => 'The password that is used to access the image repository.', - 'type' => 'array', - 'items' => [ - 'description' => 'The password that is used to access the image repository.', - 'type' => 'object', - 'properties' => [ - 'Password' => [ - 'description' => 'The username that is used to access the image repository.', - 'type' => 'string', - 'example' => 'yourpaasword', - ], - 'Server' => [ - 'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.', - 'type' => 'string', - 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com', - ], - 'UserName' => [ - 'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.', - 'type' => 'string', - 'example' => 'yourusername', - ], - ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"ScalingRules\\": {\\n \\"ScalingRule\\": [\\n {\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"AdjustmentType\\": \\"QuantityChangeInCapacity\\",\\n \\"InitialMaxSize\\": 100,\\n \\"EstimatedInstanceWarmup\\": 300,\\n \\"ScaleOutEvaluationCount\\": 3,\\n \\"PredictiveScalingMode\\": \\"PredictAndScale\\",\\n \\"MinAdjustmentMagnitude\\": 1,\\n \\"ScalingRuleAri\\": \\"ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****\\",\\n \\"PredictiveTaskBufferTime\\": 30,\\n \\"MinSize\\": 1,\\n \\"ScalingGroupId\\": \\"asg-bp1ffogfdauy0jw0****\\",\\n \\"PredictiveValueBehavior\\": \\"MaxOverridePredictiveValue\\",\\n \\"TargetValue\\": 0.125,\\n \\"Cooldown\\": 20,\\n \\"MaxSize\\": 2,\\n \\"PredictiveValueBuffer\\": 50,\\n \\"ScalingRuleType\\": \\"SimpleScalingRule\\",\\n \\"AdjustmentValue\\": 1,\\n \\"ScaleInEvaluationCount\\": 15,\\n \\"DisableScaleIn\\": true,\\n \\"ScalingRuleName\\": \\"scalingrule****\\",\\n \\"ScalingRuleId\\": \\"asr-bp1dvirgwkoowxk7****\\",\\n \\"Alarms\\": {\\n \\"Alarm\\": [\\n {\\n \\"AlarmTaskId\\": \\"asg-bp18p2yfxow2dloq****_1f9458d1-70e1-4bee-8c7f-7a47695b****\\",\\n \\"ComparisonOperator\\": \\">=\\",\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"EvaluationCount\\": 3,\\n \\"AlarmTaskName\\": \\"alarmtask****\\",\\n \\"MetricType\\": \\"system\\",\\n \\"Threshold\\": 50,\\n \\"Statistics\\": \\"Average\\",\\n \\"Dimensions\\": {\\n \\"Dimension\\": [\\n {\\n \\"DimensionKey\\": \\"scaling_group\\",\\n \\"DimensionValue\\": \\"asg-bp18p2yfxow2dloq****\\"\\n }\\n ]\\n },\\n \\"Period\\": 60\\n }\\n ]\\n },\\n \\"StepAdjustments\\": {\\n \\"StepAdjustment\\": [\\n {\\n \\"MetricIntervalUpperBound\\": 5,\\n \\"ScalingAdjustment\\": 1,\\n \\"MetricIntervalLowerBound\\": 1\\n }\\n ]\\n },\\n \\"AlarmDimensions\\": {\\n \\"AlarmDimension\\": [\\n {\\n \\"DimensionKey\\": \\"rulePool\\",\\n \\"DimensionValue\\": \\"sgp-l1cbirz451yxu2****\\"\\n }\\n ]\\n },\\n \\"MetricType\\": \\"system\\",\\n \\"HybridMonitorNamespace\\": \\"aliyun-test\\",\\n \\"HybridMetrics\\": {\\n \\"HybridMetric\\": [\\n {\\n \\"Id\\": \\"a\\",\\n \\"Expression\\": \\"(a+b)/2\\",\\n \\"MetricName\\": \\"AliyunSmq_NumberOfMessagesVisible\\",\\n \\"Statistic\\": \\"Average\\",\\n \\"Dimensions\\": {\\n \\"Dimension\\": [\\n {\\n \\"DimensionKey\\": \\"queue\\",\\n \\"DimensionValue\\": \\"testQueue\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query scaling rules', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScalingRules'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + ], + 'DescribeScheduledTasks' => [ + 'summary' => 'Queries information about scheduled tasks.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '92686', + 'abilityTreeNodes' => ['FEATUREessAWW1X1'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group to which the scheduled task belongs.', 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number of the scheduled task list. Minimum value: 1.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page for a paged query. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'default' => '10', 'example' => '50', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group that executes the scheduled task.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp1bo5tca4m56nap****', 'title' => ''], + ], + [ + 'name' => 'ScheduledAction', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The scaling rule used when the scheduled task is triggered. This parameter is returned only when the scheduled task specifies a scaling rule.', + 'type' => 'array', + 'items' => ['description' => 'The scaling rule used when the scheduled task is triggered. This parameter is returned only when the scheduled task specifies a scaling rule. Valid values of N: 0 to 20.'."\n" + ."\n" + .'The value is the unique identifier of the scaling rule (ScalingRuleAri).', 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****', 'title' => ''], + 'required' => false, + 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****', + 'maxItems' => 20, + 'title' => '', + ], + ], + [ + 'name' => 'ScheduledTaskId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The ID of the scheduled task to query.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the scheduled task to query. Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'edRtShc57WGXdt8TlPbr****', 'title' => ''], + 'required' => false, + 'example' => 'edRtShc57WGXdt8TlPbr****', + 'maxItems' => 20, + 'title' => '', + ], + ], + [ + 'name' => 'ScheduledTaskName', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The name of the scheduled task to query.', + 'type' => 'array', + 'items' => ['description' => 'The name of the scheduled task to query. Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'scheduled****', 'title' => ''], + 'required' => false, + 'example' => 'scheduled****', + 'maxItems' => 20, + 'title' => '', + ], + ], + [ + 'name' => 'TaskName', + 'in' => 'query', + 'schema' => ['description' => 'The task name. Fuzzy match by keyword is supported.', 'type' => 'string', 'required' => false, 'example' => 'scheduled****', 'title' => ''], + ], + [ + 'name' => 'RecurrenceType', + 'in' => 'query', + 'schema' => ['description' => 'The recurrence type of the scheduled task. Valid values:'."\n" + ."\n" + .'- Daily: The scheduled task is executed every specified number of days.'."\n" + .'- Weekly: The scheduled task is executed on specified days of each week.'."\n" + .'- Monthly: The scheduled task is executed on specified days of each month.'."\n" + .'- Cron: The scheduled task is executed based on a specified cron expression.', 'type' => 'string', 'required' => false, 'example' => 'Weekly', 'title' => ''], + ], + [ + 'name' => 'RecurrenceValue', + 'in' => 'query', + 'schema' => ['description' => 'The recurrence value of the scheduled task.'."\n" + ."\n" + .'This parameter is supported only when RecurrenceType is set to Weekly. You can specify multiple values separated by commas (,). For example, the values for Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday are 0, 1, 2, 3, 4, 5, and 6.', 'type' => 'string', 'required' => false, 'example' => '1,2,3', 'title' => ''], + ], + [ + 'name' => 'TaskEnabled', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the scheduled task is enabled.'."\n" + ."\n" + .'- true: The task is enabled.'."\n" + .'- false: The task is disabled.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'PageNumber' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of scheduled tasks.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScheduledTasks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ScheduledTask' => [ + 'description' => 'The collection of scheduled task information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of scheduled task information.', + 'type' => 'object', + 'properties' => [ + 'TaskEnabled' => ['description' => 'Indicates whether the scheduled task is enabled. '."\n" + .'- true: The task is enabled.'."\n" + .'- false: The task is disabled.'."\n" + ."\n" + .'Default value: true.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RecurrenceValue' => ['description' => 'The recurrence value of the scheduled task.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'RecurrenceType' => ['description' => 'The recurrence type of the scheduled task.', 'type' => 'string', 'example' => 'Daily', 'title' => ''], + 'MaxValue' => ['description' => 'The maximum number of instances in the scaling group. This parameter is returned when the scaling method of the scheduled task is set to configure the number of instances in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'ScheduledTaskName' => ['description' => 'The name of the scheduled task.', 'type' => 'string', 'example' => 'scheduled****', 'title' => ''], + 'RecurrenceEndTime' => ['description' => 'The end time of the recurrence of the scheduled task.', 'type' => 'string', 'example' => '2014-08-20T16:55Z', 'title' => ''], + 'DesiredCapacity' => ['description' => 'The expected number of instances in the scaling group. This parameter is returned when the scaling method of the scheduled task is set to configure the number of instances in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'ScheduledTaskId' => ['description' => 'The ID of the scheduled task.', 'type' => 'string', 'example' => 'edRtShc57WGXdt8TlPbr****', 'title' => ''], + 'MinValue' => ['description' => 'The minimum number of instances in the scaling group. This parameter is returned when the scaling method of the scheduled task is set to configure the number of instances in the scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group that executes the scheduled task.', 'type' => 'string', 'example' => 'asg-bp1bo5tca4m56nap****', 'title' => ''], + 'LaunchExpirationTime' => ['description' => 'The time period during which a retry is performed after the scheduled task fails to be triggered. Unit: seconds. Valid values: 0 to 21600.', 'type' => 'integer', 'format' => 'int32', 'example' => '600', 'title' => ''], + 'Description' => ['description' => 'The description of the scheduled task.', 'type' => 'string', 'example' => 'Test scheduled task.', 'title' => ''], + 'ScheduledAction' => ['description' => 'The scaling rule used when the scheduled task is executed. This parameter is returned only when the scheduled task specifies a scaling rule.', 'type' => 'string', 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****', 'title' => ''], + 'LaunchTime' => ['description' => 'The point in time at which the scheduled task is triggered.', 'type' => 'string', 'example' => '2014-08-18T10:52Z', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'DnsConfigOptions' => [ - 'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The variable name of the option.'."\n", - 'type' => 'string', - 'example' => 'name', - ], - 'Value' => [ - 'description' => 'The variable value of the option.'."\n", - 'type' => 'string', - 'example' => 'value', - ], - ], - ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"ScheduledTasks\\": {\\n \\"ScheduledTask\\": [\\n {\\n \\"TaskEnabled\\": true,\\n \\"RecurrenceValue\\": \\"1\\",\\n \\"RecurrenceType\\": \\"Daily\\",\\n \\"MaxValue\\": 10,\\n \\"ScheduledTaskName\\": \\"scheduled****\\",\\n \\"RecurrenceEndTime\\": \\"2014-08-20T16:55Z\\",\\n \\"DesiredCapacity\\": 10,\\n \\"ScheduledTaskId\\": \\"edRtShc57WGXdt8TlPbr****\\",\\n \\"MinValue\\": 0,\\n \\"ScalingGroupId\\": \\"asg-bp1bo5tca4m56nap****\\",\\n \\"LaunchExpirationTime\\": 600,\\n \\"Description\\": \\"Test scheduled task.\\",\\n \\"ScheduledAction\\": \\"ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****\\",\\n \\"LaunchTime\\": \\"2014-08-18T10:52Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'Query scheduled task information', + 'description' => '## Operation description'."\n" + ."\n" + .'You can query scheduled tasks by scheduled task ID, scheduled task name, or scaling rule associated with the scheduled task.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScheduledTasks'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScheduledTasks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + ], + 'DetachAlbServerGroups' => [ + 'summary' => 'Removes one or more Application Load Balancer (ALB) server groups from a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '92688', + 'abilityTreeNodes' => ['FEATUREess2GK585'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group, such as ap-southeast-1. For more information, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n" + ."\n" + .'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], + ], + [ + 'name' => 'ForceDetach', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to remove existing ECS instances from the ALB server groups to be detached.'."\n" + ."\n" + .'- true: removes the instances and returns a ScalingActivityId. You can check the scaling activity ID to determine whether the existing instances are removed.'."\n" + ."\n" + .'- false: does not remove the instances.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'AlbServerGroup', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The list of ALB server groups.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AlbServerGroupId' => ['description' => 'The ID of the ALB server group. N specifies the sequence number of the ALB server group.', 'type' => 'string', 'required' => true, 'example' => 'sgp-ddwb0y0g6y9bjm****', 'title' => ''], + 'Port' => ['description' => 'The port number used by ECS instances in the ALB server group. N specifies the sequence number of the ALB server group.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '22', 'title' => ''], + ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity that is triggered when the ALB server groups are removed along with the ECS instances in the ALB server groups. This parameter is returned only when ForceDetach is set to true.', 'type' => 'string', 'example' => 'asa-2ze6wxj8vsohn6j9****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-2ze6wxj8vsohn6j9****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + 'title' => 'Remove one or more ALB server groups', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|AlbServerGroup.NotAttached|The ALB server groups are not attached to specific ScalingGroup.|The specified ALB server groups are not attached to the scaling group.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachAlbServerGroups'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DetachAlbServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + ], + 'DetachDBInstances' => [ + 'summary' => 'Removes one or more ApsaraDB RDS instances.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92689', + 'abilityTreeNodes' => ['FEATUREessJZ6DNF'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], + ], + [ + 'name' => 'ForceDetach', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to remove the private IP addresses of instances in the scaling group from the IP whitelist of the RDS instance when the RDS instance is removed from the scaling group. Valid values:'."\n" + ."\n" + .'- true: Removes the private IP addresses.'."\n" + ."\n" + .'- false: Does not remove the private IP addresses.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], + ], + [ + 'name' => 'DBInstance', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The ID of the RDS instance. You can remove up to five RDS instances at a time.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the RDS instance. You can remove up to five RDS instances at a time.', 'type' => 'string', 'required' => false, 'example' => 'rm-bp12cy3****', 'title' => ''], + 'required' => true, + 'example' => 'rm-bp12cy3****', + 'maxItems' => 5, + 'title' => '', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], + ], + [ + 'name' => 'RemoveSecurityGroup', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to remove the security group whitelist that was added when the scaling group was associated with the database. This parameter takes effect only for databases whose `AttachMode` parameter is set to `SecurityGroup`. Valid values:'."\n" + ."\n" + .'- true: Removes the security group ID that was added when the scaling group was associated with the database.'."\n" + .'- false: Does not remove the security group ID that was added when the scaling group was associated with the database.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Remove one or more RDS instances', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in the current account.|'."\n" + .'|400|InvalidDBInstanceId.NotFound|DB instance "%s" does not exist.|The specified RDS instance does not exist.|.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachDBInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachDBInstances'], + ], + ], + ], + 'DetachInstances' => [ + 'summary' => 'Removes one or more ECS instances from a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92690', + 'abilityTreeNodes' => ['FEATUREessDFX5TO'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], + ], + [ + 'name' => 'DecreaseDesiredCapacity', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to modify the expected number of instances. Valid values:'."\n" + ."\n" + .'- true: After the ECS instances, elastic container instances, or managed instances are removed from the scaling group, the expected number of instances is decreased by the corresponding amount.'."\n" + .'- false: After the ECS instances, elastic container instances, or managed instances are removed from the scaling group, the expected number of instances remains unchanged.'."\n" + ."\n" + .'Default value: true.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'IgnoreInvalidInstance', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to ignore invalid instances when removing a batch of instances from the scaling group. Valid values:'."\n" + ."\n" + .'- true: Invalid instances are ignored when a batch of instances is removed from the scaling group.'."\n" + ."\n" + .' If a batch of instances contains invalid instances (for example, instances whose instance status is `Pending`) and the valid instances are successfully removed, the scaling activity execute status is displayed as `Warning`. You can view the invalid instances in the scaling activity details.'."\n" + .'- false: Invalid instances are not ignored when a batch of instances is removed from the scaling group.'."\n" + ."\n" + .' If a batch of instances contains invalid instances (for example, instances whose instance status is `Pending`), an error is returned.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'DetachOption', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to stop using ECS instances or elastic container instances as backend servers of the associated load balancing instance (that is, remove the ECS instances or elastic container instances from the default server group and virtual server group of the load balancing instance), and whether to remove the ECS instances or elastic container instances from the access whitelist of the associated ApsaraDB RDS instance.'."\n" + ."\n" + .'both: removes the ECS instances or elastic container instances from the default server group and virtual server group of the load balancing instance, and removes the ECS instances or elastic container instances from the access whitelist of the ApsaraDB RDS instance.'."\n" + ."\n" + .'> Settings for this parameter are not supported when managed instances are removed from the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'both', 'title' => ''], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The ID of the ECS instance, elastic container instance, or managed instance to be removed.', + 'type' => 'array', + 'items' => ['description' => 'Instance ID of the ECS instance, elastic container instance, or managed instance to be removed. Valid values of N: 1 to 20.'."\n" + ."\n" + .'Examples:'."\n" + ."\n" + .'- Instance ID of the ECS instance to be removed is `i-bp109k5j3dum1ce6****`.'."\n" + .'- Instance ID of the elastic container instance to be removed is `eci-bp17gw49eu09yiwm****`.'."\n" + .'- Instance ID of the managed instance to be removed is `mi-d23fsd******`.'."\n" + .'> Only one type of instance can be removed in a single request.', 'type' => 'string', 'required' => false, 'example' => 'i-bp109k5j3dum1ce6****', 'title' => ''], + 'required' => true, + 'example' => 'i-bp109k5j3dum1ce6****', + 'maxItems' => 100, + 'title' => '', + ], + ], + [ + 'name' => 'LifecycleHook', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to trigger the scale-in lifecycle hook when ECS instances or elastic container instances are removed from the scaling group. Valid values:'."\n" + .'- true: triggers the lifecycle hook.'."\n" + .'- false: does not trigger the lifecycle hook.'."\n" + .'> This parameter is not supported when managed instances are removed from the scaling group.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'example' => 'false', 'required' => false, 'title' => ''], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'example' => 'asa-bp1gbswjhjrw8tko****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1gbswjhjrw8tko****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Remove one or more ECS instances from a scaling group', + 'description' => '## Operation description'."\n" + ."\n" + .'- Before you call this operation, make sure that the following conditions are met:'."\n" + .' - The scaling group is in the **Enabled** state.'."\n" + .' - No scaling activity is in progress in the scaling group.'."\n" + ."\n" + .' > If no scaling activity is in progress in the scaling group, this operation can bypass the cooldown time and directly trigger a scaling activity.'."\n" + ."\n" + .'- Take note of the following items:'."\n" + .' - After an ECS instance, an elastic container instance, or a managed instance is removed from a scaling group, the instance continues to exist independently. You can call the [AttachInstances](~~25954~~) operation to add the ECS instance, elastic container instance, or managed instance to another scaling group.'."\n" + .' - Calling this operation to remove an ECS instance, an elastic container instance, or a managed instance does not stop or release the instance.'."\n" + .' - After the operation is called, it only indicates that Auto Scaling has accepted the request. A scaling activity can be triggered, but the success of the scaling activity is not guaranteed. You must check the status of the scaling activity based on the returned ScalingActivityId.'."\n" + .' - The number of ECS instances, elastic container instances, or managed instances in the scaling group minus the number of instances being removed cannot be less than the minimum number of instances (MinSize) in the scaling group. Otherwise, an error is returned.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|IncorrectScalingGroupStatus|The current status of the specified scaling group does not support this action.|The scaling group must be in the Enabled state.|'."\n" + .'|400|ScalingActivityInProgress|You cannot delete a scaling group or launch a new scaling activity while there is a scaling activity in progress for the specified scaling group.|No scaling activity can be in progress in the scaling group.|'."\n" + .'|400|IncorrectLoadBalancerStatus|The current status of the specified load balancer does not support this action.|The load balancing instance associated with the scaling group must be in the Active state.|'."\n" + .'|400|IncorrectDBInstanceStatus|The current status of DB instance "XXX" does not support this action.|The ApsaraDB RDS instance associated with the scaling group must be in the Running state.|'."\n" + .'|400|IncorrectCapacity.MinSize|To remove the instances, the total capacity will be lesser than the MinSize.|The number of ECS instances or elastic container instances in the scaling group minus the number of instances being removed cannot be less than the minimum number of instances (MinSize) in the scaling group.|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You are not authorized to call the DetachInstances operation.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist.|'."\n" + .'|404|InvalidInstanceId.NotFound|Instance "XXX" does not exist.|The specified ECS instance or elastic container instance does not exist.|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachInstances'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + ], + 'DetachLoadBalancers' => [ + 'summary' => 'Removes one or more load balancing instances.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92691', + 'abilityTreeNodes' => ['FEATUREess2GK585'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp1ffogfdauy0jw0****', 'title' => ''], + ], + [ + 'name' => 'ForceDetach', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to remove ECS instances that belong to the current scaling group from the backend servers of the load balancing instance after the load balancing instance is removed. Valid values:'."\n" + ."\n" + .'- true: Removes the ECS instances.'."\n" + ."\n" + .'- false: Does not remove the ECS instances.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n" + ."\n" + .'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], + ], + [ + 'name' => 'Async', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use asynchronous invocation when removing load balancing instances. Asynchronous invocation ensures the transactional nature of the operation, which means that either all operations execute successfully or none of the operations take effect if one fails. Use asynchronous invocation.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- true: Asynchronous invocation. The request returns the ID of the scaling activity.'."\n" + ."\n" + .'- false: Synchronous call.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'LoadBalancer', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The ID of the load balancing instance. You can remove up to five load balancing instances at a time.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the load balancing instance. You can remove up to five load balancing instances at a time.', 'type' => 'string', 'required' => false, 'example' => 'lb-2zeur05gfs****', 'title' => ''], + 'required' => true, + 'example' => 'lb-2zeur05gfs****', + 'maxItems' => 5, + 'title' => '', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.'."\n" + ."\n" + .'This value is returned only when `Async=true`. You can call the [DescribeScalingActivities](~~25961~~) operation to query the returned scaling activity ID and check the execution status of the scaling activity.', 'type' => 'string', 'example' => 'asa-bp140qd7mak8k63f****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp140qd7mak8k63f****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Remove one or more load balancing instances', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You have not granted Auto Scaling full permissions to invoke API operations.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in your account.|'."\n" + .'|404|InvalidLoadBalancerId.NotFound|The Load Balancer "%s" does not exist.|The specified load balancing instance does not exist in the scaling group.|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachLoadBalancers'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachLoadBalancers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + ], + 'DetachServerGroups' => [ + 'summary' => 'Removes one or more load balancing server groups from a scaling group. Supported server group types include Application Load Balancer (ALB) and Network Load Balancer (NLB).', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '166341', + 'abilityTreeNodes' => ['FEATUREess2GK585'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The scaling group ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], + ], + [ + 'name' => 'ForceDetach', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to remove ECS instances or elastic container instances in the current scaling group from the server groups to be removed. Valid values:'."\n" + ."\n" + .'- true: Removes the instances.'."\n" + ."\n" + .'- false: Does not remove the instances.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'ServerGroup', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The information about the load balancing server groups.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the load balancing server groups.', + 'type' => 'object', + 'properties' => [ + 'ServerGroupId' => ['description' => 'The ID of the load balancing server group.', 'type' => 'string', 'required' => true, 'example' => 'sgp-1gv2uidn2msy****', 'title' => ''], + 'Type' => ['description' => 'The type of the load balancing server group. Valid values:'."\n" + ."\n" + .'- ALB: Application Load Balancer (ALB).'."\n" + .'- NLB: Network Load Balancer (NLB).'."\n" + .'- GWLB: Gateway Load Balancer (GWLB).', 'type' => 'string', 'required' => true, 'example' => 'ALB', 'title' => ''], + 'Port' => ['description' => 'The port number used by ECS instances or elastic container instances in the load balancing server group.'."\n" + ."\n" + .'> This parameter is required for ALB and NLB load balancing server groups. This parameter cannot be configured for GWLB load balancing server groups. Settings default value is 6081.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity that is triggered when ECS instances or elastic container instances are removed from the load balancing server group along with the server group removal.'."\n" + ."\n" + .'> This parameter is returned only when ForceDetach is set to true.', 'type' => 'string', 'example' => 'asa-bp1gbswjhjrw8tko****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1gbswjhjrw8tko****\\",\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\"\\n}","type":"json"}]', + 'title' => 'Remove one or more load balancing server groups', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachServerGroups'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + ], + 'DetachVServerGroups' => [ + 'summary' => 'Removes one or more virtual server groups.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92692', + 'abilityTreeNodes' => ['FEATUREess2GK585'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the region where the scaling group resides, such as `ap-southeast-1` or `cn-shanghai`. For more information, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1fo0dbtsbmqa9h****', 'title' => ''], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], + ], + [ + 'name' => 'ForceDetach', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to remove the instances in the current scaling group from the virtual server groups to be removed. '."\n" + ."\n" + .'- true: removes the instances. If you set this parameter to `true`, the system removes the instances that are associated with the scaling group from the backend servers of the load balancing instance when the load balancing instance is removed from the scaling group.'."\n" + ."\n" + .'- false: does not remove the instances. If you set this parameter to `false`, the system does not remove the instances that are associated with the scaling group from the backend servers of the load balancing instance when the load balancing instance is removed from the scaling group.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'VServerGroup', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The information about the virtual server groups associated with the scaling group.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the virtual server groups to be removed.', + 'type' => 'object', + 'properties' => [ + 'VServerGroupAttribute' => [ + 'description' => 'The attribute column list of virtual server groups.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of virtual server groups.', + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => ['description' => 'The ID of the virtual server group.'."\n" + ."\n" + .'- The first N specifies the load balancing instance number. Valid values: 1 to 5.'."\n" + ."\n" + .'- The second N specifies the virtual server group number under the load balancing instance. Valid values: 1 to 5.', 'type' => 'string', 'required' => false, 'example' => 'rsp-bp1jp1rge****', 'title' => ''], + 'Port' => ['description' => 'The port number used by Auto Scaling to add ECS instances or elastic container instances to the virtual server group. Valid values: 1 to 65535.'."\n" + ."\n" + .'- The first N specifies the load balancing instance number. Valid values: 1 to 5.'."\n" + ."\n" + .'- The second N specifies the virtual server group number under the load balancing instance. Valid values: 1 to 5.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''], ], - 'HostAliases' => [ - 'description' => 'The hostnames and IP addresses of a container that are added to the hosts file of the elastic container instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The hostnames and IP addresses of a container that are added to the hosts file of the elastic container instance.', - 'type' => 'object', - 'properties' => [ - 'Ip' => [ - 'description' => 'The IP address that is added.'."\n", - 'type' => 'string', - 'example' => '192.0.XX.XX', - ], - 'Hostnames' => [ - 'description' => 'The hostnames that are added.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The hostnames that are added.', - 'type' => 'string', - 'example' => '[\'hehe.com\', \'haha.com\']', - ], - ], - ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + 'LoadBalancerId' => ['description' => 'The ID of the load balancing instance to which the virtual server group belongs.'."\n" + ."\n" + .'N specifies the load balancing instance number. Valid values: 1 to 5.'."\n" + ."\n" + .'>You can remove up to five load balancing instances from a scaling group at a time.', 'type' => 'string', 'required' => false, 'example' => 'lb-bp1p90y3ya9h8s62d****', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'DetachVServerGroups', + 'description' => '## Operation description'."\n" + ."\n" + .'- To confirm the virtual server groups to remove, you must specify the following request parameters at the same time:'."\n" + ."\n" + .' - LoadBalancerId: the instance ID of the load balancing instance.'."\n" + .' - VServerGroupId: the ID of the virtual server group. '."\n" + .' - Port: the port number of the virtual server group.'."\n" + ."\n" + .'- If the virtual server groups specified in the request parameters match those associated with the scaling group, the virtual server groups are removed. If no match is found, the removal request is ignored and no error is returned.'."\n" + ."\n" + .'- When you remove a load balancing instance from a scaling group, confirm that the load balancing instance no longer distributes requests to instances in the scaling group to prevent service request loss.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You have not granted Auto Scaling full permissions to call API operations.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in your account.|'."\n" + .'|400|InvalidParameter|The specified value of parameter "%s" is not valid.|The specified parameter value is invalid.|'."\n" + .'|400|MissingParameter|The input parameter "%s" that is mandatory for processing this request is not supplied.|A required parameter is missing.|.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachVServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachVServerGroups'], + ], + ], + ], + 'DisableAlarm' => [ + 'summary' => 'Disables an event-triggered task.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92693', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao', 'title' => ''], + ], + [ + 'name' => 'AlarmTaskId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the event-triggered task.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '086EFCD4-C76F-4DC6-9EE9-0D9B711E****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"086EFCD4-C76F-4DC6-9EE9-0D9B711E****\\"\\n}","type":"json"}]', + 'title' => 'Disable an event-triggered task', + 'description' => '## Operation description'."\n" + ."\n" + .'Before you disable an event-triggered task, the task must be in the Normal, Alerting, or Insufficient Data state.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DisableAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableAlarm'], + ], + ], + ], + 'DisableScalingGroup' => [ + 'summary' => 'Disables a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92694', + 'abilityTreeNodes' => ['FEATUREessUCEVTM'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Disable a scaling group', + 'description' => '## Operation description'."\n" + ."\n" + .'Before you disable a specified scaling group, take note of the following items:'."\n" + ."\n" + .'- Scaling activities that were triggered before the scaling group is disabled continue to completion. Scaling activities triggered after the scaling group is disabled are rejected.'."\n" + ."\n" + .'- You can invoke this operation only when the scaling group is in the Active state.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in the current account.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DisableScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableScalingGroup'], + ], + ], + ], + 'EnableAlarm' => [ + 'summary' => 'Enables an event-triggered task.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92695', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao', 'title' => ''], + ], + [ + 'name' => 'AlarmTaskId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the event-triggered task.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '688B18B8-FB1E-42EB-A1ED-7F55B090****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"688B18B8-FB1E-42EB-A1ED-7F55B090****\\"\\n}","type":"json"}]', + 'title' => 'Enable an event-triggered task', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnableAlarm'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:EnableAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + ], + 'EnableScalingGroup' => [ + 'summary' => 'Enables a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92696', + 'abilityTreeNodes' => ['FEATUREessUCEVTM'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''], + ], + [ + 'name' => 'ActiveScalingConfigurationId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling configuration to be activated in the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asc-bp1ffogfdauy0nu5****', 'title' => ''], + ], + [ + 'name' => 'LaunchTemplateId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the launch template. This parameter specifies that the scaling group obtains launch configuration information from the launch template.', 'type' => 'string', 'required' => false, 'example' => 'lt-m5e3ofjr1zn1aw7****', 'title' => ''], + ], + [ + 'name' => 'LaunchTemplateVersion', + 'in' => 'query', + 'schema' => ['description' => 'The version of the launch template. Valid values: '."\n" + ."\n" + .'- A fixed template version number.'."\n" + .'- Default: always uses the default version of the template.'."\n" + .'- Latest: always uses the latest version of the template.', 'type' => 'string', 'required' => false, 'example' => 'Default', 'title' => ''], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The ID of the ECS instance to add to the scaling group after the scaling group is enabled. Valid values of N: 1 to 20.'."\n" + ."\n" + .'The ECS instances to be added to the scaling group must meet the following conditions: '."\n" + .' '."\n" + .'- The instances must be in the same region as the scaling group.'."\n" + ."\n" + .'- The instances must be in the Running state.'."\n" + ."\n" + .'- The instances must not already belong to another scaling group.'."\n" + ."\n" + .'- The billing method of the instances must be subscription, pay-as-you-go, or spot instance.'."\n" + ."\n" + .'- If the scaling group has a specified VswitchID, classic network ECS instances cannot be added to the scaling group, and ECS instances from other VPCs cannot be added to the scaling group.'."\n" + ."\n" + .'- If the scaling group does not have a specified VswitchID, VPC-type ECS instances cannot be added to the scaling group.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the ECS instance to add to the scaling group after the scaling group is enabled. Valid values of N: 1 to 20.'."\n" + ."\n" + .'The ECS instances to be added to the scaling group must meet the following conditions: '."\n" + .' '."\n" + .'- The instances must be in the same region as the scaling group.'."\n" + ."\n" + .'- The instances must be in the Running state.'."\n" + ."\n" + .'- The instances must not already belong to another scaling group.'."\n" + ."\n" + .'- The billing method of the instances must be subscription, pay-as-you-go, or spot instance.'."\n" + ."\n" + .'- If the scaling group has a specified VswitchID, classic network ECS instances cannot be added to the scaling group, and ECS instances from other VPCs cannot be added to the scaling group.'."\n" + ."\n" + .'- If the scaling group does not have a specified VswitchID, VPC-type ECS instances cannot be added to the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'i-283vv****', 'title' => ''], + 'required' => false, + 'example' => 'i-283vv****', + 'maxItems' => 100, + 'title' => '', + ], + ], + [ + 'name' => 'LoadBalancerWeight', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The weight of the ECS instance or elastic container instance as a backend server of the associated Server Load Balancer (SLB) instance. Valid values of N: 1 to 20. Valid values of this parameter: 1 to 100.'."\n" + ."\n" + .'Default value: 50.', + 'type' => 'array', + 'items' => ['description' => 'The weight of the ECS instance or elastic container instance as a backend server of the associated SLB instance. Valid values of N: 1 to 20. Valid values of this parameter: 1 to 100.'."\n" + ."\n" + .'Default value: 50.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], + 'required' => false, + 'example' => '50', + 'maxItems' => 100, + 'title' => '', + ], + ], + [ + 'name' => 'LaunchTemplateOverride', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The override information of the launch template.', + 'type' => 'array', + 'items' => [ + 'description' => 'The override information of the launch template.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'If you want the scaling group to scale based on the capacity of instance types, specify both this parameter and LaunchTemplateOverride.N.WeightedCapacity.'."\n" + ."\n" + .'This parameter specifies ECS instance type and overrides ECS instance type in the launch template. You can specify N values for this parameter to extend the launch template to support N instance types. Valid values of N: 1 to 10.'."\n" + .'> This parameter takes effect only when the LaunchTemplateId parameter specifies a launch template.'."\n" + ."\n" + .'For valid values of InstanceType, see [Instance families](~~25378~~).', 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.xlarge', 'title' => ''], + 'WeightedCapacity' => ['description' => 'If you want the scaling group to scale based on the capacity of instance types, specify this parameter after you specify LaunchTemplateOverride.N.InstanceType. The two parameters correspond to each other on a one-to-one basis, and the values of N must be the same.'."\n" + ."\n" + .'This parameter specifies the weight of the instance type, which represents the capacity of a single instance of this type in the scaling group. A higher weight means that fewer instances of this type are required to meet the expected capacity.'."\n" + ."\n" + .'Because instance types differ in the number of vCPUs, memory size, and other performance metrics, you can assign different weights to different instance types based on your requirements.'."\n" + ."\n" + .' For example:'."\n" + ."\n" + .'- Current capacity: 0.'."\n" + .'- Expected capacity: 6.'."\n" + .'- Capacity of the ecs.c5.xlarge instance type: 4.'."\n" + ."\n" + .'To meet the expected capacity, the scaling group scales out by adding 2 ecs.c5.xlarge instances.'."\n" + ."\n" + .'>During a scale-out, the capacity of the scaling group cannot exceed the sum of the maximum capacity (MaxSize) and the maximum weight among the instance types.'."\n" + ."\n" + .'Valid values of WeightedCapacity: 1 to 500.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Enable a scaling group', + 'description' => '## Operation description'."\n" + ."\n" + .'- You can invoke this operation to enable a scaling group only when the scaling group is in the Inactive state and has an instance configuration source (a scaling configuration, a launch template, or ECS instances specified during scaling group creation). Otherwise, the invocation fails.'."\n" + ."\n" + .' >A scaling group can have only one active instance configuration source at a time. When you invoke this operation, you can specify a scaling configuration or launch template for the scaling group. If you have already configured an instance configuration source for the scaling group before invoking this operation, specifying a scaling configuration or launch template overwrites the existing configuration.'."\n" + ."\n" + .'- If you specify ECS instances (InstanceId.N) to add to the scaling group when invoking this operation, Auto Scaling checks whether the total number of ECS instances (Total Capacity) in the scaling group falls between the minimum value (MinSize) and the maximum value (MaxSize) after the ECS instances are added:'."\n" + ."\n" + .' - If the Total Capacity of the scaling group is less than MinSize, Auto Scaling performs automatic creation of pay-as-you-go ECS instances to make up the difference.'."\n" + ."\n" + .' For example, if you set MinSize to 5 when creating the scaling group and specify 2 existing ECS instances in the InstanceId.N parameter when enabling the scaling group, Auto Scaling adds the 2 existing ECS instances and then performs automatic creation of 3 more ECS instances. '."\n" + ."\n" + .' - If the Total Capacity of the scaling group is greater than MaxSize, the invocation failed.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in the current account.|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You have not fully authorized Auto Scaling to call API operations.|'."\n" + .'|400|IncorrectScalingGroupStatus|The current status of the specified scaling group does not support this action.|The specified scaling group is in the Deleting state.|'."\n" + .'|404|InvalidScalingConfigurationId.NotFound|The specified scaling configuration does not exist.|The specified scaling configuration does not exist in the specified scaling group.|'."\n" + .'|400|InvalidScalingConfigurationId.InstanceTypeMismatch|The specified scaling configuration and existing active scaling configuration have different instance type.|The instance type of the specified scaling configuration does not match the instance type of the active scaling configuration.|'."\n" + .'|400|MissingActiveScalingConfiguration|An active scaling configuration for the specified scaling group is not supplied.|No active scaling configuration is specified for the scaling group.|'."\n" + .'|404|InvalidInstanceId.NotFound|Instance "XXX" does not exist.|The specified ECS instance does not exist in the current account.|'."\n" + .'|400|InvalidInstanceId. RegionMismatch|Instance "XXX" and the specified scaling group are not in the same Region.|The specified ECS instance is not in the same region as the scaling group.|'."\n" + .'|400|InvalidInstanceId. InstanceTypeMismatch|Instance "XXX" and existing active scaling configuration have different instance type.|The instance type of the specified ECS instance does not match the instance type of the scaling configuration.|'."\n" + .'|400|IncorrectInstanceStatus|The current status of instance "XXX" does not support this action.|The specified ECS instance is not in the Running state.|'."\n" + .'|400|InvalidInstanceId. NetworkTypeMismatch|The network type of instance "XXX" does not support this action.|The network type of the specified ECS instance does not match the network type of the scaling group.|'."\n" + .'|400|InvalidInstanceId.VPCMismatch|Instance "XXX" and the specified scaling group are not in the same VPC.|The specified scaling group and the ECS instance to be added are not in the same VPC.|'."\n" + .'|400|InvalidInstanceId.InUse|Instance "XXX" is already attached to another scaling group.|The specified ECS instance is already added to another scaling group.|'."\n" + .'|400|IncorrectLoadBalancerStatus|The current status of the specified load balancer does not support this action.|The specified SLB instance is not in the Active state.|'."\n" + .'|400|IncorrectLoadBalancerHealthCheck|The current health check type of specified load balancer does not support this action.|Health check is not enabled for the specified SLB instance.|'."\n" + .'|400|InvalidLoadBalancerId.IncorrectInstanceNetworkType|The network type of the instance in specified Load Balancer does not support this action.|The network type of the ECS instances in the specified SLB instance does not match the network type of the scaling group.|'."\n" + .'|400|InvalidLoadBalancerId.VPCMismatch|The specified virtual switch and the instance in specified Load Balancer are not in the same VPC.|The ECS instances in the SLB instance associated with the scaling group and the specified VSwitchId are not in the same VPC.|'."\n" + .'|400|IncorrectDBInstanceStatus|The current status of DB instance "XXX" does not support this action.|The specified ApsaraDB RDS instance is not in the Running state.|'."\n" + .'|400|IncorrectCapacity.MaxSize|To attach the instances, the total capacity will be greater than the max size.|The number of ECS instances to be added causes the Total Capacity to exceed MaxSize.|'."\n" + .'|400|LaunchTemplateVersionSet.NotFound|The specific version of launch template is not exist.|The specified version of the launch template does not exist.|'."\n" + .'|400|LaunchTemplateSet.NotFound|The specified launch template set is not found.|The specified launch template does not exist.|'."\n" + .'|400|TemplateMissingParameter.ImageId|The input parameter "ImageId" that is mandatory for processing this request is not supplied.|The specified version of the launch template does not contain image information.|'."\n" + .'|400|TemplateMissingParameter.InstanceTypes|The input parameter "InstanceTypes" that is mandatory for processing this request is not supplied.|The specified version of the launch template does not contain instance type information.|'."\n" + .'|400|TemplateMissingParameter.SecurityGroup|The input parameter "SecurityGroup" that is mandatory for processing this request is not supplied.|The specified version of the launch template does not contain security group information.|'."\n" + .'|400|TemplateVersion.NotNumber|The input parameter "LaunchTemplateVersion" is supposed to be a string representing the version number.|The fixed version number specified for the launch template is not a number.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnableScalingGroup'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:EnableScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + ], + 'EnterStandby' => [ + 'summary' => 'Sets ECS instances in a scaling group to the standby state.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92697', + 'abilityTreeNodes' => ['FEATUREessBFHJ1B'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1fo0dbtsbmqa9h****', 'title' => ''], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n" + ."\n" + .'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The ID of the ECS instance or elastic container instance.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the ECS instance or elastic container instance.', 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****', 'title' => ''], + 'required' => true, + 'example' => 'i-28wt4****', + 'maxItems' => 20, + 'title' => '', + ], + ], + [ + 'name' => 'Async', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use an asynchronous task. Valid values:'."\n" + .'- true: The request is processed asynchronously.'."\n" + .'- false: The request is processed synchronously.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'ScalingActivityId' => ['title' => '', 'description' => 'The ID of the scaling activity.', 'type' => 'string', 'example' => 'asa-2zeb04oym05qaceq****'], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingActivityId\\": \\"asa-2zeb04oym05qaceq****\\"\\n}","type":"json"}]', + 'title' => 'Set ECS instances in a scaling group to the standby state', + 'description' => '## Operation description'."\n" + ."\n" + .'- If the scaling group is associated with a load balancing instance, the weight of the corresponding instance in the load balancing instance is set to 0.'."\n" + ."\n" + .'- When an instance is in the standby state, you can manually remove and release the instance from the scaling group as Normal.'."\n" + ."\n" + .'- For scaling activities triggered by changes in the number of instances in the scaling group or by monitoring nodes for automatic scale-in, instances in the standby state are not removed.'."\n" + ."\n" + .'- When an instance is in the standby state, if the instance enters an unhealthy state (for example, stopping or restarting), the health check status of the instance is not updated, and no scaling activity is triggered to remove the unhealthy instance. The health check status is updated only after the instance exits the standby state.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|The RAM user is not authorized to call this operation. Grant the required permissions by using the Alibaba Cloud account and try again.|'."\n" + .'|404|InvalidInstanceId.NotFound|Instance "XXX" does not exist.|The specified ECS instance or elastic container instance does not exist.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnterStandby'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:EnterStandby', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + ], + 'ExecuteScalingRule' => [ + 'summary' => 'Executes a scaling rule.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92698', + 'abilityTreeNodes' => ['FEATUREessKCZYL8'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingRuleAri', + 'in' => 'query', + 'schema' => ['description' => 'The unique identifier of the scaling rule.'."\n" + .'>When you call this operation to execute a scaling rule, only simple scaling rules and step scaling rules are supported. To execute a step scaling rule, you must specify both the `BreachThreshold` and `MetricValue` parameters.', 'type' => 'string', 'required' => true, 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', 'title' => ''], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'The value of this parameter is generated by the client and must be unique among different requests. The value can be up to 64 ASCII characters in length. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''], + ], + [ + 'name' => 'BreachThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The threshold that is specified when the step scaling rule is executed. Valid values: -9.999999E18 to 9.999999E18.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], + ], + [ + 'name' => 'MetricValue', + 'in' => 'query', + 'schema' => ['description' => 'The metric value that is specified when the step scaling rule is executed. Valid values: -9.999999E18 to 9.999999E18.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling rule.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'example' => 'asa-bp13o672yeautiil****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp13o672yeautiil****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Execute a scaling rule', + 'description' => '# Operation description'."\n" + .'Note the following items when you invoke this operation:'."\n" + .'- Before you invoke this operation, make sure that the following conditions are met:'."\n" + ."\n" + .' - The scaling group is in the `Active` state.'."\n" + .' - The scaling group has no ongoing scaling activities.'."\n" + ."\n" + .'- When the scaling group has no ongoing scaling activities, this operation can bypass the cooldown time and directly trigger a scaling activity.'."\n" + ."\n" + .'- If the number of ECS instances to increase based on the scaling rule plus the current number of instances in the scaling group (Total Capacity) is greater than the maximum number of instances (MaxSize), the scaling activity is executed with Total Capacity set to MaxSize.'."\n" + ."\n" + .'- If the current number of instances in the scaling group (Total Capacity) minus the number of ECS instances to be removed based on the scaling rule is less than the minimum number of instances (MinSize), the scaling activity is executed with Total Capacity set to MinSize.'."\n" + ."\n" + .'A successful response to this operation only indicates that Auto Scaling has accepted the request and can execute the scaling activity. It does not mean that the scaling activity will succeed. You can check the execution status of the scaling activity by using the returned `ScalingActivityId`.'."\n" + .'>The number of ECS instances that can be adjusted in a single operation is limited. For more information, see the metric description of the AdjustmentValue parameter in [CreateScalingRule](~~25948~~).', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingRuleAri.NotFound|The specified scaling rule Ari does not exist.|The specified scaling rule does not exist in the current account.|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You have not fully authorized Auto Scaling to call API operations.|'."\n" + .'|400|IncorrectScalingGroupStatus|The current status of the specified scaling group does not support this action.|The scaling group to which the specified scaling rule belongs is not in the Active state.|'."\n" + .'|400|ScalingActivityInProgress|You cannot delete a scaling group or launch a new scaling activity while there is a scaling activity in progress for the specified scaling group.|A scaling activity is in progress in the scaling group to which the specified scaling rule belongs.|'."\n" + .'|400|InsufficientBalance|Your account does not have enough balance.|The account balance is insufficient.|'."\n" + .'|400|QuotaExceed.Instance|Living instance quota exceeded.|The number of ECS instances has reached the upper limit.|'."\n" + .'|400|IncorrectLoadBalancerStatus|The current status of the specified load balancer does not support this action.|The Server Load Balancer (SLB) instance associated with the scaling group to which the specified scaling rule belongs is not in the Active state.|'."\n" + .'|400|IncorrectLoadBalancerHealthCheck|The current health check type of specified load balancer does not support this action.|Health check is not enabled for the SLB instance associated with the scaling group to which the specified scaling rule belongs.|'."\n" + .'|400|InvalidLoadBalancerId.IncorrectInstanceNetworkType|The network type of the instance in specified load balancer does not support this action.|The network type of the ECS instances in the specified SLB instance does not match the network type of the scaling group.|'."\n" + .'|400|InvalidLoadBalancerId.VPCMismatch|The specified virtual switch and the instance in specified load balancer are not in the same VPC.|The ECS instances in the SLB instance associated with the scaling group and the specified vSwitch are not in the same VPC.|'."\n" + .'|400|IncorrectDBInstanceStatus|The current status of DB instance "XXX" does not support this action.|The ApsaraDB RDS instance associated with the scaling group to which the specified scaling rule belongs is not in the Running state.|'."\n" + .'|400|QuotaExceeded.DBInstanceSecurityIP|Security IP quota exceeded in DB instance "XXX".|The number of IP addresses in the whitelist of the ApsaraDB RDS instance associated with the scaling group to which the specified scaling rule belongs has reached the upper limit.|'."\n" + .'|400|QuotaExceeded.SecurityGroupInstance|Instance quota exceeded in the specified security group.|The number of ECS instances added to the specified security group has reached the upper limit.|'."\n" + .'|400|IncorrectCapacity.NoChange|To execute the specified scaling rule, the total capacity will not change.|The scaling rule does not cause any change in the number of instances in the scaling group.|'."\n" + .'|400|QuotaExceeded.ScalingInstance|Scaling instance quota exceeded.|The number of ECS instances managed by Auto Scaling has reached the upper limit.|'."\n" + .'|400|QuotaExceeded.AfterpayInstance|Living afterpay instance quota exceeded.|The number of pay-as-you-go ECS instances has reached the upper limit.|'."\n" + .'|400|ResourceNotAvailable.ECS|The specified region or zone does not offer the specified disk or instance category.|The specified ECS instance type or cloud disk type cannot be created in the specified region.|'."\n" + .'|400|ScalingRule.InvalidScalingRuleType|Specific scaling rule type: %s can not be executed.|The scaling rule of the current type cannot be executed.|'."\n" + .'|400|InvalidStepAdjustments.NoStepFound|No adjustment step found for a metric value of: %s.|No matching step adjustment was found for the specified metric value.|'."\n" + .'|400|MissingParameter.MetricValue|Metric value must be specified for StepScalingRule.|A metric value must be specified when you execute a step scaling rule.|'."\n" + .'|400|MissingParameter.BreachThreshold|Breach threshold must be specified for StepScalingRule.|A breach threshold must be specified when you execute a step scaling rule.|'."\n" + .'|400|MetricValueBeyondPermitRange|Specific parameter "%s" beyond permit range.|The metric value exceeds the permitted range.|'."\n" + .'|400|BreachThresholdBeyondPermitRange|Specific parameter "%s" beyond permit range.|The breach threshold exceeds the permitted range.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1800', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ExecuteScalingRule'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ExecuteScalingRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + ], + 'ExitStandby' => [ + 'summary' => 'Transitions ECS instances in standby state within a scaling group to the running state.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92699', + 'abilityTreeNodes' => ['FEATUREessBFHJ1B'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1fo0dbtsbmqa9h****', 'title' => ''], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The ID of the ECS instance.', + '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 (,).', 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****', 'title' => ''], + 'required' => true, + 'example' => 'i-28wt4****', + 'maxItems' => 20, + 'title' => '', + ], + ], + [ + 'name' => 'Async', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use an asynchronous task. Valid values:'."\n" + ."\n" + .'- true: The task is executed asynchronously.'."\n" + .'- false: The task is executed synchronously.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'ScalingActivityId' => ['title' => '', 'description' => 'The scaling activity ID.', 'type' => 'string', 'example' => 'asa-2zeb04oym05qaceq****'], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingActivityId\\": \\"asa-2zeb04oym05qaceq****\\"\\n}","type":"json"}]', + 'title' => 'Transition standby instances to running state', + 'description' => '## Operation description'."\n" + ."\n" + .'After instances in a scaling group are removed from standby state, note the following items:'."\n" + ."\n" + .'- The ECS instances or ECI instances transition to the running state (that is, recover to the in-service state).'."\n" + ."\n" + .'- If the scaling group that contains the ECS instances or ECI instances is associated with a load balancing instance, the weight of the ECS instances or ECI instances is set to 50 by default when they are added back to the load balancing instance.'."\n" + ."\n" + .'- If the ECS instances or ECI instances are stopped or restarted, their health check status is updated.'."\n" + ."\n" + .'- When a scale-in scaling activity is triggered in the scaling group, Auto Scaling can remove the ECS instances or ECI instances from the scaling group.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|The RAM user is not authorized to invoke this operation. Grant the required permissions and try again.|'."\n" + .'|404|InvalidInstanceId.NotFound|A required authorization for the specified action is not supplied.|The specified ECS instance or ECI instance does not exist.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist under your account.|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ExitStandby'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ExitStandby', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + ], + 'ListTagKeys' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92700', + 'abilityTreeNodes' => ['FEATUREess7569XW'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the region where the Auto Scaling resource resides.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => ['description' => 'The Auto Scaling resource type. Set the value to `scalinggroup`, which indicates that the tagged object is a scaling group.', 'type' => 'string', 'required' => true, 'example' => 'scalinggroup', 'title' => ''], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => ['description' => 'The pagination token for the next query. If this parameter is empty, no additional results exist.', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page in a paged query. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => ['description' => 'The pagination token for the next query. If this parameter is empty, no additional results exist.', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'DC09A6AA-2713-4E10-A2E9-E6C5C43A****', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page in the query.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'Keys' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key information.', + 'type' => 'array', + 'items' => ['description' => 'The tag key information.', 'type' => 'string', 'example' => 'ESS', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'title' => 'Query tag keys of Auto Scaling resources', + 'summary' => 'Queries the list of tag keys for Auto Scaling resources.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidResourceType.NotFound|The ResourceType provided does not exist in our records.|The specified resource type is invalid.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagKeys'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:ListTagKeys', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"DC09A6AA-2713-4E10-A2E9-E6C5C43A****\\",\\n \\"PageSize\\": 10,\\n \\"Keys\\": {\\n \\"Key\\": [\\n \\"ESS\\"\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListTagResources' => [ + 'summary' => 'Queries the labels that are attached to one or more elastic scaling resources.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '92701', + 'abilityTreeNodes' => ['FEATUREess7569XW'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the resource. You can call [DescribeRegions](~~25609~~) to query the most recent region list.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => ['description' => 'The resource type. Only scaling groups are supported. Valid values: scalinggroup.', 'type' => 'string', 'required' => true, 'example' => 'scalinggroup', 'title' => ''], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => ['description' => 'The token that determines the start point of the next query.', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', 'title' => ''], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The resource ID. Valid values of N: 1 to 50.', + 'type' => 'array', + 'items' => ['description' => 'The resource ID. Valid values of N: 1 to 50.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp17xb4x1vr29lgt****', 'title' => ''], + 'required' => false, + 'example' => 'asg-bp17xb4x1vr29lgt****', + 'maxItems' => 51, + 'title' => '', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key used to perform an exact search for Elastic scaling resources. The tag key must be 1 to 128 characters in length. Valid values of N: 1 to 20.'."\n" + ."\n" + .'Tag.N is used to perform an exact search for Elastic scaling resources that have the specified tag bound. Tag.N consists of a key-value pair.'."\n" + ."\n" + .'- If you specify only Tag.N.Key, all resources that are associated with the tag key are returned.'."\n" + ."\n" + .'- If you specify only Tag.N.Value, the MissingParameter.TagKey error is returned.'."\n" + ."\n" + .'- If you specify multiple tag key-value pairs at the same time, only Elastic scaling resources that match all the specified tag key-value pairs are returned.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], + 'Value' => ['description' => 'The label value used to perform an exact search for elastic scaling resources. The label value can be an empty string. Maximum length: 128 characters. Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => ['description' => 'The token that determines the start point of the next query.', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'DE65F6B7-7566-4802-9007-96F2494A****', 'title' => ''], + 'TagResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TagResource' => [ + 'description' => 'The collection of resources and their tags, which contains information such as the resource ID, resource type, and tag key-value pairs.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of resources and their tags, which contains information such as the resource ID, resource type, and tag key-value pairs.', + 'type' => 'object', + 'properties' => [ + 'TagValue' => ['description' => 'The tag value of the resource.', 'type' => 'string', 'example' => 'TestValue', 'title' => ''], + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'example' => 'ALIYUN::ESS::SCALINGGROUP', 'title' => ''], + 'ResourceId' => ['description' => 'The resource ID.', 'type' => 'string', 'example' => 'asg-bp17xb4x1vr29lgt****', 'title' => ''], + 'TagKey' => ['description' => 'The tag key of the resource.', 'type' => 'string', 'example' => 'TestKey', 'title' => ''], + 'Propagate' => ['description' => 'Indicates whether the tag is a propagatable tag. Valid values:'."\n" + .'- true: The tag on the scaling group is propagated only to instances that are about to be scaled out. The tag is not propagated to instances that are already running in the scaling group.'."\n" + .'- false: The tag on the scaling group is not propagated to instances.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'SecurityContextSysCtls' => [ - 'description' => 'The system information of the security context in which the elastic container instance runs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The system information of the security context in which the elastic container instance runs.', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The name of the security context in which the elastic container instance runs.'."\n", - 'type' => 'string', - 'example' => 'kernel.msgmax', - ], - 'Value' => [ - 'description' => 'The variable value of the security context in which the elastic container instance runs.'."\n", - 'type' => 'string', - 'example' => '65536', - ], - ], - ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"DE65F6B7-7566-4802-9007-96F2494A****\\",\\n \\"TagResources\\": {\\n \\"TagResource\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"ResourceType\\": \\"ALIYUN::ESS::SCALINGGROUP\\",\\n \\"ResourceId\\": \\"asg-bp17xb4x1vr29lgt****\\",\\n \\"TagKey\\": \\"TestKey\\",\\n \\"Propagate\\": false\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'ListTagResources', + 'description' => '## Operation description'."\n" + ."\n" + .'- Specify at least one of the following request parameters: ResourceId.N or Tag.N (Tag.N.Key and Tag.N.Value) to determine the query object.'."\n" + ."\n" + .'- If you specify both Tag.N and ResourceId.N, the response contains only elastic scaling resources that satisfy both conditional criteria.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResources'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:ListTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + ], + 'ListTagValues' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92702', + 'abilityTreeNodes' => ['FEATUREess7569XW'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the region where the Auto Scaling resources reside.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => ['description' => 'The Auto Scaling resource type. Set the value to scalinggroup, which indicates that the tagged object is a scaling group.', 'type' => 'string', 'required' => true, 'example' => 'scalinggroup', 'title' => ''], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => ['description' => 'The token that determines the start point of the next query. If this parameter is empty, no additional results exist.', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page for a paged query. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'Key', + 'in' => 'query', + 'schema' => ['description' => 'The tag key.', 'type' => 'string', 'required' => true, 'example' => 'ESS', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => ['description' => 'The token that determines the start point of the next query. If this parameter is empty, no additional results exist.', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'AB444F46-1CFF-4B06-B8F0-B45D3158****', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page that was specified in the request.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'Values' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Value' => [ + 'description' => 'The tag key information.', + 'type' => 'array', + 'items' => ['description' => 'The tag value information.', 'type' => 'string', 'example' => 'Doc', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'title' => 'Query tag values of Auto Scaling resources by tag key', + 'summary' => 'Queries the tag values that correspond to a tag key of Auto Scaling resources.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' |HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidResourceType.NotFound|The ResourceType provided does not exist in our records.|The specified resource type is invalid.|'."\n" + .'|400|InvalidTagKey.Malformed|The specified tag key \\"%s\\" is not valid.|The specified tag key does not exist.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagValues'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:ListTagValues', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"AB444F46-1CFF-4B06-B8F0-B45D3158****\\",\\n \\"PageSize\\": 10,\\n \\"Values\\": {\\n \\"Value\\": [\\n \\"Doc\\"\\n ]\\n }\\n}","type":"json"}]', + ], + 'ModifyAlarm' => [ + 'summary' => 'Modifies an event-triggered task.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92703', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the event-triggered task.', 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao', 'title' => ''], + ], + [ + 'name' => 'AlarmTaskId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the event-triggered task.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', 'title' => ''], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => ['description' => 'The name of the event-triggered task.', 'type' => 'string', 'required' => false, 'example' => 'alarmtask****', 'title' => ''], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the event-triggered task.', 'type' => 'string', 'required' => false, 'example' => 'Test alarm task.', 'title' => ''], + ], + [ + 'name' => 'MetricName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the monitoring metric. Valid values vary based on the monitoring type of the event-triggered task: '."\n" + .'- If the event-triggered task is of the custom monitoring type (MetricType=custom), valid values are your custom monitoring metrics.'."\n" + ."\n" + .'- If the event-triggered task is of the system monitoring type (MetricType=system), valid values:'."\n" + ."\n" + .' - CpuUtilization: (ECS) CPU utilization (%).'."\n" + ."\n" + .' - IntranetTx: (ECS) outbound traffic over the internal network (Kbit/min).'."\n" + ."\n" + .' - IntranetRx: (ECS) inbound traffic over the internal network (Kbit/min).'."\n" + ."\n" + .' - VpcInternetTx: (ECS) outbound traffic over the Internet (Kbit/min).'."\n" + ."\n" + .' - VpcInternetRx: (ECS) inbound traffic over the Internet (Kbit/min).'."\n" + ."\n" + .' - SystemDiskReadBps: (ECS) system cloud disk read BPS (byte/s).'."\n" + ."\n" + .' - SystemDiskWriteBps: (ECS) system cloud disk write BPS (byte/s).'."\n" + ."\n" + .' - SystemDiskReadOps: (ECS) system cloud disk read IOPS (count/s).'."\n" + ."\n" + .' - SystemDiskWriteOps: (ECS) system cloud disk write IOPS (count/s).'."\n" + ."\n" + .' - CpuUtilizationAgent: (Agent) CPU utilization (%).'."\n" + ."\n" + .' - GpuUtilizationAgent: (Agent) GPU utilization (%).'."\n" + ."\n" + .' - GpuMemoryFreeUtilizationAgent: (Agent) GPU memory idle rate (%).'."\n" + ."\n" + .' - GpuMemoryUtilizationAgent: (Agent) GPU memory usage (%).'."\n" + ."\n" + .' - MemoryUtilization: (Agent) memory usage (%).'."\n" + ."\n" + .' - LoadAverage: (Agent) average system load.'."\n" + ."\n" + .' - TcpConnection: (Agent) total number of TCP connections.'."\n" + ."\n" + .' - TcpConnection: (Agent) number of established TCP connections.'."\n" + ."\n" + .' - PackagesNetOut: (Agent) number of packets sent by the NIC (count/s).'."\n" + ."\n" + .' - PackagesNetIn: (Agent) number of packets received by the NIC (count/s).'."\n" + ."\n" + .' - PackagesNetOut: (Agent) number of packets sent by the public NIC (count/s).'."\n" + ."\n" + .' - PackagesNetIn: (Agent) number of packets received by the public NIC (count/s).'."\n" + ."\n" + .' - EciPodCpuUtilization: CPU utilization (%).'."\n" + ."\n" + .' - EciPodMemoryUtilization: memory usage (%).'."\n" + ."\n" + .' - LoadBalancerRealServerAverageQps: (ALB) average QPS per server in the server group (count/s).'."\n" + ."\n" + .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).', 'type' => 'string', 'required' => false, 'example' => 'MemoryUtilization', 'title' => ''], + ], + [ + 'name' => 'MetricType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the monitoring metric. Valid values:'."\n" + .'- system: uses CloudMonitor system metrics.'."\n" + .'- custom: uses custom metrics reported to CloudMonitor.', 'type' => 'string', 'required' => false, 'default' => 'system', 'example' => 'system', 'title' => ''], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => ['description' => 'The statistical period for the monitoring metric data. Unit: seconds. Valid values:'."\n" + ."\n" + .'- 15.'."\n" + .'- 60.'."\n" + .'- 120.'."\n" + .'- 300.'."\n" + .'- 900.'."\n" + .'> Only scaling groups of the ECS type support a 15-second statistical period.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'title' => ''], + ], + [ + 'name' => 'Statistics', + 'in' => 'query', + 'schema' => ['description' => 'The method used to aggregate the monitoring metric data. Valid values:'."\n" + ."\n" + .'- Average: average value.'."\n" + .'- Minimum: minimum value.'."\n" + .'- Maximum: maximum value.', 'type' => 'string', 'required' => false, 'example' => 'Average', 'title' => ''], + ], + [ + 'name' => 'Threshold', + 'in' => 'query', + 'schema' => ['description' => 'The threshold of the monitoring metrics. An alert is triggered and the scaling rule is executed when the threshold expression is met the specified number of times.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '80', 'title' => ''], + ], + [ + 'name' => 'ComparisonOperator', + 'in' => 'query', + 'schema' => ['description' => 'The comparison operator between the statistical value and the threshold of the monitoring metric. The comparison operator indicates the relationship in which the statistical value and the threshold can satisfy the condition. Valid values:'."\n" + ."\n" + .'- The statistical value is greater than or equal to the threshold. Value: `>=`.'."\n" + .'- The statistical value is less than or equal to the threshold. Value: `<=`.'."\n" + .'- The statistical value is greater than the threshold. Value: `>`.'."\n" + .'- The statistical value is less than the threshold. Value: `<`.', 'type' => 'string', 'required' => false, 'example' => '>=', 'title' => ''], + ], + [ + 'name' => 'EvaluationCount', + 'in' => 'query', + 'schema' => ['description' => 'The number of times that the threshold expression must be met before the scaling rule is executed.'."\n" + ."\n" + .'For example, the average CPU utilization is greater than or equal to 80% for three consecutive statistical periods.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + ], + [ + 'name' => 'GroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the CloudMonitor application group to which the custom monitoring metric belongs. This parameter must be specified only when the monitoring type is custom.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4055401', 'title' => ''], + ], + [ + 'name' => 'Effective', + 'in' => 'query', + 'schema' => ['description' => 'The effective period of the event-triggered task.'."\n" + ."\n" + .'This parameter follows cron expressions. The default format is `X X X X X ?`, where:'."\n" + .'- X: a placeholder for a field, which sequentially represents seconds, minutes, hours, day of month, and month. X can be a specific value or a special character with logical meaning. For more information about the valid values of X, see [Cron expression](~~25907~~).'."\n" + ."\n" + .'- ?: specifies no particular value.'."\n" + ."\n" + .'> The value of this parameter is **in the UTC+8 time zone by default**. You can add the time zone information `TZ=+yy` before the cron expression to specify a time zone, where y represents the numeric value of the time zone. For example, `TZ=+00 * * 1-2 * * ?` specifies that the event-triggered task takes effect between 01:00 and 02:59 every day in the UTC+0 time zone.'."\n" + ."\n" + .'Sample values and their meanings:'."\n" + ."\n" + .'- `* * * * * ? `: takes effect at all times.'."\n" + ."\n" + .'- `* * 17-18 * * ? `: takes effect between 17:00 and 18:59 every day in the UTC+8 time zone.'."\n" + ."\n" + .'- `TZ=+00 * * 1-2 * * ?`: takes effect between 01:00 and 02:59 every day in the UTC+0 time zone.', 'type' => 'string', 'required' => false, 'example' => 'TZ=+00 * * 1-2 * * ?', 'title' => ''], + ], + [ + 'name' => 'AlarmAction', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The unique identifiers of the scaling rules associated with the event-triggered task.', + 'type' => 'array', + 'items' => ['description' => 'The unique identifiers of the scaling rules associated with the event-triggered task.', 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:140692647****:scalingrule/asr-bp163l21e07uhn****', 'title' => ''], + 'required' => false, + 'example' => 'ari:acs:ess:cn-hangzhou:140692647****:scalingrule/asr-bp163l21e07uhn****', + 'maxItems' => 5, + 'title' => '', + ], + ], + [ + 'name' => 'Dimension', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The dimension information associated with the monitoring metric.', + 'type' => 'array', + 'items' => [ + 'description' => 'The dimension information associated with the monitoring metric.', + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => ['description' => 'The key of the dimension information associated with the monitoring metric. Valid values vary based on the monitoring type of the event-triggered task:'."\n" + ."\n" + .'- If the event-triggered task is of the custom monitoring type (MetricType=custom), valid values are not restricted and can be specified as needed.'."\n" + ."\n\n" + .'- If the event-triggered task is of the system monitoring type (MetricType=system), valid values:'."\n" + ."\n" + .' - user_id: your account ID.'."\n" + .' - scaling_group: the scaling group being monitored.'."\n" + .' - device: the type of the network interface controller (NIC) device.'."\n" + .' - state: the state of the TCP connection.'."\n" + .' - rulePool: the server group specified for the ALB QPS monitoring metrics node.', 'type' => 'string', 'required' => false, 'example' => 'device', 'title' => ''], + 'DimensionValue' => ['description' => 'The value of the dimension information associated with the monitoring metric. Valid values are determined by Dimension.N.DimensionKey:'."\n" + ."\n" + .'- If the value of Dimension.N.DimensionKey is custom, meaning the event-triggered task is of the custom monitoring type (MetricType=custom), valid values are not restricted and can be specified as needed.'."\n" + ."\n" + .'- If the value of Dimension.N.DimensionKey is from the system-specified range, meaning the event-triggered task is of the system monitoring type (MetricType=system), valid values:'."\n" + ."\n" + .' - user_id: automatically populated by the system.'."\n" + ."\n" + .' - scaling_group: automatically populated by the system.'."\n" + ."\n" + .' - device:'."\n" + .' - eth0: for classic network instances, eth0 represents the internal NIC. For VPC-connected instances, only the eth0 NIC exists.'."\n" + .' - eth1: for classic network instances, eth1 represents the public NIC.'."\n" + ."\n" + .' - state:'."\n" + .' - TCP_TOTAL: the total number of TCP connections.'."\n" + .' - ESTABLISHED: the number of established TCP connections.', 'type' => 'string', 'required' => false, 'example' => 'eth0', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 5, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Expression', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The information about multi-metric alert rules.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about multi-metric alert rules.', + 'type' => 'object', + 'properties' => [ + 'MetricName' => ['description' => 'The name of the monitoring metric in the multi-metric alert rule. Valid values vary based on the monitoring type of the event-triggered task:'."\n" + ."\n" + .'- If the event-triggered task is of the custom monitoring type (MetricType=custom), valid values are your custom monitoring metrics.'."\n" + .'- If the event-triggered task is of the system monitoring type (MetricType=system), valid values: '."\n" + ."\n" + .' - CpuUtilization: (ECS) CPU utilization (%).'."\n" + ."\n" + .' - IntranetTx: (ECS) outbound traffic over the internal network (Kbit/min).'."\n" + ."\n" + .' - IntranetRx: (ECS) inbound traffic over the internal network (Kbit/min).'."\n" + ."\n" + .' - VpcInternetTx: (ECS) outbound traffic over the Internet (Kbit/min).'."\n" + ."\n" + .' - VpcInternetRx: (ECS) inbound traffic over the Internet (Kbit/min).'."\n" + ."\n" + .' - SystemDiskReadBps: (ECS) system cloud disk read BPS (byte/s).'."\n" + ."\n" + .' - SystemDiskWriteBps: (ECS) system cloud disk write BPS (byte/s).'."\n" + ."\n" + .' - SystemDiskReadOps: (ECS) system cloud disk read IOPS (count/s).'."\n" + ."\n" + .' - SystemDiskWriteOps: (ECS) system cloud disk write IOPS (count/s).'."\n" + ."\n" + .' - CpuUtilizationAgent: (Agent) CPU utilization (%).'."\n" + ."\n" + .' - GpuUtilizationAgent: (Agent) GPU utilization (%).'."\n" + ."\n" + .' - GpuMemoryFreeUtilizationAgent: (Agent) GPU memory idle rate (%).'."\n" + ."\n" + .' - GpuMemoryUtilizationAgent: (Agent) GPU memory usage (%).'."\n" + ."\n" + .' - MemoryUtilization: (Agent) memory usage (%).'."\n" + ."\n" + .' - LoadAverage: (Agent) average system load.'."\n" + ."\n" + .' - TcpConnection: (Agent) total number of TCP connections.'."\n" + ."\n" + .' - TcpConnection: (Agent) number of established TCP connections.'."\n" + ."\n" + .' - PackagesNetOut: (Agent) number of packets sent by the NIC (count/s).'."\n" + ."\n" + .' - PackagesNetIn: (Agent) number of packets received by the NIC (count/s).'."\n" + ."\n" + .' - PackagesNetOut: (Agent) number of packets sent by the public NIC (count/s).'."\n" + ."\n" + .' - PackagesNetIn: (Agent) number of packets received by the public NIC (count/s).'."\n" + ."\n" + .' - EciPodCpuUtilization: CPU utilization (%).'."\n" + ."\n" + .' - EciPodMemoryUtilization: memory usage (%).'."\n" + ."\n" + .' - LoadBalancerRealServerAverageQps: (ALB) average QPS per server in the server group (count/s).'."\n" + ."\n" + .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).', 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization', 'title' => ''], + 'ComparisonOperator' => ['description' => 'The comparison operator between the statistical value and the threshold of the monitoring metric in the multi-metric alert rule. The comparison operator indicates the relationship in which the statistical value and the threshold can satisfy the condition. Valid values:'."\n" + ."\n" + .'- The statistical value is greater than or equal to the threshold. Value: `>=`.'."\n" + .'- The statistical value is less than or equal to the threshold. Value: `<=`.'."\n" + .'- The statistical value is greater than the threshold. Value: `>`.'."\n" + .'- The statistical value is less than the threshold. Value: `<`.'."\n" + ."\n" + .'Default value: `>=`.', 'type' => 'string', 'required' => false, 'example' => '>=', 'title' => ''], + 'Period' => ['description' => 'The statistical period for the monitoring metric data in the multi-metric alert rule. Unit: seconds. Valid values:'."\n" + ."\n" + .'- 15.'."\n" + .'- 60.'."\n" + .'- 120.'."\n" + .'- 300.'."\n" + .'- 900.'."\n" + .'> Only scaling groups of the ECS type support a 15-second statistical period.'."\n" + ."\n" + .'Default value: 300.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'title' => ''], + 'Statistics' => ['description' => 'The method used to aggregate the monitoring metric data in the multi-metric alert rule. Valid values:'."\n" + ."\n" + .'- Average: average value.'."\n" + .'- Minimum: minimum value.'."\n" + .'- Maximum: maximum value.', 'type' => 'string', 'required' => false, 'example' => 'Average', 'title' => ''], + 'Threshold' => ['description' => 'The threshold of the monitoring metrics in the multi-metric alert rule. An alert is triggered and the scaling rule is executed when the threshold expression is met the specified number of times.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '40.0', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'ExpressionsLogicOperator', + 'in' => 'query', + 'schema' => ['description' => 'The relationship between multiple metric alert conditions. Valid values:'."\n" + ."\n" + .'- `&&`: an alert is triggered only when all monitoring metrics meet the alert conditions. An alert is triggered only when all expressions in the multi-metric alert rule evaluate to `true`.'."\n" + .'- `||`: an alert is triggered when any one of the monitoring metrics meets the alert condition.'."\n" + ."\n" + .'Default value: `&&`.', 'type' => 'string', 'required' => false, 'example' => '&&', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'AlarmTaskId' => ['description' => 'The ID of the event-triggered task.', 'type' => 'string', 'example' => 'asg-bp1hvbnmkl10vll5****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'BACACF83-7070-4953-A8FD-D81F89F1****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****\\",\\n \\"RequestId\\": \\"BACACF83-7070-4953-A8FD-D81F89F1****\\"\\n}","type":"json"}]', + 'title' => 'ModifyAlarm', + 'description' => '## Operation description'."\n" + ."\n" + .'- If you create an event-triggered task of the custom monitoring type (MetricType=custom), you must report the custom monitoring metric to CloudMonitor in advance. For more information, see [Event-triggered tasks of the custom monitoring type](~~74861~~).'."\n" + ."\n" + .'- When you create an event-triggered task, you must specify the monitoring metric (MetricName) and use the dimension information (`Dimension.N.DimensionKey` and `Dimension.N.DimensionValue`) to determine the scope of data aggregation for the monitoring metric in the scaling group. For example, you can specify `user_id` and `scaling_group` to aggregate the monitoring metric data of all ECS instances or elastic container instances in the scaling group of the specified user.'."\n" + .' - The monitoring metrics of event-triggered tasks of the custom monitoring type (MetricType=custom) depend on your custom monitoring metrics.'."\n" + .' - For more information about the monitoring metrics supported by event-triggered tasks of the system monitoring type (MetricType=system), see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n" + ."\n" + .'> In the dimension information, `user_id` and `scaling_group` are automatically populated by the system. You must manually specify `device` and `state`. For more information, see the `Dimension.N.DimensionKey` and `Dimension.N.DimensionValue` parameters.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyAlarm'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + ], + 'ModifyAlertConfiguration' => [ + 'summary' => 'When a scaling activity succeeds, fails, or is rejected, Auto Scaling can send notifications through SMS or email. You must handle the related events after receiving the notifications. You can call the ModifyAlertConfiguration operation to set the scaling activity statuses for which SMS and email notifications are sent in a scaling group. This helps you stay informed about scaling activity changes and respond promptly to improve scaling efficiency.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '208787', + 'abilityTreeNodes' => ['FEATUREessLTO4TI'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1eyv4qn8ssgv43****', 'title' => ''], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'ScaleStatus', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The scaling activity statuses for which SMS and email notifications are sent in the scaling group.', + 'type' => 'array', + 'items' => ['description' => 'The scaling activity statuses for which SMS and email notifications are sent in the scaling group. Valid values:'."\n" + ."\n" + .'- ScaleSuccessful: sends SMS and email notifications when a scaling activity succeeds.'."\n" + .'- ScaleRejected: sends SMS and email notifications when a scaling activity is rejected.'."\n" + .'- ScaleFailed: sends SMS and email notifications when a scaling activity fails.'."\n" + ."\n" + .'>If you do not set this parameter (leave it empty), all SMS and email notifications are canceled.', 'type' => 'string', 'required' => false, 'example' => 'ScaleSuccessful', 'title' => ''], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'title' => 'ModifyAlertConfiguration', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyAlertConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'ModifyEciScalingConfiguration' => [ + 'summary' => 'Modifies a scaling configuration of the Elastic Container Instance (ECI) type.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92705', + 'abilityTreeNodes' => ['FEATUREessT4M3WE'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingConfigurationId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling configuration that you want to modify.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asc-bp16har3jpj6fjbx****', 'title' => ''], + ], + [ + 'name' => '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, and the following special characters: underscores (_), hyphens (-), and periods (.). The name must start with a letter, digit, or Chinese character.'."\n" + ."\n" + .'The name of the scaling configuration must be unique within a scaling group in the same region. If you do not specify this parameter, the ID of the scaling configuration is used by default.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'test-modify', 'title' => ''], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the security group to which the ECI instance belongs. ECI instances in the same security group can access each other.'."\n" + ."\n" + .'If you do not specify a security group, the system uses the default security group in the region that you select. Make sure that the inbound rules of the security group contain the protocols and ports that the containers need to expose. If no default security group exists in the region, the system uses automatic creation to create a default security group and adds the container protocols and ports that you declare to the inbound rules of the security group.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'sg-uf66jeqopgqa9hdn****', 'title' => ''], + ], + [ + 'name' => 'ContainerGroupName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the ECI instance, which is also the container group name. The name must meet the following requirements:'."\n" + ."\n" + .'- The name must be 2 to 128 characters in length.'."\n" + .'- The name can contain lowercase letters, digits, and hyphens (-). It cannot start or end with a hyphen (-).', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'nginx-test', 'title' => ''], + ], + [ + 'name' => 'RestartPolicy', + 'in' => 'query', + 'schema' => ['description' => 'The restart policy of the instance. Valid values:'."\n" + .'- Always: always restarts the instance.'."\n" + .'- Never: never restarts the instance.'."\n" + .'- OnFailure: restarts the instance upon failure.'."\n" + ."\n" + .'Default value: Always.', 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], + ], + [ + 'name' => 'Cpu', + 'in' => 'query', + 'schema' => ['description' => 'The number of vCPUs at the instance level. Unit: cores.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], + ], + [ + 'name' => 'Memory', + 'in' => 'query', + 'schema' => ['description' => 'The memory size at the instance level. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2.0', 'title' => ''], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'example' => 'rg-uf66jeqopgqa9hdn****', 'title' => ''], + ], + [ + 'name' => 'DnsPolicy', + 'in' => 'query', + 'schema' => ['description' => 'The DNS policy. Valid values:'."\n" + ."\n" + .'- None: uses the DNS configured by the DnsConfig field.'."\n" + .'- Default: inherits the DNS settings from the runtime environment.', 'type' => 'string', 'required' => false, 'example' => 'Default', 'title' => ''], + ], + [ + 'name' => 'ImageSnapshotId', + 'in' => 'query', + 'schema' => ['description' => 'The image cache ID.', 'type' => 'string', 'required' => false, 'example' => 'imc-2zebxkiifuyzzlhl****', 'title' => ''], + ], + [ + 'name' => 'RamRoleName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the instance RAM role. ECI and ECS share the same instance RAM role. For more information, see [Use an instance RAM role by calling API operations](~~61178~~).', 'type' => 'string', 'required' => false, 'example' => 'RamTestRole', 'title' => ''], + ], + [ + 'name' => 'TerminationGracePeriodSeconds', + 'in' => 'query', + 'schema' => ['description' => 'The buffer time during which a program handles operations before the program is stopped. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '60', 'title' => ''], + ], + [ + 'name' => 'AutoMatchImageCache', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to automatically match image caches. Valid values:'."\n" + .'- true: Automatically matches image caches.'."\n" + .'- false: Does not automatically match image caches.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'Ipv6AddressCount', + 'in' => 'query', + 'schema' => ['description' => 'The number of IPv6 addresses.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'ActiveDeadlineSeconds', + 'in' => 'query', + 'schema' => ['description' => 'The validity period. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''], + ], + [ + 'name' => 'SpotStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The bidding policy for the instance. Valid values:'."\n" + ."\n" + .'- NoSpot: a pay-as-you-go instance.'."\n" + .'- SpotWithPriceLimit: a spot instance with a maximum price limit.'."\n" + .'- SpotAsPriceGo: a spot instance that uses the market price at the time of purchase as the bid price.'."\n" + ."\n" + .'Default value: NoSpot.', 'type' => 'string', 'required' => false, 'example' => 'SpotPriceLimit', 'title' => ''], + ], + [ + 'name' => 'SpotPriceLimit', + 'in' => 'query', + 'schema' => ['description' => 'The maximum hourly price of the spot instance. The value can be accurate to three decimal places.'."\n" + ."\n" + .'This parameter is required when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.025', 'title' => ''], + ], + [ + 'name' => 'AutoCreateEip', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to automatically create an elastic IP address (EIP) and attach it to the ECI instance.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'EipBandwidth', + 'in' => 'query', + 'schema' => ['description' => 'The bandwidth of the EIP.'."\n" + ."\n" + .'Default value: 5 Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000000', 'minimum' => '0', 'example' => '5', 'title' => ''], + ], + [ + 'name' => 'HostName', + 'in' => 'query', + 'schema' => ['description' => 'The hostname, which is also the container group name.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + ], + [ + 'name' => 'IngressBandwidth', + 'in' => 'query', + 'schema' => ['description' => 'The inbound bandwidth limit. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '1024000', 'title' => ''], + ], + [ + 'name' => 'EgressBandwidth', + 'in' => 'query', + 'schema' => ['description' => 'The outbound bandwidth limit. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '1024000', 'title' => ''], + ], + [ + 'name' => 'CpuOptionsCore', + 'in' => 'query', + 'schema' => ['description' => 'The number of physical CPU cores. Only specific instance types support custom settings. For more information, see [Customize CPU options](~~197781~~).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '0', 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'CpuOptionsThreadsPerCore', + 'in' => 'query', + 'schema' => ['description' => 'The number of threads per core. Only specific instance types support custom settings. A value of 1 indicates that hyper-threading is disabled. For more information, see [Customize CPU options](~~197781~~).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'EphemeralStorage', + 'in' => 'query', + 'schema' => ['description' => 'The size of the ephemeral storage. ESSD PL1 cloud disks are used by default. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5000', 'minimum' => '0', 'example' => '20', 'title' => ''], + ], + [ + 'name' => 'LoadBalancerWeight', + 'in' => 'query', + 'schema' => ['description' => 'The weight of the backend server. Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tag key-value pairs of the instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tag key-value pairs of the instance.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'required' => false, 'example' => 'version', 'title' => ''], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'required' => false, 'example' => '3', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'ImageRegistryCredential', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The information about the image repository.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the image repository.', + 'type' => 'object', + 'properties' => [ + 'Password' => ['description' => 'The password of the image repository.', 'type' => 'string', 'required' => false, 'example' => 'yourpaasword', 'title' => ''], + 'Server' => ['description' => 'The address of the image repository.', 'type' => 'string', 'required' => false, 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com', 'title' => ''], + 'UserName' => ['description' => 'The username of the image repository.', 'type' => 'string', 'required' => false, 'example' => 'yourusername', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 11, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Container', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The list of containers in the instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of containers in the instance.', + 'type' => 'object', + 'properties' => [ + 'ReadinessProbe.TimeoutSeconds' => ['description' => '检查超时的时间,默认值为1秒,最小值为1秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'ReadinessProbe.SuccessThreshold' => ['description' => '从上次检查失败后重新认定检查成功的检查次数阈值(必须是连续成功),默认值为1。当前值必须为1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'SecurityContext.Capability.Add' => [ + 'description' => '为容器内的进程授予某些特定的权限。目前仅支持配置为NET_ADMIN和NET_RAW。'."\n" + ."\n" + .'> NET_RAW默认不支持,需提交工单申请。', + 'type' => 'array', + 'items' => ['description' => '为容器内的进程授予某些特定的权限。目前仅支持配置为NET_ADMIN和NET_RAW。'."\n" + ."\n" + .'> NET_RAW默认不支持,需提交工单申请。', 'type' => 'string', 'required' => false, 'example' => 'NET_ADMIN', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + 'ReadinessProbe.TcpSocket.Port' => ['description' => '使用TCP Socket方式进行健康检查时,TCP Socket检测的端口。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8000', 'title' => ''], + 'ReadinessProbe.HttpGet.Scheme' => ['description' => '使用HTTP请求方式进行健康检查时,HTTP Get请求对应的协议类型,取值范围:'."\n" + ."\n" + .'- HTTP。'."\n" + .'- HTTPS。', 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'LivenessProbe.PeriodSeconds' => ['description' => '检查执行的周期,默认为值10秒,最小值为1秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], + 'Port' => [ + 'description' => 'The exposed ports and protocols.', + 'type' => 'array', + 'items' => [ + 'description' => 'The exposed ports and protocols.', + 'type' => 'object', + 'properties' => [ + 'Protocol' => ['description' => 'The protocol type. Valid values:'."\n" + ."\n" + .'- TCP.'."\n" + .'- UDP.', 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''], + 'Port' => ['description' => 'The port number. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], ], - 'AcrRegistryInfos' => [ - 'description' => 'Information about the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Information about the Container Registry Enterprise Edition instance.', - 'type' => 'object', - 'properties' => [ - 'InstanceId' => [ - 'description' => 'The ID of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'example' => 'cri-nwj395hgf6f3****', - ], - 'InstanceName' => [ - 'description' => 'The name of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'example' => 'acr-test', - ], - 'RegionId' => [ - 'description' => 'The region ID of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'Domains' => [ - 'description' => 'The domain names of the Container Registry Enterprise Edition instances. By default, all domain names of the Container Registry Enterprise Edition instances are displayed. You can specify one or more domain names. Separate multiple domain names with commas (,).'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The domain names of the Container Registry Enterprise Edition instances. By default, all domain names of the Container Registry Enterprise Edition instances are displayed. You can specify one or more domain names. Separate multiple domain names with commas (,).', - 'type' => 'string', - 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com', - ], - ], - ], - ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'SecurityContext.ReadOnlyRootFilesystem' => ['description' => '容器运行的根文件系统是否为只读,目前仅支持配置为true。', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'EnvironmentVar' => [ + 'description' => 'The information about environment variables.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about environment variables.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable. The name must be 1 to 128 characters in length and must match the format `[0-9a-zA-Z]` and underscores. It cannot start with a digit.', 'type' => 'string', 'required' => false, 'example' => 'PATH', 'title' => ''], + 'Value' => ['description' => 'The value of the environment variable. The value can be up to 256 characters in length.', 'type' => 'string', 'required' => false, 'example' => '/usr/local/bin', 'title' => ''], ], - 'DnsConfigNameServers' => [ - 'description' => 'The IP addresses of the DNS server.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IP addresses of the DNS server.', - 'type' => 'string', - 'example' => '172.10.*.**', - ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 301, + 'title' => '', + 'example' => '', + ], + 'LivenessProbe.TcpSocket.Port' => ['description' => '使用TCP Socket方式进行健康检查时,TCP Socket检测的端口。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8000', 'title' => ''], + 'Tty' => ['description' => 'Specifies whether to enable interaction. Default value: false.'."\n" + ."\n" + .'Set this parameter to true when Command is set to `/bin/bash`.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'WorkingDir' => ['description' => 'The working directory of the container.', 'type' => 'string', 'required' => false, 'example' => '/usr/local/', 'title' => ''], + 'LivenessProbe.HttpGet.Scheme' => ['description' => '使用HTTP请求方式进行健康检查时,HTTP Get请求对应的协议类型,取值范围:'."\n" + ."\n" + .'- HTTP。'."\n" + .'- HTTPS。', 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'ReadinessProbe.HttpGet.Port' => ['description' => '使用HTTP请求方式进行健康检查时,HTTP Get请求检测的端口号。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8080', 'title' => ''], + 'Arg' => [ + 'description' => 'The arguments that correspond to the startup command of the container. A maximum of 10 arguments are supported.', + 'type' => 'array', + 'items' => ['description' => 'The arguments that correspond to the startup command of the container. A maximum of 10 arguments are supported.', 'type' => 'string', 'required' => false, 'example' => '100', 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'Gpu' => ['description' => 'The number of GPUs for the container.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'ReadinessProbe.InitialDelaySeconds' => ['description' => '检查开始执行的时间,以容器启动完成为起点计算。单位为秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'Stdin' => ['description' => 'Specifies whether this container should allocate a buffer for standard input in the container runtime. If this parameter is not set, reads from standard input in the container will result in EOF.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Memory' => ['description' => 'The memory size of the container. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''], + 'Name' => ['description' => 'The name of the container image.', 'type' => 'string', 'required' => false, 'example' => 'nginx', 'title' => ''], + 'Image' => ['description' => 'The container image.', 'type' => 'string', 'required' => false, 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', 'title' => ''], + 'LivenessProbe.InitialDelaySeconds' => ['description' => '检查开始执行的时间,以容器启动完成为起点计算。单位为秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], + 'VolumeMount' => [ + 'description' => 'The volume mount information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The volume mount information.', + 'type' => 'object', + 'properties' => [ + 'MountPropagation' => ['description' => 'The mount propagation setting of the volume. Mount propagation allows volumes mounted by a container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" + ."\n" + .'- None: the volume does not sense any subsequent mounts performed on this volume or its subdirectories.'."\n" + .'- HostToCotainer: the volume senses subsequent mounts performed on this volume or its subdirectories.'."\n" + .'- Bidirectional: similar to HostToCotainer, the volume senses mount operations. In addition, the volume is propagated back to the host and all containers of all pods that use the same volume.'."\n" + ."\n" + .'Default value: None.', 'type' => 'string', 'required' => false, 'example' => 'None', 'title' => ''], + 'MountPath' => ['description' => 'The directory to which the volume is mounted in the container.'."\n" + ."\n" + .'>The content in the container mount directory is overwritten by the content of the volume. Use this parameter with caution.'."\n" + .'>.', 'type' => 'string', 'required' => false, 'example' => '/pod/data', 'title' => ''], + 'ReadOnly' => ['description' => 'Specifies whether the volume is read-only.'."\n" + .'- true: read-only.'."\n" + .'- false: read and write.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Name' => ['description' => 'The name of the volume. This value is the same as the Name value in Volume.', 'type' => 'string', 'required' => false, 'example' => 'default-volume1', 'title' => ''], + 'SubPath' => ['description' => 'The sub-path of the volume.', 'type' => 'string', 'required' => false, 'example' => 'data2/', 'title' => ''], ], - 'DnsConfigSearches' => [ - 'description' => 'The lookup domains of the DNS server.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The lookup domains of the DNS server.', - 'type' => 'string', - 'example' => 'svc.local.kubenetes', - ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'LivenessProbe.FailureThreshold' => ['description' => '从上次检查成功后认定检查失败的检查次数阈值(必须是连续失败)。'."\n" + ."\n" + .'默认值:3。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'ReadinessProbe.Exec.Command' => [ + 'description' => '使用命令行方式进行健康检查时,在容器内执行的命令。', + 'type' => 'array', + 'items' => ['description' => '使用命令行方式进行健康检查时,在容器内执行的命令。', 'type' => 'string', 'required' => false, 'example' => 'cat/tmp/healthy', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + 'ReadinessProbe.FailureThreshold' => ['description' => '从上次检查成功后认定检查失败的检查次数阈值(必须是连续失败)。'."\n" + ."\n" + .'默认值:3。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'ImagePullPolicy' => ['description' => 'The image pull policy of the container. Valid values:'."\n" + ."\n" + .'- Always: always pulls the image. The image is pulled each time.'."\n" + .'- IfNotPresent: pulls the image only when needed. The local image is used first. If no local image is available, the image is pulled.'."\n" + .'- Never: never pulls the image. Only the local image is used.', 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], + 'StdinOnce' => ['description' => 'Specifies whether the standard input stream remains in the enabling status across multiple attach sessions when standard input is set to true.'."\n" + ."\n" + .'If StdinOnce is set to true, standard input is opened when the container starts and remains empty until the first client attaches to it. It then remains open and accepts data until the client disconnects, at which point standard input undergoes shutdown and remains closed until the container restarts.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Cpu' => ['description' => 'The number of vCPUs of the container. Unit: cores.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.25', 'title' => ''], + 'LivenessProbe.HttpGet.Port' => ['description' => '使用HTTP请求方式进行健康检查时,HTTP Get请求检测的端口号。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8888', 'title' => ''], + 'LivenessProbe.HttpGet.Path' => ['description' => '使用HTTP请求方式进行健康检查时,HTTP Get请求检测的路径。', 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''], + 'LivenessProbe.SuccessThreshold' => ['description' => '从上次检查失败后重新认定检查成功的检查次数阈值(必须是连续成功),默认值为1。当前值必须为1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'ReadinessProbe.PeriodSeconds' => ['description' => '检查执行的周期,默认值为10秒,最小值为1秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'LivenessProbe.TimeoutSeconds' => ['description' => '检查超时的时间,默认值为1秒,最小值为1秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'Command' => [ + 'description' => 'The startup commands of the container. A maximum of 20 commands are supported. Each command can contain up to 256 characters.', + 'type' => 'array', + 'items' => ['description' => 'The startup commands of the container. A maximum of 20 commands are supported. Each command can contain up to 256 characters.', 'type' => 'string', 'required' => false, 'example' => 'sleep', 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'SecurityContext.RunAsUser' => ['description' => '设置运行容器的用户ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''], + 'ReadinessProbe.HttpGet.Path' => ['description' => '使用HTTP请求方式进行健康检查时,HTTP Get请求检测的路径。', 'type' => 'string', 'required' => false, 'example' => '/healthz', 'title' => ''], + 'LivenessProbe.Exec.Command' => [ + 'description' => '使用命令行方式进行健康检查时,在容器内执行的命令。', + 'type' => 'array', + 'items' => ['description' => '使用命令行方式进行健康检查时,在容器内执行的命令。', 'type' => 'string', 'required' => false, 'example' => 'cat /tmp/healthy', 'title' => ''], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', + ], + 'LifecyclePostStartHandlerHttpGetHost' => ['description' => 'The host address that receives the HTTP Get request when the HTTP request method is used to set the PostStart callback function.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetPort' => ['description' => 'The port number for HTTP Get request detection when the HTTP request method is used to set the PostStart callback function.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5050', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetPath' => ['description' => 'The path for HTTP Get request detection when the HTTP request method is used to set the PostStart callback function.', 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetScheme' => ['description' => 'The protocol type for HTTP Get requests when the HTTP request method is used to set the PostStart callback function. Valid values:'."\n" + ."\n" + .'- HTTP.'."\n" + .'- HTTPS.', 'type' => 'string', 'required' => false, 'example' => 'HTTPS', 'title' => ''], + 'LifecyclePostStartHandlerExec' => [ + 'description' => 'The command to run in the container when the command-line method is used to set the PostStart callback function.', + 'type' => 'array', + 'items' => ['description' => 'The command to run in the container when the command-line method is used to set the PostStart callback function.', 'type' => 'string', 'required' => false, 'example' => '[ "/bin/sh", "-c", "echo Hello from the postStart handler /usr/share/message" ]', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + 'LifecyclePostStartHandlerTcpSocketHost' => ['description' => 'The host address for TCP Socket detection when the TCP Socket method is used to set the PostStart callback function.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePostStartHandlerTcpSocketPort' => ['description' => 'The port for TCP Socket detection when the TCP Socket method is used to set the PostStart callback function.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetHost' => ['description' => 'The host address that receives the HTTP Get request when the HTTP request method is used to set the PreStop callback function.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetPort' => ['description' => 'The port number for HTTP Get request detection when the HTTP request method is used to set the PreStop callback function.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetPath' => ['description' => 'The path for HTTP Get request detection when the HTTP request method is used to set the PreStop callback function.', 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetScheme' => ['description' => 'The protocol type for HTTP Get requests when the HTTP request method is used to set the PreStop callback function. Valid values:'."\n" + ."\n" + .'- HTTP.'."\n" + .'- HTTPS.', 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'LifecyclePreStopHandlerExec' => [ + 'description' => 'The command to run in the container when the command-line method is used to set the PreStop callback function.', + 'type' => 'array', + 'items' => ['description' => 'The command to run in the container when the command-line method is used to set the PreStop callback function.', 'type' => 'string', 'required' => false, 'example' => '[ "/bin/sh", "-c", "echo Hello from the preStop handler /usr/share/message" ]', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + 'LifecyclePreStopHandlerTcpSocketHost' => ['description' => 'The host address for TCP Socket detection when the TCP Socket method is used to set the PreStop callback function.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePreStopHandlerTcpSocketPort' => ['description' => 'The port for TCP Socket detection when the TCP Socket method is used to set the PreStop callback function.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Volume', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The volume information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The volume information.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the volume. Valid values:'."\n" + ."\n" + .'- EmptyDirVolume.'."\n" + .'- NFSVolume.'."\n" + .'- ConfigFileVolume.'."\n" + .'- FlexVolume.', 'type' => 'string', 'required' => false, 'example' => 'EmptyDirVolume', 'title' => ''], + 'DiskVolume.DiskSize' => ['description' => 'DiskVolume的大小。单位:GiB。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '15', 'title' => ''], + 'NFSVolume.Path' => ['description' => 'NFS数据卷路径。', 'type' => 'string', 'required' => false, 'example' => '/share', 'title' => ''], + 'FlexVolume.FsType' => ['description' => '挂载的文件系统类型,默认取决于FlexVolume的script。', 'type' => 'string', 'required' => false, 'example' => 'ext4', 'title' => ''], + 'DiskVolume.FsType' => ['description' => '该系统类型不推荐使用,建议您使用`FlexVolume.FsType`参数。', 'type' => 'string', 'required' => false, 'example' => 'xfs', 'title' => ''], + 'HostPathVolume.Type' => ['description' => 'Host目录的类型。例如:File、Directory、Socket等。', 'type' => 'string', 'required' => false, 'example' => 'Directory', 'title' => ''], + 'NFSVolume.ReadOnly' => ['description' => 'NFS数据卷是否只读。'."\n" + .'- true:只读。'."\n" + .'- false:可读可写。'."\n" + ."\n" + .'默认值:false。', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'HostPathVolume.Path' => ['description' => 'Host上的绝对路径。', 'type' => 'string', 'required' => false, 'example' => '/xx/xx/name', 'title' => ''], + 'FlexVolume.Options' => ['description' => 'FlexVolume对象选项列表。为KV形式,采用JSON传递。'."\n" + ."\n" + .'例如:通过FlexVolume挂载云盘时,Options的格式为`{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}`。', 'type' => 'string', 'required' => false, 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}', 'title' => ''], + 'FlexVolume.Driver' => ['description' => '用于FlexVolume的驱动程序名称。', 'type' => 'string', 'required' => false, 'example' => 'flexvolume', 'title' => ''], + 'ConfigFileVolumeDefaultMode' => ['description' => 'The default permissions of the ConfigFileVolume.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0644', 'title' => ''], + 'NFSVolume.Server' => ['description' => 'NFS服务器地址。', 'type' => 'string', 'required' => false, 'example' => '3f9cd4a596-n****.cn-shanghai.nas.aliyuncs.com', 'title' => ''], + 'DiskVolume.DiskId' => ['description' => 'DiskVolume的ID。', 'type' => 'string', 'required' => false, 'example' => 'd-xx', 'title' => ''], + 'Name' => ['description' => 'The name of the volume.', 'type' => 'string', 'required' => false, 'example' => 'default-volume1', 'title' => ''], + 'EmptyDirVolume.Medium' => ['description' => 'EmptyDirVolume的存储媒介,默认为空,使用node文件系统;支持memory,表示使用内存。', 'type' => 'string', 'required' => false, 'example' => 'memory', 'title' => ''], + 'ConfigFileVolumeConfigFileToPath' => [ + 'description' => 'The list of configuration file paths.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of configuration file paths.', + 'type' => 'object', + 'properties' => [ + 'Path' => ['description' => 'The relative file path.', 'type' => 'string', 'required' => false, 'example' => '/usr/bin/', 'title' => ''], + 'Mode' => ['description' => 'The permissions of the ConfigFileVolume directory.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0644', 'title' => ''], + 'Content' => ['description' => 'The content of the configuration file (32 KB).', 'type' => 'string', 'required' => false, 'example' => 'bGl1bWk=', 'title' => ''], ], - 'NtpServers' => [ - 'description' => 'The domain name of the Network Time Protocol (NTP) server.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The domain name of the Network Time Protocol (NTP) server.', - 'type' => 'string', - 'example' => 'ntp.cloud.aliyuncs.com', - ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 90, + 'title' => '', + 'example' => '', + ], + 'EmptyDirVolume.SizeLimit' => ['description' => 'EmptyDir数据卷的大小。取值时请带上单位,建议使用Gi或Mi。', 'type' => 'string', 'required' => false, 'example' => '256 Mi', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'InitContainer', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The list of init containers.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of init containers.', + 'type' => 'object', + 'properties' => [ + 'InitContainerEnvironmentVar' => [ + 'description' => 'The information about environment variables.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about environment variables.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable. The name must be 1 to 128 characters in length and must match the format `[0-9a-zA-Z]` and underscores. It cannot start with a digit.', 'type' => 'string', 'required' => false, 'example' => 'Path', 'title' => ''], + 'Value' => ['description' => 'The value of the environment variable. The value can be up to 256 characters in length.', 'type' => 'string', 'required' => false, 'example' => '/usr/bin/', 'title' => ''], ], - 'LifecycleState' => [ - 'description' => 'The state of the scaling configuration in the scaling group. Valid values:'."\n" + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 301, + 'title' => '', + 'example' => '', + ], + 'SecurityContext.Capability.Add' => [ + 'description' => '为容器内的进程授予某些特定的权限。目前仅支持配置为NET_ADMIN和NET_RAW。'."\n" + ."\n" + .'>NET_RAW默认不支持,需提交工单申请。', + 'type' => 'array', + 'items' => ['description' => '为容器内的进程授予某些特定的权限。目前仅支持配置为NET_ADMIN和NET_RAW。'."\n" + ."\n" + .'>NET_RAW默认不支持,需提交工单申请。', 'type' => 'string', 'required' => false, 'example' => 'NET_ADMIN', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + 'Image' => ['description' => 'The image used by the container.', 'type' => 'string', 'required' => false, 'example' => 'nginx', 'title' => ''], + 'InitContainerVolumeMount' => [ + 'description' => 'The volume mount information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The volume mount information.', + 'type' => 'object', + 'properties' => [ + 'MountPropagation' => ['description' => 'The mount propagation setting of the volume. Mount propagation allows volumes mounted by a container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" ."\n" - .'* Active: The scaling configuration is active in the scaling group. Auto Scaling uses the active scaling configuration to automatically create elastic container instances.'."\n" - .'* Inactive: The scaling configuration is inactive in the scaling group. Auto Scaling does not use the inactive scaling configuration to automatically create elastic container instances. Inactive scaling configurations are retained in the scaling group.'."\n", - 'type' => 'string', - 'example' => 'Active', - ], - 'CostOptimization' => [ - 'description' => 'Indicates whether the cost optimization feature is enabled. Valid values:'."\n" + .'- None: the volume does not sense any subsequent mounts performed on this volume or its subdirectories.'."\n" + .'- HostToCotainer: the volume senses subsequent mounts performed on this volume or its subdirectories.'."\n" + .'- Bidirectional: similar to HostToCotainer, the volume senses mount operations. In addition, the volume is propagated back to the host and all containers of all pods that use the same volume.'."\n" ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'InstanceFamilyLevel' => [ - 'description' => 'The instance family level, which is used to filter instance types that meet the requirements. This parameter is returned when the `CostOptimization` parameter is set to true. Valid values:'."\n" + .'Default value: None.', 'type' => 'string', 'required' => false, 'example' => 'None', 'title' => ''], + 'MountPath' => ['description' => 'The mount directory.'."\n" ."\n" - .'* EntryLevel: shared instance type. Instances of this level are the most cost-effective but may not provide stable computing performance in a consistent manner. Instances of this level are suitable for business scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" - .'* EnterpriseLevel: Instances of this level provide stable performance and dedicated resources, and are suitable for business scenarios that require high stability. For more information, see [Instance family](~~25378~~).'."\n" - .'* CreditEntryLevel: This value is available only for burstable instances. CPU credits are used to ensure computing performance. Instances of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview](~~59977~~) of burstable instances.'."\n", - 'type' => 'string', - 'example' => 'EnterpriseLevel', - ], - 'InstanceTypes' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - 'DataCacheBucket' => [ - 'type' => 'string', - ], - 'DataCachePL' => [ - 'type' => 'string', - ], - 'DataCacheProvisionedIops' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'DataCacheBurstingEnabled' => [ - 'type' => 'boolean', - ], - 'GpuDriverVersion' => [ - 'type' => 'string', + .'>The content in the container mount directory is overwritten by the content of the volume. Use this parameter with caution.'."\n" + .'>.', 'type' => 'string', 'required' => false, 'example' => '/usr/share/', 'title' => ''], + 'ReadOnly' => ['description' => 'Specifies whether the mount path is read-only.'."\n" + .'- true: read-only.'."\n" + .'- false: read and write.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Name' => ['description' => 'The name of the mounted volume.', 'type' => 'string', 'required' => false, 'example' => 'test-empty', 'title' => ''], + 'SubPath' => ['description' => 'The subdirectory of the volume. This allows a pod to mount different directories of the same volume to different directories in the container.', 'type' => 'string', 'required' => false, 'example' => '/usr/sub/', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'ImagePullPolicy' => ['description' => 'The image pull policy. Valid values:'."\n" + ."\n" + .'- Always: always pulls the image. The image is pulled each time.'."\n" + .'- IfNotPresent: pulls the image only when needed. The local image is used first. If no local image is available, the image is pulled.'."\n" + .'- Never: never pulls the image. Only the local image is used.', 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], + 'Cpu' => ['description' => 'The number of vCPUs of the container. Unit: cores.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''], + 'WorkingDir' => ['description' => 'The working directory.', 'type' => 'string', 'required' => false, 'example' => '/usr/local', 'title' => ''], + 'Command' => [ + 'description' => 'The startup commands of the container.', + 'type' => 'array', + 'items' => ['description' => 'The startup commands of the container.', 'type' => 'string', 'required' => false, 'example' => 'sleep', 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'Arg' => [ + 'description' => 'The startup arguments of the container.', + 'type' => 'array', + 'items' => ['description' => 'The startup arguments of the container.', 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'SecurityContext.RunAsUser' => ['description' => '设置运行容器的用户ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '587', 'title' => ''], + 'Gpu' => ['description' => 'The number of GPUs for the container.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'Memory' => ['description' => 'The memory size. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], + 'Name' => ['description' => 'The container name.', 'type' => 'string', 'required' => false, 'example' => 'test-init', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'DnsConfigNameServer', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The list of IP addresses of DNS servers.', + 'type' => 'array', + 'items' => ['description' => 'The list of IP addresses of DNS servers.', 'type' => 'string', 'required' => false, 'example' => '172.10.*.**', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'DnsConfigSearch', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The list of DNS search domains.', + 'type' => 'array', + 'items' => ['description' => 'The list of DNS search domains.', 'type' => 'string', 'required' => false, 'example' => 'svc.local.kubenetes', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'DnsConfigOption', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The list of object options. Each object consists of a Name and an optional Value.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of object options. Each object consists of a Name and an optional Value.', + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The value of the object variable.', 'type' => 'string', 'required' => false, 'example' => 'value', 'title' => ''], + 'Name' => ['description' => 'The name of the object variable.', 'type' => 'string', 'required' => false, 'example' => 'name', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'HostAliase', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The custom hostname mapping for a container in the instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The custom hostname mapping for a container in the instance.', + 'type' => 'object', + 'properties' => [ + 'Ip' => ['description' => 'The IP address to add.', 'type' => 'string', 'required' => false, 'example' => '192.0.XX.XX', 'title' => ''], + 'Hostname' => [ + 'description' => 'The hostname to add.', + 'type' => 'array', + 'items' => ['description' => 'The hostname to add.', 'type' => 'string', 'required' => false, 'example' => '[\'hehe.com\', \'haha.com\']', 'title' => ''], + 'required' => false, + 'maxItems' => 51, + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'SecurityContextSysctl', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The security context in which the container group runs.', + 'type' => 'array', + 'items' => [ + 'description' => 'The security context in which the container group runs.', + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The contextual variable value of the security context in which the instance runs.', 'type' => 'string', 'required' => false, 'example' => '65536', 'title' => ''], + 'Name' => ['description' => 'The system name of the security context in which the instance runs.', 'type' => 'string', 'required' => false, 'example' => 'kernel.msgmax', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 11, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'NtpServer', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The NTP server.', + 'type' => 'array', + 'items' => ['description' => 'The NTP server.', 'type' => 'string', 'required' => false, 'example' => 'ntp.cloud.aliyuncs.com', 'title' => ''], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'AcrRegistryInfo', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The information about the ACR Enterprise instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the ACR Enterprise instance.', + 'type' => 'object', + 'properties' => [ + 'Domain' => [ + 'description' => 'The domain name of the ACR Enterprise instance. By default, all domain names of the instance are used. You can specify individual domain names. Separate multiple domain names with commas (,).', + 'type' => 'array', + 'items' => ['description' => 'The domain name of the ACR Enterprise instance. By default, all domain names of the instance are used. You can specify individual domain names. Separate multiple domain names with commas (,).', 'type' => 'string', 'required' => false, 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + 'InstanceName' => ['description' => 'The name of the ACR Enterprise instance.', 'type' => 'string', 'required' => false, 'example' => 'acr-test', 'title' => ''], + 'InstanceId' => ['description' => 'The instance ID of the ACR Enterprise instance.', 'type' => 'string', 'required' => false, 'example' => 'cri-nwj395hgf6f3****', 'title' => ''], + 'RegionId' => ['description' => 'The region of the ACR Enterprise instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'CostOptimization', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable cost optimization. Valid values:'."\n" + ."\n" + .'- true: Enabled.'."\n" + .'- false: Not enabled.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'InstanceFamilyLevel', + 'in' => 'query', + 'schema' => ['description' => 'The level of the instance family, which is used to filter instance types that meet the requirements. This parameter takes effect when `CostOptimization` is enabled. Valid values:'."\n" + ."\n" + .'- EntryLevel: shared instance types. Lower cost, but instance computing performance is not guaranteed to be stable. Applicable to scenarios with low CPU usage. For more information, see [Shared instance families](~~108489~~).'."\n" + .'- EnterpriseLevel: enterprise-level instance types. Stable performance with dedicated resources. Applicable to scenarios that require high stability. For more information, see [Instance families](~~25378~~).'."\n" + .'- CreditEntryLevel: burstable instance types. CPU credits are used to ensure computing performance. Applicable to scenarios with low average CPU usage and occasional bursts. For more information, see [Overview of burstable instances](~~59977~~).', 'type' => 'string', 'required' => false, 'example' => 'EnterpriseLevel', 'title' => ''], + ], + [ + 'name' => 'ContainersUpdateType', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => ['description' => 'The control request parameter for the Containers parameter update method. Valid values:'."\n" + ."\n" + .'- RenewUpdate: full update. The Containers request parameters in the update request overwrite the existing Containers parameter configurations.'."\n" + .'- IncrementalUpdate: incremental update. Containers are matched by Containers.Name, and only the request parameters specified in the request are updated. Parameters that are not specified are not updated.'."\n" + ."\n" + .'Default value: RenewUpdate.', 'type' => 'string', 'required' => false, 'example' => 'RenewUpdate', 'title' => ''], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The specified ECS instance types. You can specify up to five instance types.', + 'type' => 'array', + 'items' => ['description' => 'The specified ECS instance type. You can specify up to five instance types. For more information, see [Create instances by specifying ECS instance types](~~114664~~).', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'DataCacheBucket', + 'in' => 'query', + 'schema' => ['description' => 'The data cache bucket.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], + ], + [ + 'name' => 'DataCachePL', + 'in' => 'query', + 'schema' => ['description' => '数据缓存使用的云盘的性能等级。建议优先使用ESSD云盘,该云盘的性能等级取值范围:'."\n" + ."\n" + .'- PL0:单盘最高随机读写IOPS 1万。'."\n" + .'- PL1:单盘最高随机读写IOPS 5万。'."\n" + .'- PL2:单盘最高随机读写IOPS 10万。'."\n" + .'- PL3:单盘最高随机读写IOPS 100万。'."\n" + ."\n" + .'默认值:PL1。'."\n" + .'>关于ESSD云盘的更多信息,请参见[ESSD云盘](~~122389~~)。', 'type' => 'string', 'required' => false, 'example' => 'PL1', 'title' => ''], + ], + [ + 'name' => 'DataCacheProvisionedIops', + 'in' => 'query', + 'schema' => ['description' => 'The provisioned read/write IOPS of the ESSD AutoPL disk when the data cache uses an ESSD AutoPL disk. Valid values: 0 to min{50000, 1000 × Capacity - Baseline performance}, where Baseline performance = min{1800 + 50 × Capacity, 50000}.'."\n" + ."\n" + .'>For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '40000', 'title' => ''], + ], + [ + 'name' => 'DataCacheBurstingEnabled', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable burst (performance bursting) when the data cache uses an ESSD AutoPL disk. Valid values:'."\n" + .'- true: Enabled.'."\n" + .'- false: Not enabled.'."\n" + ."\n" + .'Default value: false.'."\n" + .'>For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'GpuDriverVersion', + 'in' => 'query', + 'schema' => ['description' => 'The GPU driver version. Valid values:'."\n" + .'- tesla=470.82.01 (default)'."\n" + .'- tesla=525.85.12'."\n" + ."\n" + .'> Only specific instance types support switching the GPU driver version. For more information, see [Create instances by specifying GPU specifications](~~2579486~~).', 'type' => 'string', 'required' => false, 'example' => 'tesla=525.85.12', 'title' => ''], + ], + [ + 'name' => 'Override', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to overwrite. Valid values:'."\n" + ."\n" + .'- true: Overwrite.'."\n" + .'- false: Do not overwrite.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID, which is a unique identifier.', 'type' => 'string', 'example' => '89945DD3-9072-47D0-A318-353284CF****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'Forbidden.RiskControl', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CF****\\"\\n}","type":"json"}]', + 'title' => 'Modify a scaling configuration', + 'description' => '## Operation description'."\n" + ."\n" + .'- If you modify the name of a scaling configuration, make sure that no scaling configuration with the same name exists in the same scaling group.'."\n" + ."\n" + .'- You can call [DescribeEciScalingConfigurations](~~426144~~) to query and verify the modification result.', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You are not authorized to perform the specified action.|'."\n" + .'|404|InvalidDataDiskSnapshotId.NotFound|Snapshot "XXX" does not exist.|The specified snapshot does not exist.|'."\n" + .'|400|InvalidDataDiskSnapshotId.SizeNotSupported|The capacity of snapshot "XXX" exceeds the size limit of the specified disk category.|The size of the specified snapshot exceeds the disk size limit.|'."\n" + .'|404|InvalidImageId.NotFound|The specified image does not exist.|The specified image does not exist.|'."\n" + .'|400|InvalidKeyPairName.NotFound|The specified KeyPairName does not exist in our records.|The specified KeyPairName does not exist.|'."\n" + .'|400|InvalidNetworkType.ForRAMRole|RAMRole can\'t be used For classic instance.|The RamRoleName parameter is not supported for classic network instances.|'."\n" + .'|400|InvalidParamter|The specified value of parameter is not valid.|The specified parameter value is invalid.|'."\n" + .'|400|InvalidScalingConfigurationName.Duplicate|The specified value of parameter is duplicated.|The scaling configuration name already exists.|'."\n" + .'|400|InvalidSecurityGroupId.IncorrectNetworkType|The network type of specified Security Group does not support this action.|The network type of the specified security group does not match the network type of the scaling group.|'."\n" + .'|400|InvalidSecurityGroupId.VPCMismatch|The specified security group and the specified virtual switch are not in the same VPC.|The specified security group and vSwitch do not belong to the same VPC.|'."\n" + .'|400|InvalidTags.KeyValue|The specified tags key/value cannot be empty.|The Tags parameter is required.|'."\n" + .'|400|InvalidTags.ListSize|The specified tags list size cannot be more than "20".|The number of tags exceeds the maximum limit.|'."\n" + .'|400|InvalidUserData.Base64FormatInvalid|The specified parameter UserData must be base64 encoded.|The UserData parameter does not conform to the Base64 encoding specification.|'."\n" + .'|400|InvalidUserData.SizeExceeded|The specified parameter UserData exceeds the size.|The specified UserData is too long.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyEciScalingConfiguration'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyEciScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + ], + 'ModifyInstanceAttribute' => [ + 'summary' => 'Modifies partial information of an ECS instance in a scaling group by calling the ModifyInstanceAttribute API. Currently, only the lifecycle management property of instances manually added to a scaling group can be modified, allowing Auto Scaling to manage ECS instances in the scaling group more flexibly.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '201545', + 'abilityTreeNodes' => ['FEATUREessBFHJ1B'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the ECS instance in the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'i-bp109k5j3dum1ce6****', 'title' => ''], + ], + [ + 'name' => 'Entrusted', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to entrust the lifecycle of a manually added ECS instance to the scaling group. Valid values:'."\n" + ."\n" + .'- true: Entrusted. The lifecycle of the instance is managed by Auto Scaling, the same as instances of automatic creation in the scaling group. The instance is subject to automatic release when removed from the scaling group (excluding instances removed by invoking the DetachInstances operation).'."\n" + .'- false: Not entrusted. The instance is not released when removed from the scaling group.'."\n" + ."\n" + .'> This parameter is supported only for instances manually added to the scaling group, not for instances created within the scaling group.', 'type' => 'boolean', 'docRequired' => true, 'required' => true, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'InstanceIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'type' => 'array', + 'items' => ['description' => 'The instance ID.', 'type' => 'string', 'required' => false, 'example' => 'i-bp109k5j3dum1ce6****', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Modify partial information of an ECS instance in a scaling group', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyInstanceAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyInstanceAttribute'], + ], + ], + ], + 'ModifyLifecycleHook' => [ + 'summary' => 'Modifies the information of a lifecycle hook.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92706', + 'abilityTreeNodes' => ['FEATUREessKFTMD6'], + ], + 'parameters' => [ + [ + 'name' => 'LifecycleHookId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the lifecycle hook that you want to modify. This parameter is used to specify the lifecycle hook.', 'type' => 'string', 'required' => false, 'example' => 'ash-bp1fxuqyi98w0aib****', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group. This parameter is used to specify the lifecycle hook.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], + ], + [ + 'name' => 'LifecycleHookName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the lifecycle hook that you want to modify. This parameter is used to specify the lifecycle hook.', 'type' => 'string', 'required' => false, 'example' => 'test_SCAL****', 'title' => ''], + ], + [ + 'name' => 'DefaultResult', + 'in' => 'query', + 'schema' => ['description' => 'The action that Auto Scaling takes when the lifecycle hook times out. Valid values: '."\n" + ."\n" + .'- CONTINUE: Auto Scaling continues to response to scale-out or scale-down activities.'."\n" + .'- ABANDON: Auto Scaling releases the ECS instances that are created during scale-out activities or removes the ECS instances from the scaling group during scale-down activities.'."\n" + .'- ROLLBACK: For scale-down activities, Auto Scaling rejects the release of ECS instances and performs a rollback. For scale-out activities, Auto Scaling releases the created ECS instances, which has the same effect as ABANDON.'."\n" + ."\n" + .'When a scale-down activity (SCALE_IN) occurs in a scaling group and triggers multiple lifecycle hooks, if the DefaultResult of a lifecycle hook is set to ABANDON or ROLLBACK and the wait state of the hook ends, the wait states of the other lifecycle hooks end early. In other cases, the action is determined by the last lifecycle hook whose wait state ends.', 'type' => 'string', 'required' => false, 'example' => 'CONTINUE', 'title' => ''], + ], + [ + 'name' => 'HeartbeatTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The wait time that the lifecycle hook sets for the scaling activity. After the wait state times out, the default action is taken. Valid values: 30 to 21600. Unit: seconds.'."\n" + ."\n" + .'You can call [RecordLifecycleActionHeartbeat](~~73846~~) to extend the wait time for an ECS instance, or call [CompleteLifecycleAction](~~73847~~) to end the wait state of a scaling activity early.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '600', 'title' => ''], + ], + [ + 'name' => 'LifecycleTransition', + 'in' => 'query', + 'schema' => ['description' => 'The type of scaling activity to which the lifecycle hook applies. Valid values:'."\n" + .'- SCALE_OUT: scale-out activities of the scaling group.'."\n" + .'- SCALE_IN: scale-down activities of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'SCALE_IN', 'title' => ''], + ], + [ + 'name' => 'NotificationMetadata', + 'in' => 'query', + 'schema' => ['description' => 'The fixed string information that is associated with the wait state of a scaling activity. The parameter value cannot exceed 4,096 characters in length.'."\n" + ."\n" + .'Each time Auto Scaling pushes a message to the Notification Recipient, it also sends the NotificationMetadata parameter value that you specify. This helps you manage and mark notifications of different categories. The NotificationMetadata parameter takes effect only when you also specify the NotificationArn parameter.', 'type' => 'string', 'required' => false, 'example' => 'Test', 'title' => ''], + ], + [ + 'name' => 'NotificationArn', + 'in' => 'query', + 'schema' => ['description' => 'The identifier of the Notification Recipient for the lifecycle hook. This parameter supports the following notification methods:'."\n" + .'- Simple Message Queue (formerly MNS) queue: `acs:mns:{region-id}:{account-id}:queue/{queuename}`.'."\n" + .'- Simple Message Queue (formerly MNS) topic: `acs:mns:{region-id}:{account-id}:topic/{topicname}`.'."\n" + .'- OOS template: `acs:oos:{region-id}:{account-id}:template/{templatename}`.'."\n" + .'- EventBridge: `acs:eventbridge:{region-id}:{account-id}:eventbus/default`.'."\n" + ."\n" + .'The variables in the parameter format are described as follows:'."\n" + .'- region-id: the region ID of the scaling group.'."\n" + .'- account-id: the Alibaba Cloud account ID.'."\n" + .'- queuename: the name of the Simple Message Queue (formerly MNS) queue.'."\n" + .'- topicname: the name of the Simple Message Queue (formerly MNS) topic.'."\n" + .'- templatename: the name of the OOS template.', 'type' => 'string', 'required' => false, 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****', 'title' => ''], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], + ], + [ + 'name' => 'LifecycleHookStatus', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => ['description' => 'The status to which you want to change the lifecycle hook. Valid values:'."\n" + .'- Active: starts the lifecycle hook.'."\n" + .'- InActive: pauses the lifecycle hook.'."\n" + ."\n" + .'If you do not specify this parameter, the lifecycle hook retains its current status.'."\n" + .'>After a lifecycle hook is created, it is in the Active state by default.', 'type' => 'string', 'required' => false, 'example' => 'Active', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Modify a lifecycle hook', + 'description' => '## Operation description'."\n" + ."\n" + .'You can specify the lifecycle hook to modify in one of the following ways:'."\n" + ."\n" + .'- Specify only the lifecycle hook ID (LifecycleHookId). The scaling group ID (ScalingGroupId) and lifecycle hook name (LifecycleHookName) parameters are ignored.'."\n" + ."\n" + .'- Specify both the scaling group ID (ScalingGroupId) and lifecycle hook name (LifecycleHookName), because the lifecycle hook name is unique within a scaling group.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidParamter|The specified value of parameter is not valid.|The specified parameter value is invalid.|'."\n" + .'|400|InvalidLifecycleHookId.NotExist|The specified lifecycleHookId not exist.|The specified LifecycleHookId does not exist.|'."\n" + .'|400|InvalidLifecycleHookName.NotExist|The specified lifecycleHookName you provided not exist.|The specified LifecycleHookName does not exist.|'."\n" + .'|400|InvalidNotificationArn|The specified parameter NotificationArn is invalid.|The specified NotificationArn does not exist.|'."\n" + .'|400|UnsupportedNotificationType.CurrentRegion|The NotificationType is not supported in the special region which scalingGroup belongs to.|The notification method is not supported in the region of the scaling group.|'."\n" + .'|400|LifecycleHook|The specified queue does not exist.|The specified Simple Message Queue (formerly MNS) queue does not exist.|'."\n" + .'|400|TopicNotExist|The specified topic does not exist.|The specified Simple Message Queue (formerly MNS) topic does not exist.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyLifecycleHook', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyLifecycleHook'], + ], + ], + ], + 'ModifyNotificationConfiguration' => [ + 'summary' => 'Modifies a notification for Auto Scaling events and resource changes.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92707', + 'abilityTreeNodes' => ['FEATUREess6E26FJ', 'FEATUREessFY8KDA'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], + ], + [ + 'name' => 'NotificationArn', + 'in' => 'query', + 'schema' => ['description' => 'The identity of the Notification Recipient. The following notification methods are supported when you configure the Settings for this parameter:'."\n" + ."\n" + .'- CloudMonitor monitoring. The parameter value is in the format of `acs:ess:{region-id}:{account-id}:cloudmonitor`.'."\n" + .'- MNS queue. The parameter value is in the format of `acs:mns:{region-id}:{account-id}:queue/{queuename}`.'."\n" + .'- MNS topic. The parameter value is in the format of `acs:mns:{region-id}:{account-id}:topic/{topicname}`.'."\n" + ."\n" + .'The variables in the parameter format have the following meanings:'."\n" + .'- region-id: the region ID of the scaling group.'."\n" + .'- account-id: the Alibaba Cloud account ID.'."\n" + .'- queuename: the name of the MNS queue.'."\n" + .'- topicname: the name of the MNS topic.', 'type' => 'string', 'required' => true, 'example' => 'acs:ess:cn-beijing:161456884340****:cloudmonitor', 'title' => ''], + ], + [ + 'name' => 'NotificationType', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'One or more types of Auto Scaling event and resource change notifications. Valid values of N: 1 to 8.', + 'type' => 'array', + 'items' => ['description' => 'One or more types of Auto Scaling event and resource change notifications. Valid values of N: 1 to 8.'."\n" + ."\n" + .'- AUTOSCALING:SCALE_OUT_SUCCESS: The scale-out scaling activity succeeded.'."\n" + .'- AUTOSCALING:SCALE_IN_SUCCESS: The scale-in scaling activity succeeded.'."\n" + .'- AUTOSCALING:SCALE_OUT_ERROR: The scale-out scaling activity failed.'."\n" + .'- AUTOSCALING:SCALE_IN_ERROR: The scale-in scaling activity failed.'."\n" + .'- AUTOSCALING:SCALE_REJECT: The scaling activity was rejected.'."\n" + .'- AUTOSCALING:SCALE_OUT_START: The scale-out scaling activity started.'."\n" + .'- AUTOSCALING:SCALE_IN_START: The scale-in scaling activity started.'."\n" + .'- AUTOSCALING:SCHEDULE_TASK_EXPIRING: A reminder that a scheduled task is about to expire.'."\n" + .'- SCALING_GROUP_DIAGNOSE: Scaling group diagnostics.'."\n" + .'- AUTOSCALING:SCALE_OUT_WARN: The scale-out scaling activity partially succeeded.'."\n" + .'- AUTOSCALG:SCALE_IN_WARN: The scale-down scaling activity partially succeeded.', 'type' => 'string', 'required' => false, 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', 'title' => ''], + 'required' => true, + 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', + 'maxItems' => 12, + 'title' => '', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], + ], + [ + 'name' => 'TimeZone', + 'in' => 'query', + 'schema' => ['description' => 'The time zone for message notifications.'."\n" + .'The offset relative to Coordinated Universal Time (UTC), such as UTC+8 or UTC-7.', 'type' => 'string', 'required' => false, 'example' => 'UTC+8', 'title' => ''], + ], + [ + 'name' => 'MessageEncoding', + 'in' => 'query', + 'schema' => ['description' => 'The encoding method for the notification content. Valid values:'."\n" + ."\n" + .'- PlainText: no encoding. The content is transmitted in plaintext.'."\n" + .'- Base64: Base64 encoding.'."\n" + ."\n" + .'Default value: Base64.'."\n" + ."\n" + .'> This parameter can be set only for MNS Notification Recipient Settings.', 'type' => 'string', 'required' => false, 'example' => 'PlainText', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Modify a notification for Auto Scaling events and resource changes', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidNotificationTypes|The specified NotificationType is invalid.|The specified NotificationType.N is invalid.|'."\n" + .'|400|NotificationConfigurationNotExist|The specified notification configuration not exist for the scaling group.|The specified Auto Scaling event and resource change notification type does not exist for the scaling group.|'."\n" + .'|400|InvalidParameter.TimeZone| The specified parameter TimeZone is not valid.|The specified TimeZone parameter is invalid.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyNotificationConfiguration'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyNotificationConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + ], + 'ModifyScalingConfiguration' => [ + 'summary' => 'Modifies an ECS-type scaling configuration, which serves as the template for ECS instances to be created during scale-out events.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92708', + 'abilityTreeNodes' => ['FEATUREessT4M3WE'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingConfigurationId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling configuration that you want to modify.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asc-bp16har3jpj6fjbx****', 'title' => ''], + ], + [ + 'name' => 'IoOptimized', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the instance is an I/O optimization instance. Valid values:'."\n" + .'- none: The instance is not an I/O optimization instance.'."\n" + .'- optimized: The instance is an I/O optimization instance.', 'type' => 'string', 'required' => false, 'example' => 'none', 'title' => ''], + ], + [ + 'name' => 'SpotStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The preemption policy for pay-as-you-go instances. Valid values:'."\n" + .' '."\n" + .'- NoSpot: a regular pay-as-you-go instance.'."\n" + .'- SpotWithPriceLimit: a spot instance with a user-defined maximum hourly price.'."\n" + .'- SpotAsPriceGo: a spot instance for which the market price at the time of purchase is automatically used as the bid price.', 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''], + ], + [ + 'name' => 'ScalingConfigurationName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the scaling configuration. The name must be 2 to 64 characters in length and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter, digit, or Chinese character.'."\n" + ."\n" + .'The name must be unique within a scaling group in the same region. If you do not specify this parameter, the ID of the scaling configuration is used by default.', 'type' => 'string', 'required' => false, 'example' => 'test-modify', 'title' => ''], + ], + [ + 'name' => 'InstanceName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the ECS instance that is created by automatic creation based on the scaling configuration.', 'type' => 'string', 'required' => false, 'example' => 'inst****', 'title' => ''], + ], + [ + 'name' => 'HostName', + 'in' => 'query', + 'schema' => ['description' => 'The hostname of the Elastic Compute Service (ECS) server. A period (.) or a hyphen (-) cannot be used as the first or last character, or used consecutively. Naming conventions vary by instance type: '."\n" + ."\n" + .'- Windows instances: The hostname must be 2 to 15 characters in length and can contain letters, digits, and hyphens (-). It cannot contain periods (.) or consist entirely of digits. '."\n" + .'- Other instances (such as Linux): The hostname must be 2 to 64 characters in length and can contain multiple periods (.). Each segment separated by a period (.) can contain letters, digits, and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'hos****', 'title' => ''], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the image file used to automatically create instances.'."\n" + ."\n" + .'> If the image previously used in the scaling configuration includes a system cloud disk and data cloud disks, the data cloud disk information is purged after you change the image. This is because automatic creation of instances uses the new image, which does not retain the previous data cloud disk configuration.', 'type' => 'string', 'required' => false, 'example' => 'centos6u5_64_20G_aliaegis_2014****.vhd', 'title' => ''], + ], + [ + 'name' => 'ImageName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the image. Image names must be unique within a region. If you specify ImageId, ImageName is ignored.'."\n" + ."\n\n" + .'You cannot use ImageName to specify images from Alibaba Cloud Marketplace.', 'type' => 'string', 'required' => false, 'example' => 'suse11sp3_64_20G_aliaegis_2015****.vhd', 'title' => ''], + ], + [ + 'name' => 'Cpu', + 'in' => 'query', + 'schema' => ['description' => 'The number of vCPUs.'."\n" + ."\n" + .'You can specify both Cpu and Memory to define the range of instance types. For example, setting Cpu to 2 and Memory to 16 defines all instance types with 2 vCPUs and 16 GiB of memory. Auto Scaling determines the set of active instance types based on factors such as I/O optimization and zones, and then creates instances of the lowest-priced instance type by sorting.'."\n" + ."\n" + .'> This configuration takes effect only when the cost optimization mode is enabled and no instance type is specified in the scaling configuration.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'Memory', + 'in' => 'query', + 'schema' => ['description' => 'The memory size.'."\n" + ."\n" + .'You can specify both Cpu and Memory to define the range of instance types. For example, setting Cpu to 2 and Memory to 16 defines all instance types with 2 vCPUs and 16 GiB of memory. Auto Scaling determines the set of active instance types based on factors such as I/O optimization and zones, and then creates instances of the lowest-priced instance type by sorting.'."\n" + ."\n" + .'> This configuration takes effect only when the cost optimization mode is enabled and no instance type is specified in the scaling configuration.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '16', 'title' => ''], + ], + [ + 'name' => 'InternetChargeType', + 'in' => 'query', + 'schema' => ['description' => 'The billing method for network usage. Valid values:'."\n" + ."\n" + .'- PayByBandwidth: You are charged for the fixed bandwidth that you specify by using InternetMaxBandwidthOut. '."\n" + .'- PayByTraffic: You are charged based on the actual network traffic. InternetMaxBandwidthOut specifies only the maximum outbound bandwidth.', 'type' => 'string', 'required' => false, 'example' => 'PayByBandwidth', 'title' => ''], + ], + [ + 'name' => 'InternetMaxBandwidthOut', + 'in' => 'query', + 'schema' => ['description' => 'The maximum outbound bandwidth for the public network. Unit: Mbit/s. Valid values: 0 to 100.'."\n" + ."\n" + .'Default value: 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'SystemDisk.Category', + 'in' => 'query', + 'schema' => ['description' => 'The category of the system cloud disk. Valid values:'."\n" + ."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance property of a basic cloud disk created together with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.'."\n" + ."\n" + .'You cannot specify this parameter together with SystemDiskCategories.N. If neither this parameter nor SystemDiskCategories.N is specified, the default value is used. If the instance type belongs to Generation I instance families and the instance is not an I/O optimization instance, the default value is cloud. Otherwise, the default value is cloud_efficiency.', 'type' => 'string', 'required' => false, 'example' => 'cloud_efficiency', 'title' => ''], + ], + [ + 'name' => 'SystemDisk.Size', + 'in' => 'query', + 'schema' => ['description' => 'The size of the system cloud disk. Unit: GiB. Valid values:'."\n" + ."\n" + .'- Basic cloud disk: 20 to 500.'."\n" + .'- ESSD:'."\n" + .' - PL0: 1 to 2048.'."\n" + .' - PL1: 20 to 2048.'."\n" + .' - PL2: 461 to 2048.'."\n" + .' - PL3: 1261 to 2048.'."\n" + .'- ESSD AutoPL cloud disk: 1 to 2048.'."\n" + .'- Other cloud disk types: 20 to 2048.'."\n" + ."\n" + .'The value of this parameter must be greater than or equal to max{1, ImageSize}.'."\n" + ."\n" + .'Default value: max{40, ImageSize}.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], + ], + [ + 'name' => 'SystemDisk.DiskName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the system cloud disk. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (\\_), and hyphens (-). It must start with a letter or Chinese character and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssdSystem', 'title' => ''], + ], + [ + 'name' => 'SystemDisk.Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the system cloud disk. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Test system disk.', 'title' => ''], + ], + [ + 'name' => 'SystemDisk.AutoSnapshotPolicyId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the automatic snapshot policy that is applied to the system cloud disk.', 'type' => 'string', 'required' => false, 'example' => 'sp-bp12m37ccmxvbmi5****', 'title' => ''], + ], + [ + 'name' => 'SystemDisk.PerformanceLevel', + 'in' => 'query', + 'schema' => ['description' => 'The performance level (PL) of the system cloud disk when the disk is an ESSD. Valid values:'."\n" + ."\n" + .'- PL0: A single ESSD can deliver up to 10,000 random read/write IOPS.'."\n" + .'- PL1: A single ESSD can deliver up to 50,000 random read/write IOPS.'."\n" + .'- PL2: A single ESSD can deliver up to 100,000 random read/write IOPS.'."\n" + .'- PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'> For more information about how to select an ESSD performance level, see [ESSDs](~~122389~~).', 'type' => 'string', 'required' => false, 'example' => 'PL0', 'title' => ''], + ], + [ + 'name' => 'LoadBalancerWeight', + 'in' => 'query', + 'schema' => ['description' => 'The weight of SLB backend server. Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], + ], + [ + 'name' => 'UserData', + 'in' => 'query', + 'schema' => ['description' => 'The user data of the ECS instance. The data must be Base64-encoded. The maximum size of the raw data before encoding is 32 KB.', 'type' => 'string', 'required' => false, 'example' => 'ZWNobyBoZWxsbyBlY3Mh', 'title' => ''], + ], + [ + 'name' => 'KeyPairName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the key pair used to log on to the ECS instance. '."\n" + .' '."\n" + .'- For Windows instances, this parameter is ignored and is empty by default. '."\n" + .'- For Linux instances, password-based logon is disabled during initialization.', 'type' => 'string', 'required' => false, 'example' => 'KeyPair_Name', 'title' => ''], + ], + [ + 'name' => 'RamRoleName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the RAM role associated with the ECS instance. The name is provided and maintained by RAM. You can call [ListRoles](~~28713~~) to query available RAM roles. For more information about how to create a RAM role, see [CreateRole](~~28710~~).', 'type' => 'string', 'required' => false, 'example' => 'RamRoleTest', 'title' => ''], + ], + [ + 'name' => 'PasswordInherit', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use the password preset in the image. To use this parameter, make sure that a password is configured for the image.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'schema' => ['description' => 'The tags of the ECS instance. Tags are specified as key-value pairs. You can specify up to 20 tags. The following limits apply to tag keys and values: '."\n" + .' '."\n" + .'- A tag key can be up to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`. A tag key cannot be an empty string. '."\n" + .'- A tag value can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`. A tag value can be an empty string.', 'type' => 'string', 'required' => false, 'example' => '{"key1":"value1","key2":"value2", ... "key5":"value5"}', 'title' => ''], + ], + [ + 'name' => 'DeploymentSetId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the deployment set to which the ECS instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'ds-bp13v7bjnj9gis****', 'title' => ''], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the security group to which the ECS instance belongs. ECS instances in the same security group can communicate with each other.', 'type' => 'string', 'required' => false, 'example' => 'sg-F876F****', 'title' => ''], + ], + [ + 'name' => 'Override', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to override the existing data. Valid values:'."\n" + .'- true: overrides the existing data.'."\n" + .'- false: does not override the existing data.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource group to which the ECS instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'abcd1234abcd****', 'title' => ''], + ], + [ + 'name' => 'HpcClusterId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the HPC cluster to which the ECS instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'hpc-clusterid', 'title' => ''], + ], + [ + 'name' => 'InstanceDescription', + 'in' => 'query', + 'schema' => ['description' => 'The description of the ECS instance. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Test instance.', 'title' => ''], + ], + [ + 'name' => 'Ipv6AddressCount', + 'in' => 'query', + 'schema' => ['description' => 'The number of randomly generated IPv6 addresses allocated to the elastic network interfaces (ENIs).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'CreditSpecification', + 'in' => 'query', + 'schema' => ['description' => 'The running mode of the burstable instance. Valid values:'."\n" + ."\n" + .'- Standard: standard mode. For more information, see the performance constrained mode section in [Overview of burstable instances](~~59977~~).'."\n" + ."\n" + .'- Unlimited: unlimited mode. For more information, see the unlimited mode section in [Overview of burstable instances](~~59977~~).', 'type' => 'string', 'required' => false, 'example' => 'Standard', 'title' => ''], + ], + [ + 'name' => 'ImageFamily', + 'in' => 'query', + 'schema' => ['description' => 'The name of the image family. You can specify this parameter to obtain the latest available image from the specified image family for instance creation. If you have specified ImageId, you cannot specify this parameter.', 'type' => 'string', 'required' => false, 'example' => 'hangzhou-daily-update', 'title' => ''], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => ['description' => 'The zone ID of the ECS instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-g', 'title' => ''], + ], + [ + 'name' => 'DedicatedHostId', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to create the ECS instance on a dedicated host. Because dedicated hosts do not support the creation of spot instances, the SpotStrategy and SpotPriceLimit settings in the request are automatically ignored when you specify DedicatedHostId.'."\n" + ."\n" + .'You can call [DescribeDedicatedHosts](~~134242~~) to query the list of dedicated host IDs.', 'type' => 'string', 'required' => false, 'example' => 'dh-bp67acfmxazb4p****', 'title' => ''], + ], + [ + 'name' => 'Affinity', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the instance on a dedicated host is associated with the dedicated host. Valid values:'."\n" + ."\n" + .'- default: The instance is not associated with the dedicated host. When an instance that has the economical mode enabled is restarted after it is stopped, the instance is deployed on another dedicated host in the automatic deployment resource pool if the resources of the original dedicated host are insufficient.'."\n" + ."\n" + .'- host: The instance is associated with the dedicated host. When an instance that has the economical mode enabled is restarted after it is stopped, the instance remains on the original dedicated host. If the resources of the original dedicated host are insufficient, the instance fails to restart.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], + ], + [ + 'name' => 'Tenancy', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to create the instance on a dedicated host. Valid values:'."\n" + ."\n" + .'- default: creates a non-dedicated-host instance.'."\n" + ."\n" + .'- host: creates a dedicated-host instance. If you do not specify DedicatedHostId, Alibaba Cloud automatically selects a dedicated host for the instance.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], + ], + [ + 'name' => 'SchedulerOptions', + 'in' => 'query', + 'style' => 'json', + 'schema' => ['description' => 'The scheduler options.', 'type' => 'object', 'required' => false, 'example' => '["testManagedPrivateSpaceId****"]', 'title' => ''], + ], + [ + 'name' => 'PrivatePoolOptions.MatchCriteria', + 'in' => 'query', + 'schema' => ['description' => 'The private pool option for launching the instance. A private pool is generated when an elasticity assurance or capacity reservation takes effect. You can select a private pool when you start an instance. Valid values:'."\n" + ."\n" + .'- Open: open mode. The system automatically matches an open private pool. If no matching private pool is available, the system uses resources from the public pool. You do not need to specify PrivatePoolOptions.Id.'."\n" + ."\n" + .'- Target: specified mode. The instance is started by using the capacity of the specified private pool. If the specified private pool is unavailable, the instance fails to start. You must specify the private pool ID, which means that PrivatePoolOptions.Id is required.'."\n" + ."\n" + .'- None: no private pool is used. The instance does not use private pool capacity.', 'type' => 'string', 'required' => false, 'example' => 'Open', 'title' => ''], + ], + [ + 'name' => 'PrivatePoolOptions.Id', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the private pool. The ID of an elasticity assurance or capacity reservation.', 'type' => 'string', 'required' => false, 'example' => 'eap-bp67acfmxazb4****', 'title' => ''], + ], + [ + 'name' => 'SpotDuration', + 'in' => 'query', + 'schema' => ['description' => 'The protection period of the spot instance. Unit: hours. Valid values:'."\n" + ."\n" + .'- 1: After a spot instance is created, Alibaba Cloud ensures that the instance is not automatically released within 1 hour. After the 1-hour protection period ends, the system compares the bid price with the market price and checks the resource inventory to determine whether to retain automatic release the instance.'."\n" + .'- 0: After a spot instance is created, Alibaba Cloud does not ensure that the instance runs for 1 hour. The system compares the bid price with the market price and checks the resource inventory to determine whether to retain automatic release the instance.'."\n" + ."\n" + .'> Alibaba Cloud sends an ECS system event notification 5 minutes before the instance is released. Spot instances are billed by second. Select an appropriate protection period based on the expected task execution duration.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'SpotInterruptionBehavior', + 'in' => 'query', + 'schema' => ['description' => 'The interruption pattern of the spot instance. Only Terminate (default) is supported, which directly releases the instance.', 'type' => 'string', 'required' => false, 'example' => 'Terminate', 'title' => ''], + ], + [ + 'name' => 'DataDisk', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The list of data cloud disks.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of data cloud disks.', + 'type' => 'object', + 'properties' => [ + 'PerformanceLevel' => ['description' => 'The performance level (PL) of the data cloud disk when the disk is an ESSD. The value of N must be consistent with the N in DataDisk.N.Category=cloud_essd. Valid values:'."\n" + ."\n" + .'- PL0: A single ESSD can deliver up to 10,000 random read/write IOPS.'."\n" + .'- PL1: A single ESSD can deliver up to 50,000 random read/write IOPS.'."\n" + .'- PL2: A single ESSD can deliver up to 100,000 random read/write IOPS.'."\n" + .'- PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'> For more information about how to select an ESSD performance level, see [ESSDs](~~122389~~).', 'type' => 'string', 'required' => false, 'example' => 'PL1', 'title' => ''], + 'AutoSnapshotPolicyId' => ['description' => 'The ID of the automatic snapshot policy applied to data cloud disk N. Valid values of N: 1 to 16.', 'type' => 'string', 'required' => false, 'example' => 'sp-bp19nq9enxqkomib****', 'title' => ''], + 'Encrypted' => ['description' => 'Specifies whether data cloud disk N is encrypted. Valid values of N: 1 to 16. Valid values:'."\n" + ."\n" + .'- true: encrypted.'."\n" + .'- false: not encrypted.', 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''], + 'Description' => ['description' => 'The description of data cloud disk N. Valid values of N: 1 to 16. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Test data disk.', 'title' => ''], + 'SnapshotId' => ['description' => 'The ID of the snapshot used to create data cloud disk N. Valid values of N: 1 to 16. After you specify this parameter, DataDisk.N.Size is ignored. The actual size of the created cloud disk is the size of the specified snapshot.'."\n" + ."\n" + .'If the snapshot was created on or before July 15, 2013, the call is rejected and InvalidSnapshot.TooOld is returned.', 'type' => 'string', 'required' => false, 'example' => 's-snapshot****', 'title' => ''], + 'Categories' => [ + 'description' => 'The multiple disk types of data cloud disk N. The first N indicates the Nth data cloud disk. Valid values: 1 to 16. The second N indicates the Nth disk type for the data cloud disk. Valid values: 1 to 4. A scaling configuration supports up to 4 disk types for a data cloud disk. A smaller value of N indicates a higher priority. When a higher-priority disk type is unavailable, Auto Scaling automatically attempts the next-priority disk type to create the data cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance property of a basic cloud disk created together with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.'."\n" + .'- cloud_regional_disk_auto: regional ESSD.'."\n" + ."\n" + .'> You cannot specify this parameter together with DataDisk.N.Category.', + 'type' => 'array', + 'items' => ['description' => 'The multiple disk types of data cloud disk N. The first N indicates the Nth data cloud disk. Valid values: 1 to 16. The second N indicates the Nth disk type for the data cloud disk. Valid values: 1 to 4. A scaling configuration supports up to 4 disk types for a data cloud disk. A smaller value of N indicates a higher priority. When a higher-priority disk type is unavailable, Auto Scaling automatically attempts the next-priority disk type to create the data cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance property of a basic cloud disk created together with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + ."\n" + .'> You cannot specify this parameter together with DataDisk.N.Category.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''], + 'required' => false, + 'example' => 'cloud', + 'maxItems' => 10, + 'title' => '', + ], + 'Size' => ['description' => 'The size of data cloud disk N. Valid values of N: 1 to 16. Unit: GiB. Valid values:'."\n" + ."\n" + .'- cloud: 5 to 2000.'."\n" + .'- cloud_efficiency: 20 to 32768.'."\n" + .'- cloud_essd: 20 to 32768.'."\n" + .'- ephemeral_ssd: 5 to 800.'."\n" + ."\n" + .'The value of this parameter must be greater than or equal to the size of the snapshot specified by SnapshotId.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'Device' => ['description' => 'The mount point of data cloud disk N. Valid values of N: 1 to 16. If you do not specify this parameter, the default behavior during automatic creation of the ECS instance is that the system allocates a mount point, ranging from /dev/xvdb to /dev/xvdz.', 'type' => 'string', 'required' => false, 'example' => '/dev/xvdb', 'title' => ''], + 'DiskName' => ['description' => 'The name of data cloud disk N. Valid values of N: 1 to 16. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (\\_), and hyphens (-). It must start with a letter or Chinese character and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssdData', 'title' => ''], + 'Category' => ['description' => 'The category of data cloud disk N. Valid values of N: 1 to 16. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance property of a basic cloud disk created together with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.'."\n" + .'- cloud_regional_disk_auto: regional ESSD.'."\n" + ."\n" + .'You cannot specify this parameter together with DataDisk.N.Categories.N. If neither this parameter nor DataDisk.N.Categories.N is specified, the default value is used:'."\n" + ."\n" + .'- For I/O optimized instances, the default value is cloud_efficiency.'."\n" + ."\n" + .'- For non-I/O optimized instances, the default value is cloud.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssd', 'title' => ''], + 'DeleteWithInstance' => ['description' => 'Specifies whether data cloud disk N is released when the instance is released. Valid values of N: 1 to 16. Valid values:'."\n" + ."\n" + .'- true: The cloud disk is released when the instance is released.'."\n" + .'- false: The cloud disk is retained when the instance is released.'."\n" + ."\n" + .'This parameter can be specified only for independent cloud disks (DataDisk.N.Category is set to cloud, cloud_efficiency, cloud_ssd, or cloud_essd). An error is returned if you specify this parameter for other types of cloud disks.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'KMSKeyId' => ['description' => 'The ID of the KMS key for data cloud disk N. Valid values of N: 1 to 16.', 'type' => 'string', 'required' => false, 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'title' => ''], + 'ProvisionedIops' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metrics of the data cloud disk.'."\n" + ."\n" + .'> IOPS refers to the number of read and write (output/input) operations that a block storage device can process per second.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100', 'title' => ''], + 'BurstingEnabled' => ['description' => 'Specifies whether to enable the burst (performance burst) feature for the data cloud disk. Valid values:'."\n" + ."\n" + .'- true: enabled.'."\n" + .'- false: not enabled. '."\n" + .'> This parameter is supported only when DataDisk.Category is set to cloud_auto.'."\n" + ."\n" + .'For more information, see [ESSD AutoPL cloud disks](~~368372~~).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 16, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'SpotPriceLimit', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The collection of spot instance information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of spot instance information.', + 'type' => 'object', + 'properties' => [ + 'PriceLimit' => ['description' => 'The bid price for the spot instance. Valid values of N: 1 to 20. This parameter takes effect only when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.125', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type of the spot instance. Valid values of N: 1 to 20. This parameter takes effect only when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'InstanceTypes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The instance types for multiple instance type support. If InstanceTypes.N is specified, InstanceType is ignored. Valid values of N: 1 to 20. A scaling configuration supports up to 20 instance types.'."\n" + ."\n" + .'N indicates the priority of the instance type in the scaling configuration. Instance type 1 has the highest priority. The priority decreases as the number increases. When an instance cannot be created by using a higher-priority instance type, Auto Scaling automatically selects the next-priority instance type.', + 'type' => 'array', + 'items' => ['description' => 'The instance types for multiple instance type support. If InstanceTypes.N is specified, InstanceType is ignored. Valid values of N: 1 to 20. A scaling configuration supports up to 20 instance types.'."\n" + ."\n" + .'N indicates the priority of the instance type in the scaling configuration. Instance type 1 has the highest priority. The priority decreases as the number increases. When an instance cannot be created by using a higher-priority instance type, Auto Scaling automatically selects the next-priority instance type.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], + 'required' => false, + 'example' => 'ecs.g6.large', + 'maxItems' => 20, + 'title' => '', + ], + ], + [ + 'name' => 'InstanceTypeOverride', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The information about instance types.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about instance types.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'To specify the capacity of instance types in the scaling configuration, specify both this parameter and InstanceTypeOverride.N.WeightedCapacity.'."\n" + ."\n" + .'This parameter specifies the instance type. You can specify N values for this parameter. Combined with the InstanceTypeOverride.N.WeightedCapacity parameter, this extends multi-instance-type support with custom weights. Valid values of N: 1 to 20.'."\n" + .'> You cannot specify this parameter together with InstanceTypes.'."\n" + ."\n" + .'Valid values of InstanceType: ECS instance types that are available for purchase. For more information, see [Instance families](~~25378~~).', 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.xlarge', 'title' => ''], + 'WeightedCapacity' => ['description' => 'To specify the capacity of instance types in the scaling configuration, specify this parameter after you specify InstanceTypeOverride.N.InstanceType. The two parameters correspond one-to-one, and the values of N must be consistent.'."\n" + ."\n" + .'This parameter specifies the weight of the instance type, which represents the capacity of a single instance of this type in the scaling group. A larger weight means fewer instances of this type are required to meet the expected capacity.'."\n" + ."\n" + .'Because instance types differ in vCPU count, memory size, and other performance metrics, you can assign different weights to different instance types based on your requirements.'."\n" + ."\n" + .' Example:'."\n" + ."\n" + .'- Current capacity: 0.'."\n" + .'- Expected number of instances: 6.'."\n" + .'- Capacity of ecs.c5.xlarge: 4.'."\n" + ."\n" + .'To meet the expected capacity, the scaling group scales out 2 ecs.c5.xlarge instances.'."\n" + ."\n" + .'> During scale-out, the capacity of the scaling group cannot exceed the sum of the maximum capacity (MaxSize) and the maximum weight of the instance types.'."\n" + ."\n" + .'Valid values of WeightedCapacity: 1 to 500.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'SecurityGroupIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the security groups to which the ECS instance is added. The valid values of N depend on the maximum number of security groups to which an instance can belong. For more information, see the security group section in [Limits](~~25412~~).'."\n" + ."\n" + .'> You cannot specify both SecurityGroupId and SecurityGroupIds.N.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the security group.', 'type' => 'string', 'required' => false, 'example' => 'sg-bp18kz60mefs****', 'title' => ''], + 'required' => false, + 'example' => 'sg-bp18kz60mefs****', + 'maxItems' => 16, + 'title' => '', + ], + ], + [ + 'name' => 'InstancePatternInfo', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The information about instance types in intelligent mode.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about instance types in intelligent mode.', + 'type' => 'object', + 'properties' => [ + 'Cores' => ['description' => 'The number of vCPU cores of the instance type in intelligent configuration mode, which is used to filter instance types that meet the requirements. For more information, see [Instance families](~~25378~~). Valid values of N: 1 to 10.'."\n" + ."\n" + .'Note the following information:'."\n" + ."\n" + .'- The InstancePatternInfo.N parameter applies only to scaling groups whose network type is VPC.'."\n" + ."\n" + .'- You must specify both InstancePatternInfo.N.Cores and InstancePatternInfo.N.Memory when you use InstancePatternInfo.N.'."\n" + ."\n" + .'- If you have specified instance types by using the InstanceType or InstanceTypes.N parameter, Auto Scaling preferentially uses the specified instance types for scale-out. When the specified instance types are out of stock, Auto Scaling selects the lowest-priced instance type from those that match the InstancePatternInfo.N values.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'InstanceFamilyLevel' => ['description' => 'The level of the instance family in intelligent configuration mode, which is used to filter instance types that meet the requirements. Valid values:'."\n" + ."\n" + .'- EntryLevel: entry level, which refers to shared instance types. These instance types are more cost-effective but do not guarantee stable computing performance. They are suitable for scenarios with low CPU utilization. For more information, see [Shared instance families](~~108489~~).'."\n" + .'- EnterpriseLevel: enterprise level. These instance types provide stable performance and dedicated resources. They are suitable for scenarios that require high stability. For more information, see [Instance families](~~25378~~).'."\n" + .'- CreditEntryLevel: credit-based entry level, which refers to burstable instances. These instance types use CPU credits to ensure computing performance. They are suitable for scenarios with low average CPU utilization and occasional bursts. For more information, see [Overview of burstable instances](~~59977~~).'."\n" + ."\n" + .'Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'EnterpriseLevel', 'title' => ''], + 'MaxPrice' => ['description' => 'The maximum hourly price for pay-as-you-go or spot instances in intelligent configuration mode, which is used to filter instance types that meet the requirements. Valid values of N: 1 to 10.'."\n" + ."\n" + .'> This parameter is required when SpotStrategy is set to SpotWithPriceLimit. In other cases, this parameter is optional.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2', 'title' => ''], + 'Memory' => ['description' => 'The memory size of the instance type in intelligent configuration mode. Unit: GiB. This parameter is used to filter instance types that meet the requirements. For more information, see [Instance families](~~25378~~). Valid values of N: 1 to 10.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'Architecture' => [ + 'description' => 'The architecture type of the instance type. Valid values:'."\n" + ."\n" + .'- X86: x86 computing.'."\n" + .'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n" + .'- BareMental: Elastic Compute Service Bare Metal Instance server.'."\n" + .'- Arm: Arm computing.'."\n" + ."\n" + .'Default value: all architecture types are included.', + 'type' => 'array', + 'items' => ['description' => 'The architecture type of the instance type. Valid values:'."\n" + ."\n" + .'- X86: x86 computing.'."\n" + .'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n" + .'- BareMental: Elastic Compute Service Bare Metal Instance server.'."\n" + .'- Arm: Arm computing.'."\n" + ."\n" + .'Default value: all architecture types are included.', 'type' => 'string', 'required' => false, 'example' => 'X86', 'title' => ''], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', + ], + 'BurstablePerformance' => ['description' => 'Specifies whether to include burstable instance types. Valid values:'."\n" + ."\n" + .'- Exclude: Burstable instance types are excluded.'."\n" + .'- Include: Burstable instance types are included.'."\n" + .'- Required: Only burstable instance types are included.'."\n" + ."\n" + .'Default value: Include.', 'type' => 'string', 'required' => false, 'example' => 'Include', 'title' => ''], + 'ExcludedInstanceType' => [ + 'description' => 'The instance types to exclude. You can use wildcard characters (*) to exclude a single instance type or an entire instance family. Examples:'."\n" + ."\n" + .'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n" + .'- ecs.c6.*: excludes the entire c6 instance family.', + 'type' => 'array', + 'items' => ['description' => 'The instance types to exclude. You can use wildcard characters (*) to exclude a single instance type or an entire instance family. Examples:'."\n" + ."\n" + .'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n" + .'- ecs.c6.*: excludes the entire c6 instance family.'."\n" + ."\n" + .'> To exclude multiple instance types, separate them with forward slashes (/). Example: `ecs.n1.small/ecs.n1.*/*7*`.', 'type' => 'string', 'required' => false, 'example' => 'ecs.n1.small/ecs.n1.*/*7*', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + 'InstanceTypeFamilies' => [ + 'description' => 'The specified instance families.', + 'type' => 'array', + 'items' => ['description' => 'The specified instance families. N indicates that you can specify multiple instance families. Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => '["ecs.g6", "ecs.c6", … "ecs.r6"]', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', + ], + 'MinimumCpuCoreCount' => ['description' => 'The minimum number of vCPU cores of the instance type.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MaximumCpuCoreCount' => ['description' => 'The maximum number of vCPU cores of the instance type.'."\n" + ."\n" + .'> The value of MaximumCpuCoreCount cannot exceed 4 times the value of MinimumCpuCoreCount.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], + 'GpuSpecs' => [ + 'description' => 'The specified GPU types.', + 'type' => 'array', + 'items' => ['description' => 'The specified GPU types.', 'type' => 'string', 'required' => false, 'example' => '["NVIDIA V100"]', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', + ], + 'InstanceCategories' => [ + 'description' => 'The categorization of instance types. Valid values:'."\n" + ."\n" + .'- General-purpose: general-purpose.'."\n" + .'- Compute-optimized: compute-optimized.'."\n" + .'- Memory-optimized: memory-optimized.'."\n" + .'- Big data: big data.'."\n" + .'- Local SSDs: local SSD.'."\n" + .'- High Clock Speed: high frequency.'."\n" + .'- Enhanced: enhanced.'."\n" + .'- Shared: shared.'."\n" + .'- Compute-optimized with GPU: GPU-accelerated instances.'."\n" + .'- Visual Compute-optimized: visual compute-optimized.'."\n" + .'- Heterogeneous Service: heterogeneous service.'."\n" + .'- Compute-optimized with FPGA: FPGA compute-optimized.'."\n" + .'- Compute-optimized with NPU: NP', + 'type' => 'array', + 'items' => ['description' => 'The instance type categorization.'."\n" + .'>N specifies that you can set multiple instance categories. Valid values of N: 1 to 10.'."\n" + ."\n" + .'- General-purpose: general-purpose'."\n" + .'- Compute-optimized: compute-optimized'."\n" + .'- Memory-optimized: memory-optimized'."\n" + .'- Big data: big data'."\n" + .'- Local SSDs: local SSD'."\n" + .'- High Clock Speed: high frequency'."\n" + .'- Enhanced: enhanced'."\n" + .'- Shared: shared'."\n" + .'- Compute-optimized with GPU: GPU computing'."\n" + .'- Visual Compute-optimized: visual compute-optimized'."\n" + .'- Heterogeneous Service: heterogeneous service'."\n" + .'- Compute-optimized with FPGA: FPGA-accelerated compute-optimized'."\n" + .'- Compute-optimized with NPU: NPU-accelerated compute-optimized'."\n" + .'- ECS Bare Metal: ECS Bare Metal Instance server'."\n" + .'- High Performance Compute: high-performance computing (HPC)', 'type' => 'string', 'required' => false, 'example' => 'Compute-optimized with GPU', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', + ], + 'CpuArchitectures' => [ + 'description' => 'The CPU architectures of the instance.', + 'type' => 'array', + 'items' => ['description' => 'The CPU architectures of the instance. Valid values:'."\n" + .'> N indicates that you can specify multiple CPU architectures. Valid values of N: 1 to 2.'."\n" + ."\n" + .'- X86.'."\n" + .'- ARM.'."\n" + .'[_single.params.InstancePatternInfo.items.PhysicalProcessorModels.desc', 'type' => 'string', 'required' => false, 'example' => '["X86", "ARM"]', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', + ], + 'PhysicalProcessorModels' => [ + 'description' => 'The processor model of the instance.', + 'type' => 'array', + 'items' => ['description' => 'The processor model of the instance. N specifies that you can set multiple processor models. Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => '["Intel Xeon(Ice Lake) Platinum 8369B", "Intel Xeon(Skylake) Platinum 8163", … "Intel Xeon(Cascade Lake) Platinum 8269CY"]', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', + ], + 'MinimumEniQuantity' => ['description' => 'The expected minimum number of elastic network interfaces (ENIs) supported by the instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MinimumEniPrivateIpAddressQuantity' => ['description' => 'The expected minimum number of IPv4 addresses per elastic network interface (ENI) for the instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MinimumEniIpv6AddressQuantity' => ['description' => 'The expected minimum number of IPv6 addresses per elastic network interface (ENI) for the instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'MinimumInitialCredit' => ['description' => 'The expected minimum initial vCPU credits for burstable instances (t5 and t6).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12', 'title' => ''], + 'MinimumBaselineCredit' => ['description' => 'The expected minimum baseline vCPU computing performance (sum of all vCPUs) for burstable instances (t5 and t6).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12', 'title' => ''], + 'MinimumMemorySize' => ['description' => 'The expected minimum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'MaximumMemorySize' => ['description' => 'The expected maximum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'MinimumGpuAmount' => ['description' => 'The expected minimum number of GPUs for the instance. Valid values: positive integers ≥ 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MaximumGpuAmount' => ['description' => 'The expected maximum number of GPUs for the instance. Valid values: positive integers ≥ 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'SystemDiskCategories', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The multiple disk types for the system cloud disk. Valid values of N: 1 to 4. You can specify up to four disk types for the system cloud disk in a scaling configuration. A smaller value of N indicates a higher priority. When a disk type with a higher priority is unavailable, Auto Scaling automatically attempts the next-priority disk type to create the system cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + ."\n" + .'> You cannot specify this parameter and `SystemDisk.Category` at the same time.', + 'type' => 'array', + 'items' => ['description' => 'The multiple disk types for the system cloud disk. Valid values of N: 1 to 4. You can specify up to four disk types for the system cloud disk in a scaling configuration. A smaller value of N indicates a higher priority. When a disk type with a higher priority is unavailable, Auto Scaling automatically attempts the next-priority disk type to create the system cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + ."\n" + .'> You cannot specify this parameter and `SystemDisk.Category` at the same time.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''], + 'required' => false, + 'example' => 'cloud', + 'maxItems' => 10, + 'title' => '', + ], + ], + [ + 'name' => 'Password', + 'in' => 'query', + 'schema' => ['description' => 'The password of the ECS instance. The password must be 8 to 30 characters in length and must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. The following special characters are supported:'."\n" + ."\n" + .'`()~!@#$%^&*-_+=\\|{}[]:;\'<>,.?/'."\n" + ."\n" + .'For Windows instances, the password cannot start with a forward slash (/).'."\n" + ."\n" + .'> If you specify the Password parameter, use HTTPS to send the request to avoid password leaks.', 'type' => 'string', 'required' => false, 'example' => '123abc****', 'title' => ''], + ], + [ + 'name' => 'SystemDisk.Encrypted', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to encrypt the system cloud disk. Valid values:'."\n" + ."\n" + .'- true: Encrypted.'."\n" + .'- false: Not encrypted.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'SystemDisk.KMSKeyId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the KMS key used for the system cloud disk.', 'type' => 'string', 'required' => false, 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'title' => ''], + ], + [ + 'name' => 'SystemDisk.EncryptAlgorithm', + 'in' => 'query', + 'schema' => ['description' => 'The encryption algorithm used for the system cloud disk. Valid values:'."\n" + ."\n" + .'- AES-256.'."\n" + .'- SM4-128.'."\n" + ."\n" + .'Default value: AES-256.', 'type' => 'string', 'required' => false, 'example' => 'AES-256', 'title' => ''], + ], + [ + 'name' => 'SystemDisk.ProvisionedIops', + 'in' => 'query', + 'schema' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metrics for the system cloud disk.'."\n" + ."\n" + .'> IOPS (Input/Output Operations Per Second) measures the number of read and write (output/input) operations that a block storage device can process per second.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100', 'title' => ''], + ], + [ + 'name' => 'SystemDisk.BurstingEnabled', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable Burst (performance burst) for the system cloud disk. Valid values:'."\n" + ."\n" + .'- true: Enabled.'."\n" + .'- false: Not enabled. '."\n" + .'> This parameter is supported only when `SystemDisk.Category` is set to `cloud_auto`.'."\n" + ."\n" + .'For more information, see [ESSD AutoPL cloud disks](~~368372~~).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'ImageOptions.LoginAsNonRoot', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the ECS instance uses the ecs-user account for logon. For more information, see [Manage the logon name of an ECS instance](~~388447~~). Valid values:'."\n" + ."\n" + .'- true: Yes.'."\n" + ."\n" + .'- false: No.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'DeletionProtection', + 'in' => 'query', + 'schema' => ['description' => 'The release protection property of the ECS instance. This property applies only to pay-as-you-go instances and specifies whether the instance can be directly released from the ECS console or by calling the DeleteInstance operation. Valid values:'."\n" + .'- true: Enables release protection, which prevents the instance from being directly released from the ECS console or by calling the API operation. This prevents instances created during scale-out from being accidentally deleted.'."\n" + .'- false: Disables release protection, which allows the instance to be directly released from the ECS console or by calling the API operation.'."\n" + ."\n" + .'>This property does not affect normal scale-in activities of Auto Scaling. Pay-as-you-go instances with release protection enabled can still be released during scale-in activities.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'StorageSetId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the storage set.', 'type' => 'string', 'required' => false, 'example' => 'ss-bp67acfmxazb4p****', 'title' => ''], + ], + [ + 'name' => 'StorageSetPartitionNumber', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of partitions in the storage set. Valid values: integers ≥ 2.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'CustomPriorities', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The custom priority of the **ECS instance type + vSwitch** combination.'."\n" + ."\n" + .'>This parameter takes effect only when the ``scaling policy`` of the scaling group is set to `Priority`.'."\n" + ."\n" + .'When an ECS instance cannot be created based on a higher-priority **ECS instance type + vSwitch** combination, Auto Scaling automatically selects the next-priority **ECS instance type + vSwitch** combination to create the instance.'."\n" + ."\n" + .'>If you specify custom priorities for only some **ECS instance type + vSwitch** combinations, the unspecified combinations have lower priorities than the specified ones. The unspecified combinations are still prioritized based on the vSwitch order of the scaling group and the instance type order of the scaling configuration. For example, if the vSwitch order of the scaling group is vsw1 and vsw2, the instance type order of the scaling configuration is type1 and type2, and the custom priority order is `["vsw2+type2", "vsw1+type2"]`, the final priority is `vsw2+type2` > `vsw1+type2` > `vsw1+type1` > `vsw2+type1`.', + 'type' => 'array', + 'items' => [ + 'description' => 'The custom priority of the **ECS instance type + vSwitch** combination.'."\n" + ."\n" + .'>This parameter takes effect only when the ``scaling policy`` of the scaling group is set to `Priority`.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The `CustomPriorities` field specifies the custom priority of the **ECS instance type + vSwitch** combination. The `CustomPriorities.N.InstanceType` parameter specifies the instance type in the custom priority.'."\n" + ."\n" + .'>This parameter takes effect only when the ``scaling policy`` of the scaling group is set to `Priority`. The instance type (InstanceType) must be included in the instance type list of the scaling configuration.'."\n" + ."\n" + .'When an ECS instance cannot be created based on a higher-priority **ECS instance type + vSwitch** combination, Auto Scaling automatically selects the next-priority **ECS instance type + vSwitch** combination to create the instance.'."\n" + ."\n" + .'>If you specify custom priorities for only some **ECS instance type + vSwitch** combinations, the unspecified combinations have lower priorities than the specified ones. The unspecified combinations are still prioritized based on the vSwitch order of the scaling group and the instance type order of the scaling configuration. For example, if the vSwitch order of the scaling group is vsw1 and vsw2, the instance type order of the scaling configuration is type1 and type2, and the custom priority order is `["vsw2+type2", "vsw1+type2"]`, the final priority is `vsw2+type2` > `vsw1+type2` > `vsw1+type1` > `vsw2+type1`.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], + 'VswitchId' => ['description' => 'The `CustomPriorities.N.VswitchId` parameter specifies the ID of the vSwitch in the custom priority.'."\n" + ."\n" + .'>This parameter takes effect only when the ``scaling policy`` of the scaling group is set to `Priority`. The vSwitch must be included in the vSwitch list of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp14zolna43z266bq****', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'NetworkInterfaces', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The list of elastic network interfaces (ENIs).', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of elastic network interfaces (ENIs).', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The type of the elastic network interface (ENI). When you use this parameter, you must set the primary elastic network interface (ENI) by using `NetworkInterfaces.N`, but you cannot specify `SecurityGroupId` or `SecurityGroupIds.N` at the same time. Valid values:'."\n" + ."\n" + .'- Primary: primary elastic network interface (ENI).'."\n" + ."\n" + .'- Secondary: secondary elastic network interface (ENI).'."\n" + ."\n" + .'Default value: Secondary.', 'type' => 'string', 'required' => false, 'example' => 'Primary', 'title' => ''], + 'NetworkInterfaceTrafficMode' => ['description' => 'The communication mode of the network interface controller (NIC). Valid values:'."\n" + ."\n" + .'- Standard: uses the TCP communication mode.'."\n" + .'- HighPerformance: enables the Elastic RDMA Interface (ERI) and uses the RDMA communication mode.'."\n" + ."\n" + .'Default value: Standard.'."\n" + .'>The number of elastic network interfaces (ENIs) in RDMA mode cannot exceed the limit of the instance family. For more information, see [Instance families](~~25378~~).', 'type' => 'string', 'required' => false, 'example' => 'HighPerformance', 'title' => ''], + 'Ipv6AddressCount' => ['description' => 'The number of randomly generated IPv6 addresses for the primary ENI. Note the following items:'."\n" + ."\n" + .'- This parameter takes effect only when `NetworkInterfaces.N.InstanceType` is set to `Primary`.'."\n" + .'- You cannot set this parameter when `NetworkInterfaces.N.InstanceType` is set to `Secondary` or left empty.'."\n" + .'- After you set this parameter, you cannot set the `Ipv6AddressCount` parameter.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'SecurityGroupIds' => [ + 'description' => 'The IDs of one or more security groups to which the elastic network interface (ENI) belongs.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of one or more security groups to which the elastic network interface (ENI) belongs. Note the following items:'."\n" + ."\n" + .'- If `NetworkInterfaces.N.InstanceType` is set to `Primary`, this parameter is required. In this case, this parameter has the same effect as `SecurityGroupIds.N`, but you cannot set `SecurityGroupId` or `SecurityGroupIds.N` at the same time.'."\n" + ."\n" + .'- If `NetworkInterfaces.N.InstanceType` is set to `Secondary` or left empty, this parameter is optional. The default value is the security group of the ECS instance (the security group of the primary elastic network interface (ENI)).', 'type' => 'string', 'required' => false, 'example' => 'sg-2ze55shrh****', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + 'SecondaryPrivateIpAddressCount' => ['description' => 'The number of secondary private IPv4 addresses to assign to the ENI. Valid values: 1 to 49.'."\n" + ."\n" + .'- The value cannot exceed the limit on the number of IP addresses for the instance type. For more information, see [Instance families](~~25378~~).'."\n" + .'- NetworkInterface.N.SecondaryPrivateIpAddressCount specifies the number of secondary private IPv4 addresses to assign to the ENI (excluding the primary private IP address of the ENI). The system randomly assigns IP addresses from the available CIDR block of the vSwitch (NetworkInterface.N.VSwitchId) associated with the ENI.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'DedicatedHostClusterId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the dedicated host cluster.', 'type' => 'string', 'required' => false, 'example' => 'dc-2zedxc67zqzt7lb4****', 'title' => ''], + ], + [ + 'name' => 'SecurityOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The security options.', + 'type' => 'object', + 'properties' => [ + 'ConfidentialComputingMode' => ['description' => 'The confidential computing mode. Valid values:'."\n" + .'- Enclave: indicates that the ECS instance uses Enclave to build a confidential computing environment. For more information, see [Build a confidential computing environment by using Enclave](~~203433~~).'."\n" + .'- TDX: indicates that a TDX confidential computing environment is built. For more information, see [Build a TDX confidential computing environment](~~479090~~).', 'type' => 'string', 'required' => false, 'example' => 'TDX', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'HttpEndpoint', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the access channel for instance metadata. Valid values:'."\n" + ."\n" + .'- enabled: Enabled.'."\n" + .'- disabled: Disabled.'."\n" + ."\n" + .'Default value: enabled.'."\n" + ."\n" + .'> For more information about instance metadata, see [Overview of instance metadata](~~108460~~).', 'type' => 'string', 'required' => false, 'example' => 'enabled', 'title' => ''], + ], + [ + 'name' => 'HttpTokens', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to forcefully use the security-hardened mode (IMDSv2) when accessing instance metadata. Valid values:'."\n" + ."\n" + .'- optional: Does not forcefully use.'."\n" + .'- required: Forcefully uses. After this value is set, instance metadata cannot be accessed in normal mode.'."\n" + ."\n" + .'Default value: optional.'."\n" + ."\n" + .'> For more information about instance metadata access modes, see [Instance metadata access modes](~~108460~~).', 'type' => 'string', 'required' => false, 'example' => 'optional', 'title' => ''], + ], + [ + 'name' => 'InternetMaxBandwidthIn', + 'in' => 'query', + 'schema' => ['description' => 'The maximum inbound public bandwidth. Unit: Mbit/s. Valid values:'."\n" + ."\n" + .'- If the purchased maximum outbound public bandwidth is less than or equal to 10 Mbit/s: 1 to 10. Default value: 10.'."\n" + .'- If the purchased maximum outbound public bandwidth is greater than 10 Mbit/s: 1 to the value of `InternetMaxBandwidthOut`. Default value: the value of `InternetMaxBandwidthOut`.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'ResourcePoolOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The resource pool policy used when creating instances. After you set this parameter, note the following items:'."\n" + ."\n" + .'- This parameter takes effect only when creating pay-as-you-go instances.'."\n" + ."\n" + .'- This parameter cannot be set together with PrivatePoolOptions.MatchCriteria or PrivatePoolOptions.Id.', + 'type' => 'object', + 'properties' => [ + 'Strategy' => ['description' => 'Resource pools include private pools generated after elasticity assurance or capacity reservation takes effect, and public pools, which are available for instance startup. Valid values:'."\n" + ."\n" + .'- PrivatePoolFirst: Private pool first. When this strategy is selected and ResourcePoolOptions.PrivatePoolIds is specified or PrivatePoolTags conditions are met, the corresponding private pools are used first. If no private pool is specified or the specified private pool has insufficient capacity, open-type private pools are automatically matched. If no matching private pool is available, the public pool is used to create instances.'."\n" + ."\n" + .'- PrivatePoolOnly: Private pool only. When this strategy is selected, you must specify ResourcePoolOptions.PrivatePoolIds. If the specified private pool has insufficient capacity, instance creation fails.'."\n" + ."\n" + .'- PublicPoolFirst: Public pool first. The public pool is used first to create instances. When public pool resources are insufficient, private pool resources are used as a supplement. Open-type private pools are automatically matched first. If no matching private pool is available, the Target-type private pools specified by ResourcePoolOptions.PrivatePoolIds or matching PrivatePoolTags conditions are used.'."\n" + .' > This strategy is in invitational preview and is not available for use.'."\n" + ."\n" + .'- None: Does not use a resource pool policy.'."\n" + ."\n" + .'Default value: None.', 'type' => 'string', 'required' => false, 'example' => 'PrivatePoolFirst', 'title' => ''], + 'PrivatePoolIds' => [ + 'description' => 'The IDs of private pools, which are elasticity assurance IDs or capacity reservation IDs. Only Target-type private pool IDs can be specified. This parameter cannot be specified together with the PrivatePoolTags parameter.', + 'type' => 'array', + 'items' => ['description' => 'The ID of a private pool, which is an elasticity assurance ID or capacity reservation ID. Only Target-type private pool IDs can be specified. This parameter cannot be specified together with the PrivatePoolTags parameter. Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'eap-bp67acfmxazb4****', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'PrivatePoolTags' => [ + 'description' => 'Filters available Target private pools by tag. Valid values of N: 1 to 20.'."\n" + .'Notes:'."\n" + ."\n" + .'- When this parameter is configured, the system filters only the Target private pools associated with the account that match the specified tags and satisfy the scaling group constraints (such as zone and instance type).'."\n" + ."\n" + .'- Tag matching rule: a private pool must match all specified tags.'."\n" + ."\n" + .'- This parameter cannot be specified together with the PrivatePoolIds parameter.', + 'type' => 'array', + 'items' => [ + 'description' => 'Filters available Target private pools by tag. Valid values of N: 1 to 20.'."\n" + .'Notes:'."\n" + ."\n" + .'- When this parameter is configured, the system filters only the Target private pools associated with the account that match the specified tags and satisfy the scaling group constraints (such as zone and instance type).'."\n" + ."\n" + .'- Tag matching rule: a private pool must match all specified tags.'."\n" + ."\n" + .'- This parameter cannot be specified together with the PrivatePoolIds parameter.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the private pool.'."\n" + ."\n" + .'Filters available Target private pools by tag. Valid values of N: 1 to 20.'."\n" + .'Notes:'."\n" + ."\n" + .'- When this parameter is configured, the system filters only the Target private pools associated with the account that match the specified tags and satisfy the scaling group constraints (such as zone and instance type).'."\n" + ."\n" + .'- Tag matching rule: a private pool must match all specified tags.'."\n" + ."\n" + .'- This parameter cannot be specified together with the PrivatePoolIds parameter.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], + 'Value' => ['description' => 'The tag value of the private pool.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'Forbidden.RiskControl', - 'errorMessage' => 'Forbidden.RiskControl', + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"TotalCount\\": 1,\\n \\"ScalingConfigurations\\": [\\n {\\n \\"CreationTime\\": \\"2014-08-14T10:58Z\\",\\n \\"ScalingConfigurationName\\": \\"scalingconfi****\\",\\n \\"SecurityGroupId\\": \\"sg-bp18kz60mefs****\\",\\n \\"ActiveDeadlineSeconds\\": 1000,\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"AutoCreateEip\\": true,\\n \\"ScalingGroupId\\": \\"asg-bp17pelvl720x3v7****\\",\\n \\"EphemeralStorage\\": 20,\\n \\"Ipv6AddressCount\\": 1,\\n \\"EipBandwidth\\": 5,\\n \\"ImageSnapshotId\\": \\"imc-2zebxkiifuyzzlhl****\\",\\n \\"Memory\\": 16,\\n \\"RestartPolicy\\": \\"Never\\",\\n \\"SpotPriceLimit\\": 0.025,\\n \\"IngressBandwidth\\": 1024000,\\n \\"CpuOptionsThreadsPerCore\\": 2,\\n \\"TerminationGracePeriodSeconds\\": 60,\\n \\"LoadBalancerWeight\\": 1,\\n \\"DnsPolicy\\": \\"Default\\",\\n \\"HostName\\": \\"[\'hehe.com\', \'haha.com\']\\",\\n \\"EgressBandwidth\\": 1024000,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"RamRoleName\\": \\"ram:PassRole\\",\\n \\"Cpu\\": 2,\\n \\"AutoMatchImageCache\\": false,\\n \\"ResourceGroupId\\": \\"rg-8db03793gfrz****\\",\\n \\"ContainerGroupName\\": \\"test\\",\\n \\"ScalingConfigurationId\\": \\"asc-bp1ezrfgoyn5kijl****\\",\\n \\"CpuOptionsCore\\": 2,\\n \\"Containers\\": [\\n {\\n \\"ReadinessProbeHttpGetPath\\": \\"/usr/local\\",\\n \\"ReadinessProbeSuccessThreshold\\": 1,\\n \\"LivenessProbePeriodSeconds\\": 5,\\n \\"LivenessProbeTcpSocketPort\\": 80,\\n \\"LivenessProbeHttpGetScheme\\": \\"HTTP\\",\\n \\"WorkingDir\\": \\"/usr/local/nginx\\",\\n \\"Tty\\": false,\\n \\"LivenessProbeHttpGetPort\\": 80,\\n \\"Gpu\\": 1,\\n \\"ReadinessProbeInitialDelaySeconds\\": 5,\\n \\"Stdin\\": true,\\n \\"Memory\\": 2,\\n \\"Name\\": \\"nginx\\",\\n \\"LivenessProbeHttpGetPath\\": \\"/usr/nginx/\\",\\n \\"Image\\": \\"mysql\\",\\n \\"ReadinessProbeTcpSocketPort\\": 8888,\\n \\"ReadinessProbeHttpGetScheme\\": \\"HTTP\\",\\n \\"ReadinessProbeHttpGetPort\\": 0,\\n \\"LivenessProbeSuccessThreshold\\": 1,\\n \\"ReadinessProbeTimeoutSeconds\\": 5,\\n \\"SecurityContextRunAsUser\\": 1000,\\n \\"LivenessProbeInitialDelaySeconds\\": 10,\\n \\"ReadinessProbePeriodSeconds\\": 1,\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"StdinOnce\\": true,\\n \\"Cpu\\": 2,\\n \\"LivenessProbeTimeoutSeconds\\": 10,\\n \\"ReadinessProbeFailureThreshold\\": 3,\\n \\"LivenessProbeFailureThreshold\\": 3,\\n \\"Ports\\": [\\n {\\n \\"Port\\": 8888,\\n \\"Protocol\\": \\"TCP\\"\\n }\\n ],\\n \\"VolumeMounts\\": [\\n {\\n \\"ReadOnly\\": false,\\n \\"SubPath\\": \\"data2/\\",\\n \\"Name\\": \\"default-volume1\\",\\n \\"MountPropagation\\": \\"None\\",\\n \\"MountPath\\": \\"/pod/data\\"\\n }\\n ],\\n \\"EnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/bin/\\"\\n }\\n ],\\n \\"Commands\\": [\\n \\"sleep\\"\\n ],\\n \\"LivenessProbeExecCommands\\": [\\n \\"cat/tmp/healthy\\"\\n ],\\n \\"Args\\": [\\n \\"100\\"\\n ],\\n \\"ReadinessProbeExecCommands\\": [\\n \\"cat/tmp/healthy\\"\\n ],\\n \\"SecurityContextCapabilityAdds\\": [\\n \\"NET_ADMIN\\"\\n ],\\n \\"LifecyclePostStartHandlerHttpGetHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePostStartHandlerHttpGetPort\\": 80,\\n \\"LifecyclePostStartHandlerHttpGetPath\\": \\"/healthyz\\",\\n \\"LifecyclePostStartHandlerHttpGetScheme\\": \\"HTTP\\",\\n \\"LifecyclePostStartHandlerExecs\\": [\\n \\"[ \\\\\\"/bin/sh\\\\\\", \\\\\\"-c\\\\\\", \\\\\\"echo Hello from the preStop handler /usr/share/message\\\\\\" ]\\"\\n ],\\n \\"LifecyclePostStartHandlerTcpSocketHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePostStartHandlerTcpSocketPort\\": 80,\\n \\"LifecyclePreStopHandlerHttpGetHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePreStopHandlerHttpGetPort\\": 80,\\n \\"LifecyclePreStopHandlerHttpGetPath\\": \\"/healthyz\\",\\n \\"LifecyclePreStopHandlerHttpGetScheme\\": \\"HTTP\\",\\n \\"LifecyclePreStopHandlerExecs\\": [\\n \\"[ \\\\\\"/bin/sh\\\\\\", \\\\\\"-c\\\\\\", \\\\\\"echo Hello from the preStop handler /usr/share/message\\\\\\" ]\\"\\n ],\\n \\"LifecyclePreStopHandlerTcpSocketHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePreStopHandlerTcpSocketPort\\": 80\\n }\\n ],\\n \\"InitContainers\\": [\\n {\\n \\"SecurityContextReadOnlyRootFilesystem\\": true,\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"WorkingDir\\": \\"/usr/local\\",\\n \\"Cpu\\": 0.5,\\n \\"Image\\": \\"nginx\\",\\n \\"Gpu\\": 1,\\n \\"SecurityContextRunAsUser\\": \\"587\\",\\n \\"Memory\\": 1,\\n \\"Name\\": \\"test-init\\",\\n \\"InitContainerEnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/local/bin\\"\\n }\\n ],\\n \\"InitContainerVolumeMounts\\": [\\n {\\n \\"ReadOnly\\": false,\\n \\"SubPath\\": \\"/usr/sub/\\",\\n \\"Name\\": \\"test-empty\\",\\n \\"MountPropagation\\": \\"None\\",\\n \\"MountPath\\": \\"/usr/share/\\"\\n }\\n ],\\n \\"SecurityContextCapabilityAdds\\": [\\n \\"NET_ADMIN\\"\\n ],\\n \\"InitContainerCommands\\": [\\n \\"sleep\\"\\n ],\\n \\"InitContainerArgs\\": [\\n \\"10\\"\\n ]\\n }\\n ],\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"version\\",\\n \\"Value\\": \\"3\\"\\n }\\n ],\\n \\"Volumes\\": [\\n {\\n \\"Type\\": \\"EmptyDirVolume\\",\\n \\"DiskVolumeDiskId\\": \\"15\\",\\n \\"DiskVolumeFsType\\": \\"xfs\\",\\n \\"EmptyDirVolumeMedium\\": \\"memory\\",\\n \\"NFSVolumePath\\": \\"/share\\",\\n \\"DiskVolumeDiskSize\\": 15,\\n \\"NFSVolumeReadOnly\\": false,\\n \\"FlexVolumeFsType\\": \\"ext4\\",\\n \\"ConfigFileVolumeDefaultMode\\": 644,\\n \\"FlexVolumeDriver\\": \\"flexvolume\\",\\n \\"FlexVolumeOptions\\": \\"{\\\\\\"volumeId\\\\\\":\\\\\\"d-2zehdahrwoa7srg****\\\\\\",\\\\\\"performanceLevel\\\\\\": \\\\\\"PL2\\\\\\"}\\",\\n \\"NFSVolumeServer\\": \\"3f9cd4****-na***.cn-shanghai.nas.aliyuncs.com\\",\\n \\"Name\\": \\"default-volume1\\",\\n \\"ConfigFileVolumeConfigFileToPaths\\": [\\n {\\n \\"Path\\": \\"/usr/bin/\\",\\n \\"Mode\\": 644,\\n \\"Content\\": \\"bGl1bWk=\\"\\n }\\n ],\\n \\"EmptyDirVolumeSizeLimit\\": \\"256 Mi\\",\\n \\"HostPathVolumeType\\": \\"Directory\\",\\n \\"HostPathVolumePath\\": \\"/pod/data\\"\\n }\\n ],\\n \\"ImageRegistryCredentials\\": [\\n {\\n \\"Password\\": \\"yourpaasword\\",\\n \\"Server\\": \\"registry-vpc.cn-shanghai.aliyuncs.com\\",\\n \\"UserName\\": \\"yourusername\\"\\n }\\n ],\\n \\"DnsConfigOptions\\": [\\n {\\n \\"Name\\": \\"name\\",\\n \\"Value\\": \\"value\\"\\n }\\n ],\\n \\"HostAliases\\": [\\n {\\n \\"Ip\\": \\"192.0.XX.XX\\",\\n \\"Hostnames\\": [\\n \\"[\'hehe.com\', \'haha.com\']\\"\\n ]\\n }\\n ],\\n \\"SecurityContextSysCtls\\": [\\n {\\n \\"Name\\": \\"kernel.msgmax\\",\\n \\"Value\\": \\"65536\\"\\n }\\n ],\\n \\"AcrRegistryInfos\\": [\\n {\\n \\"InstanceId\\": \\"cri-nwj395hgf6f3****\\",\\n \\"InstanceName\\": \\"acr-test\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Domains\\": [\\n \\"*****-****-registry.cn-beijing.cr.aliyuncs.com\\"\\n ]\\n }\\n ],\\n \\"DnsConfigNameServers\\": [\\n \\"172.10.*.**\\"\\n ],\\n \\"DnsConfigSearches\\": [\\n \\"svc.local.kubenetes\\"\\n ],\\n \\"NtpServers\\": [\\n \\"ntp.cloud.aliyuncs.com\\"\\n ],\\n \\"LifecycleState\\": \\"Active\\",\\n \\"CostOptimization\\": false,\\n \\"InstanceFamilyLevel\\": \\"EnterpriseLevel\\",\\n \\"InstanceTypes\\": [\\n \\"ecs.g6.large\\"\\n ],\\n \\"DataCacheBucket\\": \\"default\\",\\n \\"DataCachePL\\": \\"PL1\\",\\n \\"DataCacheProvisionedIops\\": 40000,\\n \\"DataCacheBurstingEnabled\\": false,\\n \\"GpuDriverVersion\\": \\"tesla=470.82.01\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n 50\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n 1\\n \\n 2014-08-14T10:58Z\\n scalingconfi****\\n sg-bp18kz60mefs****\\n 1000\\n NoSpot\\n true\\n asg-bp17pelvl720x3v7****\\n 20\\n 1\\n 5\\n imc-2zebxkiifuyzzlhl****\\n 16\\n Never\\n 0.025\\n 1024000\\n 2\\n 60\\n 1\\n Default\\n [\'hehe.com\', \'haha.com\']\\n 1024000\\n cn-hangzhou\\n ram:PassRole\\n 2\\n false\\n rg-8db03793gfrz****\\n test\\n asc-bp1ezrfgoyn5kijl****\\n 2\\n \\n /usr/local\\n 1\\n 5\\n 80\\n HTTP\\n /usr/local/nginx\\n false\\n 80\\n 1\\n 5\\n true\\n 2\\n nginx\\n /usr/nginx/\\n mysql\\n 8888\\n HTTP\\n 1\\n 5\\n 1000\\n 10\\n 1\\n Always\\n true\\n 2\\n 10\\n 3\\n 3\\n \\n 8888\\n TCP\\n \\n \\n false\\n data2/\\n default-volume1\\n None\\n /pod/data\\n \\n \\n PATH\\n /usr/bin/\\n \\n sleep\\n cat/tmp/healthy\\n 100\\n cat/tmp/healthy\\n NET_ADMIN\\n 10.0.XX.XX\\n 80\\n /healthyz\\n HTTP\\n [ \\"/bin/sh\\", \\"-c\\", \\"echo Hello from the preStop handler /usr/share/message\\" ]\\n 10.0.XX.XX\\n 80\\n 10.0.XX.XX\\n 80\\n /healthyz\\n HTTP\\n [ \\"/bin/sh\\", \\"-c\\", \\"echo Hello from the preStop handler /usr/share/message\\" ]\\n 10.0.XX.XX\\n 80\\n \\n \\n true\\n Always\\n /usr/local\\n 0.5\\n nginx\\n 1\\n 587\\n 1\\n test-init\\n \\n PATH\\n /usr/local/bin\\n \\n \\n false\\n /usr/sub/\\n test-empty\\n None\\n /usr/share/\\n \\n NET_ADMIN\\n sleep\\n 10\\n \\n \\n version\\n 3\\n \\n \\n EmptyDirVolume\\n 15\\n xfs\\n memory\\n /share\\n 15\\n false\\n ext4\\n 644\\n flexvolume\\n {\\"volumeId\\":\\"d-2zehdahrwoa7srg****\\",\\"performanceLevel\\": \\"PL2\\"}\\n 3f9cd4****-na***.cn-shanghai.nas.aliyuncs.com\\n default-volume1\\n \\n /usr/bin/\\n 644\\n bGl1bWk=\\n \\n 256 Mi\\n Directory\\n /pod/data\\n \\n \\n yourpaasword\\n registry-vpc.cn-shanghai.aliyuncs.com\\n yourusername\\n \\n \\n name\\n value\\n \\n \\n 192.0.XX.XX\\n [\'hehe.com\', \'haha.com\']\\n \\n \\n kernel.msgmax\\n 65536\\n \\n \\n cri-nwj395hgf6f3****\\n acr-test\\n cn-hangzhou\\n *****-****-registry.cn-beijing.cr.aliyuncs.com\\n \\n 172.10.*.**\\n svc.local.kubenetes\\n ntp.cloud.aliyuncs.com\\n Active\\n false\\n EnterpriseLevel\\n ecs.g6.large\\n default\\n PL1\\n 40000\\n false\\n tesla=470.82.01\\n \\n","errorExample":""}]', - 'title' => 'DescribeEciScalingConfigurations', - ], - 'DetachAlbServerGroups' => [ - 'summary' => '移出一个或多个ALB服务器组', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'gatewayOptions' => [ + 'gatewayProtocols' => [], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'ModifyScalingConfiguration', + 'description' => '## Operation description'."\n" + ."\n" + .'- If you modify the name of a scaling configuration, make sure that no scaling configuration with the same name exists in the same scaling group.'."\n" + .'- You can use one of the following methods to bind a primary network interface controller (NIC). Each API call supports only one method. If you use both methods at the same time, the call fails and an error message is returned.'."\n" + .' - Use parameters such as SecurityGroupId, SecurityGroupIds.N, and Ipv6AddressCount to directly configure the primary NIC.'."\n" + .' - Use NetworkInterfaces.N to configure both the primary and secondary NICs. When you use this parameter, you must configure the primary NIC. When NetworkInterfaces.N.InstanceType is set to Primary, the primary NIC is configured. When NetworkInterfaces.N.InstanceType is set to Secondary or left empty, a secondary NIC is configured.'."\n" + ."\n" + .' >When you modify a scaling configuration and choose one of the preceding methods to configure NICs, the NIC configurations set by the other method are cleared.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|错误码|错误信息|描述|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|未授权操作当前Action。|'."\n" + .'|404|InvalidDataDiskSnapshotId.NotFound|Snapshot "XXX" does not exist.|不存在指定的快照。|'."\n" + .'|400|InvalidDataDiskSnapshotId.SizeNotSupported|The capacity of snapshot "XXX" exceeds the size limit of the specified disk category.|指定快照的大小超过了磁盘大小的限制。|'."\n" + .'|404|InvalidImageId.NotFound|The specified image does not exist.|指定的镜像不存在。|'."\n" + .'|400|InvalidKeyPairName.NotFound|The specified KeyPairName does not exist in our records.|指定的KeyPairName不存在。|'."\n" + .'|400|InvalidNetworkType.ForRAMRole|RAMRole can’t be used For classic instance.|经典网络实例不支持RamRoleName参数。|'."\n" + .'|400|InvalidParamter|The specified value of parameter is not valid.|指定的参数值无效。|'."\n" + .'|400|InvalidScalingConfigurationName.Duplicate|The specified value of parameter is duplicated.|伸缩配置名已存在。|'."\n" + .'|400|InvalidSecurityGroupId.IncorrectNetworkType|The network type of specified Security Group does not support this action.|指定的安全组与伸缩组指定网络类型不一致。|'."\n" + .'|400|InvalidSecurityGroupId.VPCMismatch|The specified security group and the specified virtual switch are not in the same VPC.|指定的安全组和虚拟交换机不属于同一个虚拟专有网络。|'."\n" + .'|400|InvalidTags.KeyValue|The specified tags key/value cannot be empty.|必须指定Tags参数。|'."\n" + .'|400|InvalidTags.ListSize|The specified tags list size cannot be more than "20".|Tags列表长度超过限制长度。|'."\n" + .'|400|InvalidUserData.Base64FormatInvalid|The specified parameter UserData must be base64 encoded.|UserData不符合Base64编码规范。|'."\n" + .'|400|InvalidUserData.SizeExceeded|The specified parameter UserData exceeds the size.|指定的UserData过长。'."\n" + .'|400|InvalidSecurityGroupId.IncorrectType|The managed security group "XXX" is not supported.|不支持 "XXX" 托管安全组。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyScalingConfiguration'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyScalingConfiguration', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ModifyScalingGroup' => [ + 'summary' => 'Modifies a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '92688', - 'abilityTreeNodes' => [ - 'FEATUREess2GK585', - ], + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92709', + 'abilityTreeNodes' => ['FEATUREessXN6KX4'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the scaling group resides. Examples: cn-hangzhou and cn-shanghai. For more information, see [Regions and zones](~~40654~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the scaling group that you want to modify.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp1ffogfdauy0jw0****', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'ScalingGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The name of the scaling group. The name must be unique within a region. The name must be 2 to 64 characters in length and can contain digits, uppercase letters, lowercase letters, Chinese characters, underscores (\\_), hyphens (-), and periods (.).', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'MinSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests.'."\n" - ."\n" - .'The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The minimum number of ECS instances or elastic container instances in the scaling group. When the number of instances in the scaling group is less than `MinSize`, Auto Scaling performs automatic creation of ECS instances or elastic container instances.'."\n" + ."\n" + .'> The value of `MinSize` must be less than or equal to the value of `MaxSize`.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'ForceDetach', + 'name' => 'MaxSize', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of ECS instances or elastic container instances in the scaling group. When the number of instances in the scaling group exceeds `MaxSize`, Auto Scaling automatically removes instances from the scaling group.'."\n" + ."\n" + .'The valid values of MaxSize depend on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check the quota value of **Maximum Number of Instances in a Scaling Group**.'."\n" + ."\n" + .'The valid values of MaxSize depend on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check the quota value of **Maximum Number of Instances in a Scaling Group**.'."\n" + ."\n" + .'The valid values of MaxSize depend on your Auto Scaling usage. Go to Quota Center to check the quota value of **Maximum Number of Instances in a Scaling Group**.'."\n" + ."\n" + .'For example, if the quota value of **Maximum Number of Instances in a Scaling Group** is 2000, the valid values of `MaxSize` are 0 to 2000.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '99', 'title' => ''], + ], + [ + 'name' => 'DefaultCooldown', + 'in' => 'query', + 'schema' => ['description' => 'The cooldown time after a scaling activity (adding or removing ECS instances or elastic container instances) is complete. Valid values: 0 to 86400. Unit: seconds.'."\n" + ."\n" + .'During the cooldown time, the scaling group does not execute other scaling activities. This parameter applies only to scaling activities triggered by CloudMonitor event-triggered tasks.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '86400', 'minimum' => '0', 'example' => '600', 'title' => ''], + ], + [ + 'name' => 'RemovalPolicy.1', + 'in' => 'query', + 'schema' => ['description' => '指定移出ECS实例的第一段伸缩组策略。取值范围:'."\n" + ."\n" + .'- OldestInstance:移出最早加入伸缩组的ECS实例。'."\n" + .'- NewestInstance:移出最新加入伸缩组的ECS实例。'."\n" + .'- OldestScalingConfiguration:移出最早伸缩配置创建的ECS实例。'."\n" + .'- CustomPolicy:基于自定义缩容策略Function函数移除ECS实例。'."\n" + ."\n" + .'>OldestScalingConfiguration中提到的伸缩配置泛指组内实例配置信息来源,包括伸缩配置和启动模板。CustomPolicy仅支持设置为首位移除策略,当指定CustomPolicy需同时指定CustomPolicyARN参数。', 'type' => 'string', 'required' => false, 'example' => 'OldestScalingConfiguration', 'title' => ''], + ], + [ + 'name' => 'RemovalPolicy.2', + 'in' => 'query', + 'schema' => ['description' => '指定移出ECS实例的第二段伸缩组策略。取值范围:'."\n" + ."\n" + .'- OldestInstance:移出最早加入伸缩组的ECS实例。'."\n" + .'- NewestInstance:移出最新加入伸缩组的ECS实例。'."\n" + .'- OldestScalingConfiguration:移出最早伸缩配置创建的ECS实例。'."\n" + .'>OldestScalingConfiguration中提到的伸缩配置泛指组内实例配置信息来源,包括伸缩配置和启动模板。', 'type' => 'string', 'required' => false, 'example' => 'NewestInstance', 'title' => ''], + ], + [ + 'name' => 'RemovalPolicy.3', + 'in' => 'query', + 'schema' => ['description' => '指定移出ECS实例的第三段伸缩组策略。取值范围:'."\n" + ."\n" + .'- OldestInstance:移出最早加入伸缩组的ECS实例。'."\n" + .'- NewestInstance:移出最新加入伸缩组的ECS实例。'."\n" + .'- OldestScalingConfiguration:移出最早伸缩配置创建的ECS实例。'."\n" + ."\n" + .'>OldestScalingConfiguration中提到的伸缩配置泛指组内实例配置信息来源,包括伸缩配置和启动模板。', 'type' => 'string', 'required' => false, 'example' => 'OldestInstance', 'title' => ''], + ], + [ + 'name' => 'ActiveScalingConfigurationId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the active scaling configuration in the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asc-bp17pelvl720x5ub****', 'title' => ''], + ], + [ + 'name' => 'HealthCheckType', + 'in' => 'query', + 'schema' => ['description' => 'The health check mode of the scaling group. Valid values:'."\n" + ."\n" + .'- NONE: no health check is performed.'."\n" + .'- ECS: health checks are performed on instances in the scaling group. This value applies to both ECS-type and ECI-type scaling groups.'."\n" + .'- LOAD_BALANCER: the health status of instances is determined based on load balancing health check results. Classic Load Balancer (CLB) is not supported.'."\n" + ."\n" + .'Default value: ECS.'."\n" + ."\n" + .'> To enable both instance health checks and load balancing health checks, use the `HealthCheckTypes` parameter.', 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''], + ], + [ + 'name' => 'LaunchTemplateId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the launch template from which the scaling group obtains launch configuration information.', 'type' => 'string', 'required' => false, 'example' => 'lt-m5e3ofjr1zn1aw7****', 'title' => ''], + ], + [ + 'name' => 'LaunchTemplateVersion', + 'in' => 'query', + 'schema' => ['description' => 'The version of the launch template. Valid values:'."\n" + .' '."\n" + .'- A fixed template version number.'."\n" + .'- Default: always uses the default version of the template.'."\n" + .'- Latest: always uses the latest version of the template.', 'type' => 'string', 'required' => false, 'example' => 'Default', 'title' => ''], + ], + [ + 'name' => 'OnDemandBaseCapacity', + 'in' => 'query', + 'schema' => ['description' => 'The minimum number of pay-as-you-go instances required in the scaling group. Valid values: 0 to 1000. When the number of pay-as-you-go instances is less than this value, pay-as-you-go instances are preferentially created.'."\n" + ."\n" + .'When the `MultiAZPolicy` parameter is set to `COMPOSABLE`, the default value is 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''], + ], + [ + 'name' => 'OnDemandPercentageAboveBaseCapacity', + 'in' => 'query', + 'schema' => ['description' => 'The percentage of pay-as-you-go instances among the excess instances after the minimum number of pay-as-you-go instances (OnDemandBaseCapacity) is met. Valid values: 0 to 100.'."\n" + ."\n" + .'When the `MultiAZPolicy` parameter is set to `COMPOSABLE`, the default value is 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], + ], + [ + 'name' => 'SpotInstanceRemedy', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to supplement spot instances. If this feature is enabled, Auto Scaling creates new instances to replace spot instances that are about to be reclaimed when the system sends a reclamation notification.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'CompensateWithOnDemand', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to automatically create pay-as-you-go instances to meet the required number of ECS instances when spot instances cannot be created due to reasons such as cost or insufficient inventory. This parameter takes effect only when the `MultiAZPolicy` parameter of the `CreateScalingGroup` operation is set to `COST_OPTIMIZED`. Valid values:'."\n" + ."\n" + .'- true: allows automatic creation.'."\n" + .'- false: does not allow automatic creation.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'SpotInstancePools', + 'in' => 'query', + 'schema' => ['description' => 'The number of available instance types. Auto Scaling creates spot instances across multiple lowest-cost instance types in a balanced manner. Valid values: 0 to 10.'."\n" + ."\n" + .'When the `MultiAZPolicy` parameter is set to `COMPOSABLE`, the default value is 2.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], + ], + [ + 'name' => 'DesiredCapacity', + 'in' => 'query', + 'schema' => ['description' => 'The expected number of ECS instances or elastic container instances in the scaling group. Setting this parameter enables the expected number of instances feature. Auto Scaling automatically maintains the number of instances at the expected level. Valid values: MinSize ≤ expected number of instances ≤ MaxSize.'."\n" + ."\n" + .'> If you disable and then re-enable the expected number of instances feature, you must set the `DesiredCapacity` value again.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], + ], + [ + 'name' => 'GroupDeletionProtection', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable deletion protection for the scaling group. Valid values:'."\n" + ."\n" + .'- true: enables deletion protection. The scaling group cannot be deleted.'."\n" + .'- false: disables deletion protection.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'MultiAZPolicy', + 'in' => 'query', + 'schema' => ['description' => 'The multi-zone scaling policy for ECS instances in the scaling group. Valid values:'."\n" + .' '."\n" + .'- PRIORITY: scales instances based on the priority of the vSwitches (VSwitchIds.N). Auto Scaling preferentially performs scaling in the zone of the highest-priority vSwitch. If scaling cannot be performed in that zone, Auto Scaling automatically attempts the next-priority zone.'."\n" + ."\n" + .'- COST_OPTIMIZED: during scale-out, Auto Scaling creates ECS instances in ascending order of vCPU unit price. During scale-in, Auto Scaling removes ECS instances in descending order of vCPU unit price. When the scaling configuration specifies multiple instance types with preemptible billing methods, spot instances are preferentially created. You can use the `CompensateWithOnDemand` parameter to specify whether Auto Scaling automatically creates pay-as-you-go instances when spot instances cannot be created.'."\n" + ."\n" + .' > COST_OPTIMIZED takes effect only when the scaling configuration specifies multiple instance types or uses spot instances.'."\n" + ."\n" + .'- BALANCE: allocates ECS instances evenly across the active zones specified for the scaling group. If the zones become unbalanced due to reasons such as insufficient inventory, you can call the [RebalanceInstance](~~71516~~) operation to rebalance resources.'."\n" + .'- COMPOSABLE: a composite policy that allows you to combine the preceding multi-zone scaling policies as needed. Settings can be customized based on your requirements. This is a composite policy. You can determine whether to combine the preceding multi-zone scaling policies based on your requirements.', 'type' => 'string', 'required' => false, 'example' => 'PRIORITY', 'title' => ''], + ], + [ + 'name' => 'VSwitchIds', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to remove existing Elastic Compute Service (ECS) instances from the ALB server group that you want to disassociate from the scaling group.'."\n" + 'description' => 'The IDs of one or more vSwitches.'."\n" + ."\n" + .'This parameter takes effect only when the network type of the scaling group is VPC. The specified vSwitches must belong to the same VPC as the scaling group.'."\n" + ."\n" + .'The vSwitches can span multiple zones. The priority of vSwitches is sorted in ascending numerical order, where 1 indicates the highest priority. When an ECS instance cannot be created in the zone of a higher-priority vSwitch, Auto Scaling automatically selects the next-priority vSwitch.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of one or more vSwitches. Valid values of N: 1 to 5.'."\n" ."\n" - .'* true: removes existing ECS instances and returns the `ScalingActivityId` value. You can view the ID of the scaling activity to determine whether the instances are removed.'."\n" - .'* false: does not remove existing ECS instances.'."\n" + .'This parameter takes effect only when the network type of the scaling group is VPC. The specified vSwitches must belong to the same VPC as the scaling group.'."\n" ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', + .'The vSwitches can span multiple zones. The priority of vSwitches is sorted in ascending numerical order, where 1 indicates the highest priority. When an ECS instance cannot be created in the zone of a higher-priority vSwitch, Auto Scaling automatically selects the next-priority vSwitch.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1oo2a7isyrb8igf****', 'title' => ''], 'required' => false, - 'example' => 'false', - 'default' => 'false', + 'example' => 'vsw-bp1oo2a7isyrb8igf****', + 'maxItems' => 8, + 'title' => '', ], ], [ - 'name' => 'AlbServerGroup', + 'name' => 'LaunchTemplateOverride', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ALB server groups.', + 'description' => 'The launch template override information.', 'type' => 'array', 'items' => [ + 'description' => 'The launch template override information.', 'type' => 'object', 'properties' => [ - 'AlbServerGroupId' => [ - 'description' => 'The ID of ALB server group N. N indicates the serial number of the ALB server group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sgp-ddwb0y0g6y9bjm****', - ], - 'Port' => [ - 'description' => 'The port number used by the ECS instances in ALB server group N. N indicates the serial number of the ALB server group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '22', - ], + 'InstanceType' => ['description' => 'To scale the scaling group based on the capacity of instance types, specify both this parameter and LaunchTemplateOverride.N.WeightedCapacity.'."\n" + ."\n" + .'This parameter specifies the instance type, which overrides the instance type in the launch template. You can specify N values for this parameter to extend the launch template to support N instance types. Valid values of N: 1 to 20.'."\n" + ."\n" + .'> This parameter takes effect only when the LaunchTemplateId parameter specifies a launch template.'."\n" + ."\n" + .'Valid values of InstanceType: ECS instance types that are available for purchase. For more information, see [Instance families](~~25378~~).', 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.xlarge', 'title' => ''], + 'WeightedCapacity' => ['description' => 'To scale the scaling group based on the capacity of instance types, specify this parameter after you specify LaunchTemplateOverride.N.InstanceType. The two parameters correspond to each other, and the values of N must be consistent.'."\n" + ."\n" + .'This parameter specifies the weight of the instance type, which represents the capacity of a single instance of this type in the scaling group. A larger weight means fewer instances of this type are needed to meet the expected capacity.'."\n" + ."\n" + .'Because instance types differ in vCPU count, memory size, and other performance metrics, you can assign different weights to different instance types based on your requirements.'."\n" + ."\n" + .'Example:'."\n" + ."\n" + .'- Current capacity: 0.'."\n" + .'- Expected capacity: 6.'."\n" + .'- Capacity of ecs.c5.xlarge: 4.'."\n" + ."\n" + .'To meet the expected capacity, Auto Scaling scales out 2 ecs.c5.xlarge instances.'."\n" + ."\n" + .'> During scale-out, the capacity of the scaling group cannot exceed the sum of the maximum capacity (MaxSize) and the maximum weight of the instance types.'."\n" + ."\n" + .'Valid values of WeightedCapacity: 1 to 500.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], + 'SpotPriceLimit' => ['description' => 'The maximum bid price for the instance type specified by `LaunchTemplateOverride.N.InstanceType`. You can specify N values for this parameter to extend the launch template to support N instance types. Valid values of N: 1 to 20.'."\n" + ."\n" + .'> This parameter takes effect only when the `LaunchTemplateId` parameter specifies a launch template.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.025', 'title' => ''], ], 'required' => false, - 'description' => 'The ALB server groups.', + 'title' => '', + 'example' => '', ], - 'required' => true, - 'maxItems' => 100, + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity in which the ALB server group is disassociated from the scaling group and the ECS instances in the ALB server group are removed from the ALB server group. This parameter is valid only when you set `ForceDetach` to `true`.'."\n", - 'type' => 'string', - 'example' => 'asa-2ze6wxj8vsohn6j9****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - ], + [ + 'name' => 'AzBalance', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to evenly distribute the capacity of the scaling group across multiple zones. This parameter takes effect only when the `MultiAZPolicy` parameter is set to `COMPOSABLE`. Valid values:'."\n" + .'- true: evenly distributes the capacity across multiple zones.'."\n" + .'- false: does not evenly distribute the capacity across multiple zones.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingActivityId\\": \\"asa-2ze6wxj8vsohn6j9****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n asa-2ze6wxj8vsohn6j9****\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n","errorExample":""}]', - 'title' => 'DetachAlbServerGroups', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=DetachAlbServerGroups\\&type=RPC\\&version=2014-08-28)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'ModifyEciScalingConfiguration' => [ - 'summary' => '修改一个ECI类型伸缩配置', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'AllocationStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The capacity allocation strategy that determines how the scaling group selects available instance types to meet capacity requirements. The strategy applies to both pay-as-you-go and spot capacity. This parameter takes effect only when the `MultiAZPolicy` parameter is set to `COMPOSABLE`. Valid values:'."\n" + ."\n" + .'- priority: creates instances in the order of the configured instance types.'."\n" + .'- lowestPrice: creates instances in ascending order of vCPU unit price.'."\n" + ."\n" + .'Default value: priority.', 'type' => 'string', 'required' => false, 'example' => 'priority', 'title' => ''], ], - ], - 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '92705', - 'abilityTreeNodes' => [ - 'FEATUREessT4M3WE', + [ + 'name' => 'SpotAllocationStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The spot capacity allocation strategy. You can use this parameter to separately specify the allocation strategy for spot capacity. This parameter takes effect only when the `MultiAZPolicy` parameter is set to `COMPOSABLE`. Valid values:'."\n" + ."\n" + .'- priority: creates instances in the order of the configured instance types.'."\n" + .'- lowestPrice: creates instances in ascending order of vCPU unit price.'."\n" + ."\n" + .'Default value: priority.', 'type' => 'string', 'required' => false, 'example' => 'lowestPrice', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingConfigurationId', + 'name' => 'MaxInstanceLifetime', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling configuration that you want to modify.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asc-bp16har3jpj6fjbx****', - ], + 'schema' => ['description' => 'The maximum amount of time that an instance can remain in the scaling group. Unit: seconds.'."\n" + ."\n" + .'Valid values: 0 or `[86400, Integer.maxValue]`. A value of 0 clears any previously set MaxInstanceLifetime value (that is, MaxInstanceLifetime is not set).'."\n" + ."\n" + .'Default value: null.'."\n" + ."\n" + .'> This parameter is not supported for ECI-type scaling groups or scaling groups with the no-fees-for-stopped-instances feature enabled.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => 'null', 'title' => ''], ], [ - 'name' => 'ScalingConfigurationName', + 'name' => 'CustomPolicyARN', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the scaling configuration. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter or a digit.'."\n" - ."\n" - .'The name of the scaling configuration must be unique within a scaling group in a region. If you do not specify this parameter, the value of the ScalingConfigurationId parameter is used.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'test-modify', - ], + 'schema' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the custom scale-in policy Function Compute function. This parameter takes effect only when the first scale-in policy in RemovalPolicies is set to CustomPolicy.', 'type' => 'string', 'required' => false, 'example' => 'acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name', 'title' => ''], ], [ - 'name' => 'SecurityGroupId', + 'name' => 'DisableDesiredCapacity', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group with which you want to associate the elastic container instance. Elastic container instances that are associated with the same security group can communicate with each other.'."\n" - ."\n" - .'If you do not specify a security group, the system uses the default security group in the region that you select. Make sure that the inbound rules of the security group contain the protocols and the port numbers of the containers that you want to expose. If you do not have a default security group in the region, the system automatically creates a default security group and adds the declared container protocols and port numbers to the inbound rules of the security group.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'sg-uf66jeqopgqa9hdn****', - ], + 'schema' => ['description' => 'Specifies whether to disable the expected number of instances feature for the scaling group. Valid values:'."\n" + .'- false: enables the expected number of instances feature.'."\n" + .'- true: disables the expected number of instances feature.'."\n" + ."\n" + .'> You can set this parameter to true only when no scaling activity is in progress. When the expected number of instances feature is disabled, the `DesiredCapacity` property of the scaling group is cleared, but the current number of instances in the scaling group remains unchanged.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'ContainerGroupName', + 'name' => 'ScalingPolicy', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the elastic container instance. The name must meet the following requirements:'."\n" - ."\n" - .'* The name must be 2 to 128 characters in length.'."\n" - .'* The name can contain only lowercase letters, digits, and hyphens (-). The name cannot start or end with a hyphen (-).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'nginx-test', - ], + 'schema' => ['description' => 'The reclaim mode of the scaling group. Valid values:'."\n" + ."\n" + .'- recycle: the reclaim mode of the scaling group is stop and recycle mode.'."\n" + ."\n" + .'- release: the reclaim mode of the scaling group is release mode.'."\n" + ."\n" + .'- forcerelease: the reclaim mode of the scaling group is forced release mode.'."\n" + ."\n" + .' > If you select `forcerelease`, running instances are forcefully released during scale-in activities. A forced release is equivalent to a power-off operation, which erases temporary data in the memory and storage of the instance. The data cannot be recovered. Proceed with caution.'."\n" + ."\n" + .'- forcerecycle: the reclaim mode of the scaling group is forced stop and recycle mode.'."\n" + ."\n" + .' > If you select `forcerecycle`, running instances are forcefully stopped during scale-in activities. A forced stop is equivalent to a power-off operation, which erases temporary data in the memory and storage of the instance. The data cannot be recovered. Proceed with caution.'."\n" + ."\n" + .'ScalingPolicy specifies the reclaim mode of the scaling group, but the specific action taken when instances are removed from the scaling group is determined by the RemovePolicy parameter of RemoveInstances. For more information, see [RemoveInstances](~~25955~~).', 'type' => 'string', 'required' => false, 'example' => 'recycle', 'title' => ''], ], [ - 'name' => 'RestartPolicy', + 'name' => 'HealthCheckTypes', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The restart policy of the elastic container instance. Valid values:'."\n" + 'description' => 'The health check modes of the scaling group.'."\n" + ."\n" + .'> You can set multiple values for this parameter to enable multiple health check options. If the `HealthCheckType` parameter is set, this parameter is ignored.', + 'type' => 'array', + 'items' => ['description' => 'The list of health check modes for the scaling group. Valid values:'."\n" ."\n" - .'* Always: always restarts the elastic container instance.'."\n" - .'* Never: never restarts the elastic container instance.'."\n" - .'* OnFailure: restarts the elastic container instance upon failures.'."\n" + .'- NONE: no health check is performed.'."\n" + .'- ECS: health checks are performed on instances in the scaling group. This value applies to both ECS-type and ECI-type scaling groups.'."\n" + .'- LOAD_BALANCER: the health status of instances is determined based on load balancing health check results. CLB is not supported.'."\n" ."\n" - .'Default value: Always.'."\n", - 'type' => 'string', + .'Default value: ECS.', 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''], 'required' => false, - 'example' => 'Always', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Cpu', + 'name' => 'StopInstanceTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of vCPUs of the elastic container instance.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1.0', - ], + 'schema' => ['description' => 'The timeout period for waiting for an ECS instance to stop during a scale-in flow. Unit: seconds. Valid values: 30 to 240.'."\n" + ."\n" + .'> - This parameter takes effect only in scale-in flows where ScalingPolicy is set to release mode. '."\n" + .'- If this parameter is set, the system waits up to StopInstanceTimeout seconds for the instance to stop. After the timeout, the scale-in flow continues regardless of whether the instance has stopped. '."\n" + .'- If this parameter is not set, the system waits indefinitely for the instance to stop. The scale-in flow continues only after the instance stops. If the instance fails to stop, the scale-in flow is rolled back and the scale-in fails.'."\n" + .'- Setting this parameter to 0 clears the parameter settings.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], ], [ - 'name' => 'Memory', + 'name' => 'CapacityOptions', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The memory size of the elastic container instance. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', + 'description' => 'The capacity options.', + 'type' => 'object', + 'properties' => [ + 'OnDemandBaseCapacity' => ['description' => 'The minimum number of pay-as-you-go instances required in the scaling group. When the number of pay-as-you-go instances is less than this value, pay-as-you-go instances are preferentially created. Valid values: 0 to 1000.'."\n" + ."\n" + .'When the `MultiAZPolicy` parameter is set to `COMPOSABLE`, the default value is 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''], + 'OnDemandPercentageAboveBaseCapacity' => ['description' => 'The percentage of pay-as-you-go instances among the excess instances after the minimum number of pay-as-you-go instances (`OnDemandBaseCapacity`) is met. Valid values: 0 to 100.'."\n" + ."\n" + .'When the `MultiAZPolicy` parameter is set to `COMPOSABLE`, the default value is 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], + 'CompensateWithOnDemand' => ['description' => 'Specifies whether to automatically create pay-as-you-go instances to meet the required number of ECS instances when spot instances cannot be created due to reasons such as cost or insufficient inventory. This parameter takes effect only when the `MultiAZPolicy` parameter of the `CreateScalingGroup` operation is set to `COST_OPTIMIZED`. Valid values:'."\n" + ."\n" + .'- true: allows automatic creation.'."\n" + .'- false: does not allow automatic creation.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'SpotAutoReplaceOnDemand' => ['description' => 'Specifies whether to use spot instances to replace pay-as-you-go instances when `CompensateWithOnDemand` is enabled and the pay-as-you-go ratio exceeds the `OnDemandPercentageAboveBaseCapacity` ratio. A common scenario is when `CompensateWithOnDemand` causes spot instances to be downgraded to pay-as-you-go instances due to spot inventory or pricing issues. To prevent pay-as-you-go instances from persisting for an extended period, the system attempts to replace excess pay-as-you-go capacity with spot instances. Valid values:'."\n" + ."\n" + .'- true: allows replacement.'."\n" + .'- false: does not allow replacement.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'PriceComparisonMode' => ['description' => 'The price comparison mode for the cost optimization strategy of the scaling group. Valid values:'."\n" + ."\n" + .'- PricePerUnit: compares prices based on the price per unit of capacity.'."\n" + ."\n" + .' The capacity of an instance in the scaling group equals the weight assigned to the instance type. The default weight is 1, meaning one ECS instance occupies a capacity of 1.'."\n" + ."\n" + .'- PricePerVCpu: compares prices based on the price per vCPU.'."\n" + ."\n" + .'Default value: PricePerUnit.', 'type' => 'string', 'required' => false, 'example' => 'PricePerUnit', 'title' => ''], + ], 'required' => false, - 'example' => '2.0', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'BalanceMode', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'The zone balancing mode. This parameter takes effect only when zone balancing is enabled. Valid values:'."\n" + .' '."\n" + .'- BalancedBestEffort: when resource creation fails in a zone, the system falls back to other zones to ensure best-effort resource delivery.'."\n" + ."\n" + .'- BalancedOnly: when resource creation fails in a zone, the system does not fall back to other zones. The scale-out activity partially succeeds to prevent excessive imbalance across zones.'."\n" + ."\n" + .'Default value: BalancedBestEffort.', 'type' => 'string', 'required' => false, 'example' => 'BalancedBestEffort'], + ], + [ + 'name' => 'AutoRebalance', 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable automatic rebalancing for the scaling group. This parameter takes effect only when BalancedOnly is enabled for a zone-balanced scaling group. Valid values:'."\n" + .'- false: disables automatic rebalancing.'."\n" + .'- true: enables automatic rebalancing. The scaling group automatically detects capacity across zones and proactively performs scaling to rebalance zone capacity when an imbalance is detected.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-uf66jeqopgqa9hdn****', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Modify a scaling group', + 'description' => '## Operation description'."\n" + ."\n" + .'- The following parameters cannot be modified:'."\n" + ."\n" + .' - RegionId'."\n" + ."\n" + .' - LoadBalancerId'."\n" + ."\n" + .' > To modify load balancing instances, use the [AttachLoadBalancers](~~85125~~) and [DetachLoadBalancers](~~85141~~) operations. '."\n" + ."\n" + .' - DBInstanceId'."\n" + ."\n" + .' > To modify ApsaraDB RDS instances, use the [AttachDBInstances](~~85379~~) and [DetachDBInstances](~~85380~~) operations. '."\n" + .' '."\n" + .'- You can invoke this operation only when the scaling group is in the Active or Inactive state.'."\n" + ."\n" + .'- Enabling a new scaling configuration does not affect ECS instances or elastic container instances that were created based on the previous scaling configuration and are still running.'."\n" + ."\n" + .'- If you modify MaxSize and the current number of ECS or elastic container instances in the scaling group exceeds the new MaxSize value, Auto Scaling automatically removes instances from the scaling group until the number equals MaxSize.'."\n" + ."\n" + .'- If you modify MinSize and the current number of ECS or elastic container instances in the scaling group is less than the new MinSize value, Auto Scaling automatically adds instances to the scaling group until the number equals MinSize.'."\n" + ."\n" + .'- If DesiredCapacity is set for the scaling group and you modify DesiredCapacity, Auto Scaling automatically adds or removes ECS or elastic container instances to make the number of instances in the scaling group equal to the new DesiredCapacity value.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in the current account.|'."\n" + .'|400|InvalidScalingGroupName.Duplicate|The specified value of parameter `parameter name` is duplicated.|The scaling group name already exists.|'."\n" + .'|404|InvalidScalingConfigurationId.NotFound|The specified scaling configuration does not exist.|The specified scaling configuration does not exist in the scaling group.|'."\n" + .'|400|InvalidScalingConfigurationId.InstanceTypeMismatch|The specified scaling configuration and existing active scaling configuration have different instance type.|The instance type of the specified scaling configuration does not match the instance type of the active scaling configuration.|'."\n" + .'|400|InvalidParameter.Conflict|The value of parameter `parameter name` and parameter `parameter name` are confilict.|The specified MinSize is greater than MaxSize.|'."\n" + .'|400|LaunchTemplateVersionSet.NotFound|The specific version of launch template is not exist.|The specified version of the launch template does not exist.|'."\n" + .'|400|LaunchTemplateSet.NotFound|The specified launch template set is not found.|The specified launch template does not exist.|'."\n" + .'|400|TemplateMissingParameter.ImageId|The input parameter "ImageId" that is mandatory for processing this request is not supplied.|The specified version of the launch template does not contain image information.|'."\n" + .'|400|TemplateMissingParameter.InstanceTypes|The input parameter "InstanceTypes" that is mandatory for processing this request is not supplied.|The specified version of the launch template does not contain instance type information.|'."\n" + .'|400|TemplateMissingParameter.SecurityGroup|The input parameter "SecurityGroup" that is mandatory for processing this request is not supplied.|The specified version of the launch template does not contain security group information.|'."\n" + .'|400|TemplateVersion.NotNumber|The input parameter "LaunchTemplateVersion" is supposed to be a string representing the version number.|The fixed version number of the launch template must be a number.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyScalingGroup'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + ], + 'ModifyScalingRule' => [ + 'summary' => 'Modifies a scaling rule.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'DnsPolicy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The Domain Name System (DNS) policy. Valid values:'."\n" - ."\n" - .'* None: uses the DNS that is specified for the DnsConfig field.'."\n" - .'* Default: uses the DNS that is specified for the runtime environment.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Default', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92710', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], + ], + 'parameters' => [ [ - 'name' => 'ImageSnapshotId', + 'name' => 'ScalingRuleId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image cache snapshot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'imc-2zebxkiifuyzzlhl****', - ], + 'schema' => ['description' => 'The ID of the scaling rule that you want to modify.', 'type' => 'string', 'required' => true, 'example' => 'asr-bp1dvirgwkoowxk7****', 'title' => ''], ], [ - 'name' => 'RamRoleName', + 'name' => 'ScalingRuleName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the RAM role of the instance. You can use a RAM role to access elastic container instances and Elastic Compute Service (ECS) instances. For more information, see [Use an instance RAM role by calling API operations](~~61178~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'RamTestRole', - ], + 'schema' => ['description' => 'The name of the scaling rule. The name must be 2 to 64 characters in length and can contain digits, uppercase letters, lowercase letters, Chinese characters, underscores (\\_), hyphens (-), and periods (.). It must start with a digit, letter, or Chinese character.'."\n" + ."\n" + .'>The name of a scaling rule must be unique within the same scaling group under the same Alibaba Cloud account in the same region.', 'type' => 'string', 'required' => false, 'example' => 'scalingrule****', 'title' => ''], ], [ - 'name' => 'TerminationGracePeriodSeconds', + 'name' => 'Cooldown', 'in' => 'query', - 'schema' => [ - 'description' => 'The buffer time during which the program handles operations before the program stops. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '60', - ], + 'schema' => ['description' => 'The cooldown time of the scaling rule. This parameter is applicable only to simple scaling rules.'."\n" + ."\n" + .'Valid values: 0 to 86400. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], ], [ - 'name' => 'AutoMatchImageCache', + 'name' => 'MinAdjustmentMagnitude', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to automatically match the image cache. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The minimum number of instances to adjust in a scaling rule. This parameter takes effect only when the scaling rule type is `SimpleScalingRule` or `StepScalingRule` and `AdjustmentType` is set to `PercentChangeInCapacity`.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'Ipv6AddressCount', + 'name' => 'AdjustmentType', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of IPv6 addresses.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The adjustment method of the scaling rule. This parameter is applicable to simple scaling rules and step scaling rules, and is required in this case. Valid values:'."\n" + ."\n" + .'- QuantityChangeInCapacity: adds or removes a specified number of ECS instances.'."\n" + .'- PercentChangeInCapacity: adds or removes a specified percentage of ECS instances.'."\n" + .'- TotalCapacity: adjusts the number of ECS instances in the current scaling group to a specified value.', 'type' => 'string', 'required' => false, 'example' => 'QuantityChangeInCapacity', 'title' => ''], ], [ - 'name' => 'ActiveDeadlineSeconds', + 'name' => 'AdjustmentValue', 'in' => 'query', - 'schema' => [ - 'description' => 'The validity period of the scaling configuration. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000', - ], + 'schema' => ['description' => 'The adjustment value of the scaling rule. This parameter is applicable to simple scaling rules and step scaling rules, and is required in this case. The number of ECS instances adjusted in a single scaling activity cannot exceed 1,000. Valid values vary based on the adjustment method:'."\n" + .'- QuantityChangeInCapacity: -1000 to 1000.'."\n" + .'- PercentChangeInCapacity: -100 to 10000.'."\n" + .'- TotalCapacity: 0 to 2000.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], ], [ - 'name' => 'SpotStrategy', + 'name' => 'EstimatedInstanceWarmup', 'in' => 'query', - 'schema' => [ - 'description' => 'The bidding policy of the elastic container instance. Valid values:'."\n" - ."\n" - .'* NoSpot: The instance is created as a pay-as-you-go instance.'."\n" - .'* SpotWithPriceLimit: The instance is a preemptible instance that has a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instance is a preemptible instance for which the market price at the time of purchase is used as the bid price.'."\n" - ."\n" - .'Default value: NoSpot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SpotPriceLimit', - ], + 'schema' => ['description' => 'The warm-up period of an instance. This parameter is applicable to target tracking scaling rules and step scaling rules. An ECS instance in the warm-up state is added to the scaling group as expected, but CloudMonitor does not report monitoring data for the instance during this period.'."\n" + .'> When the number of ECS instances to scale is dynamically calculated, instances in the warm-up state are not counted toward the existing instance count.'."\n" + ."\n" + .'Valid values: 0 to 86400. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], ], [ - 'name' => 'SpotPriceLimit', + 'name' => 'MetricName', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum hourly price of the preemptible elastic container instance. The value can be accurate to three decimal places.'."\n" - ."\n" - .'If you set the SpotStrategy parameter to SpotWithPriceLimit, you must specify the SpotPriceLimit parameter.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.025', - ], + 'schema' => ['description' => 'The predefined metric. This parameter is applicable to target tracking scaling rules and predictive scaling rules, and is required in this case.'."\n" + ."\n" + .'Valid values for target tracking scaling rules: '."\n" + .'- CpuUtilizationAgent: (Agent) CPU utilization (recommended).'."\n" + .'- MemoryUtilization: (Agent) memory utilization (recommended).'."\n" + .'- CpuUtilization: (ECS) average CPU utilization.'."\n" + .'- IntranetTx: (ECS) average outbound traffic over the internal network.'."\n" + .'- IntranetRx: (ECS) average inbound traffic over the internal network.'."\n" + .'- VpcInternetTx: (ECS) average outbound traffic over the Internet.'."\n" + .'- VpcInternetRx: (ECS) average inbound traffic over the Internet.'."\n" + .'- LoadBalancerRealServerAverageQps: (ALB) QPS per server in a server group.'."\n" + ."\n" + .'Valid values for predictive scaling rules: '."\n" + .'- CpuUtilization: (ECS) average CPU utilization.'."\n" + .'- IntranetRx: (ECS) average inbound traffic over the internal network.'."\n" + .'- IntranetTx: (ECS) average outbound traffic over the internal network.'."\n" + ."\n" + .'For more information, see [Event-triggered tasks for system monitoring](~~74854~~).', 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization', 'title' => ''], ], [ - 'name' => 'AutoCreateEip', + 'name' => 'TargetValue', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to automatically create an elastic IP address (EIP), and then bind the EIP to the elastic container instance.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The target value. This parameter is applicable to target tracking scaling rules and predictive scaling rules. The value of TargetValue can have up to three decimal places and must be greater than 0.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.125', 'title' => ''], ], [ - 'name' => 'EipBandwidth', + 'name' => 'DisableScaleIn', 'in' => 'query', - 'schema' => [ - 'description' => 'The bandwidth of the EIP.'."\n" - ."\n" - .'Default value: 5. Unit: Mbit/s.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1000000', - 'minimum' => '0', - 'example' => '5', - ], + 'schema' => ['description' => 'Specifies whether to disable scale-in. This parameter is applicable only to target tracking scaling rules.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'HostName', + 'name' => 'ScaleInEvaluationCount', 'in' => 'query', - 'schema' => [ - 'description' => 'The hostname of the elastic container instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => 'After a target tracking scaling rule is created, an event-triggered task is automatically created. This parameter specifies the number of consecutive times that the threshold condition must be met before the corresponding scale-in event-triggered task triggers an alert.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '15', 'title' => ''], ], [ - 'name' => 'IngressBandwidth', + 'name' => 'ScaleOutEvaluationCount', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum inbound bandwidth. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'maximum' => '9223372036854775807', - 'minimum' => '0', - 'example' => '1024000', - ], + 'schema' => ['description' => 'After a target tracking scaling rule is created, an event-triggered task is automatically created. This parameter specifies the number of consecutive times that the threshold condition must be met before the corresponding scale-out event-triggered task triggers an alert.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], ], [ - 'name' => 'EgressBandwidth', + 'name' => 'PredictiveScalingMode', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum outbound bandwidth. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'maximum' => '9223372036854775807', - 'minimum' => '0', - 'example' => '1024000', - ], + 'schema' => ['description' => 'The mode of the predictive scaling rule. Valid values:'."\n" + ."\n" + .'- PredictAndScale: generates prediction results and creates prediction tasks.'."\n" + .'- PredictOnly: generates prediction results but does not create prediction tasks.', 'type' => 'string', 'required' => false, 'example' => 'PredictAndScale', 'title' => ''], ], [ - 'name' => 'CpuOptionsCore', + 'name' => 'PredictiveValueBehavior', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of physical CPU cores. You can specify this parameter only for specific instance types. For more information, see [Customize CPU options](~~197781~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1000', - 'minimum' => '0', - 'example' => '2', - ], + 'schema' => ['description' => 'The method used to handle the maximum value of the predictive scaling rule. Valid values:'."\n" + ."\n" + .'- MaxOverridePredictiveValue: the initial maximum value overrides the predicted value. If the predicted value is greater than the initial maximum value, the maximum value of the prediction task is set to the initial maximum value.'."\n" + .'- PredictiveValueOverrideMax: the predicted value overrides the initial maximum value. If the predicted value is greater than the initial maximum value, the maximum value of the prediction task is set to the predicted value.'."\n" + .'- PredictiveValueOverrideMaxWithBuffer: the predicted value is increased by a specified percentage. The predicted value is increased based on the PredictiveValueBuffer percentage. If the increased value is greater than the initial maximum value, the increased value is used.', 'type' => 'string', 'required' => false, 'example' => 'MaxOverridePredictiveValue', 'title' => ''], ], [ - 'name' => 'CpuOptionsThreadsPerCore', + 'name' => 'PredictiveValueBuffer', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of threads per core. You can specify this parameter only for specific instance types. If you set this parameter to 1, Hyper-Threading is disabled. For more information, see [Customize CPU options](~~197781~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'This parameter takes effect when `PredictiveValueBehavior` is set to `PredictiveValueOverrideMaxWithBuffer`. The predicted value is increased by this percentage. If the increased value is greater than the initial maximum value, the increased value is used. Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], ], [ - 'name' => 'EphemeralStorage', + 'name' => 'PredictiveTaskBufferTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the temporary storage space. By default, an enhanced SSD (ESSD) of the PL1 level is used. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5000', - 'minimum' => '0', - 'example' => '20', - ], + 'schema' => ['description' => 'Prediction tasks automatically created by a predictive scaling rule execute on the hour by default. You can configure a buffer time to execute prediction tasks ahead of schedule and prepare resources in advance. Valid values: 0 to 60.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''], ], [ - 'name' => 'LoadBalancerWeight', + 'name' => 'InitialMaxSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The weight of the elastic container instance as a backend server. Valid values: 1 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The maximum number of instances in the scaling group. This parameter is used together with PredictiveValueBehavior.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], ], [ - 'name' => 'Tag', + 'name' => 'StepAdjustment', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Information about the tags.', + 'description' => 'The collection of step adjustment information for step scaling.', 'type' => 'array', 'items' => [ - 'description' => 'Information about the tags.', + 'description' => 'The collection of step adjustment information for step scaling.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'version', - ], - 'Value' => [ - 'description' => 'The value of tag N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '3', - ], + 'MetricIntervalUpperBound' => ['description' => 'The upper bound of a step adjustment. This parameter is applicable only to step scaling rules. Valid values: -9.999999E18 to 9.999999E18.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '5.0', 'title' => ''], + 'ScalingAdjustment' => ['description' => 'The number of instances to scale in a step adjustment. This parameter is applicable only to step scaling rules.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'MetricIntervalLowerBound' => ['description' => 'The lower bound of a step adjustment. This parameter is applicable only to step scaling rules. Valid values: -9.999999E18 to 9.999999E18.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 21, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ImageRegistryCredential', + 'name' => 'AlarmDimension', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Information about the image repository.', + 'description' => 'The dimension information associated with the metric. This parameter is applicable to target tracking scaling rules. Set this parameter when the metric requires additional dimension information. For example, the `LoadBalancerRealServerAverageQps` metric requires the `rulePool` dimension information.', 'type' => 'array', 'items' => [ - 'description' => 'Information about the image repository.', + 'description' => 'The dimension information associated with the metric. This parameter is applicable to target tracking scaling rules. Set this parameter when the metric requires additional dimension information. For example, the `LoadBalancerRealServerAverageQps` metric requires the `rulePool` dimension information.', 'type' => 'object', 'properties' => [ - 'Password' => [ - 'description' => 'The password that is used to access image repository N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'yourpaasword', - ], - 'Server' => [ - 'description' => 'The address of image repository N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com', - ], - 'UserName' => [ - 'description' => 'The username that is used to access image repository N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'yourusername', - ], + 'DimensionKey' => ['description' => 'The key of the dimension associated with the metric.', 'type' => 'string', 'required' => false, 'example' => 'rulePool', 'title' => ''], + 'DimensionValue' => ['description' => 'The value of the dimension associated with the metric.', 'type' => 'string', 'required' => false, 'example' => 'sgp-l1cbirz451yxu2****', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 11, + 'maxItems' => 5, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Container', + 'name' => 'MetricType', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The minimum number of consecutive successes before a failed probe is considered successful. Default value: 1. Valid value: 1.', - 'type' => 'array', - 'items' => [ - 'description' => 'The minimum number of consecutive successes before a failed probe is considered successful. Default value: 1. Valid value: 1.'."\n", - 'type' => 'object', - 'properties' => [ - 'ReadinessProbe.TimeoutSeconds' => [ - 'description' => 'The timeout period for the probe. Unit: seconds. Default value: 1. Minimum value: 1.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'ReadinessProbe.SuccessThreshold' => [ - 'description' => 'The minimum number of consecutive successes for the probe to be considered successful after having failed. Default value: 1. Set the value to 1.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'SecurityContext.Capability.Add' => [ - 'description' => 'The permissions granted to processes in the container.', - 'type' => 'array', - 'items' => [ - 'description' => 'The permissions that you want to grant to the processes in container N. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'> To use NET_RAW, you must submit a ticket.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NET_ADMIN', - ], - 'required' => false, - 'maxItems' => 100, - ], - 'ReadinessProbe.TcpSocket.Port' => [ - 'description' => 'The port detected by TCP sockets when you use TCP sockets to perform probes.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8000', - ], - 'ReadinessProbe.HttpGet.Scheme' => [ - 'description' => 'The protocol type of HTTP GET requests when you use HTTP requests to perform health checks. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - 'LivenessProbe.PeriodSeconds' => [ - 'description' => 'The interval at which probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], - 'Port' => [ - 'description' => 'Information about the ports.', - 'type' => 'array', - 'items' => [ - 'description' => 'Information about the ports.', - 'type' => 'object', - 'properties' => [ - 'Protocol' => [ - 'description' => 'The type of the protocol. Valid values:'."\n" - ."\n" - .'* TCP'."\n" - .'* UDP'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TCP', - ], - 'Port' => [ - 'description' => 'The port number. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 101, - ], - 'SecurityContext.ReadOnlyRootFilesystem' => [ - 'description' => 'Specifies whether permissions on the root file system are read-only. Set the value to true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'EnvironmentVar' => [ - 'description' => 'Information about the environment variables.', - 'type' => 'array', - 'items' => [ - 'description' => 'Information about the environment variables.', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the environment variable. Specify the name in the `[0-9a-zA-Z]` format. The name must be 1 to 128 characters in length, and can contain underscores (_). It cannot start with a digit.', - 'type' => 'string', - 'required' => false, - 'example' => 'PATH', - ], - 'Value' => [ - 'description' => 'The value of the environment variable. The value must be 0 to 256 characters in length.', - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/bin', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 301, - ], - 'LivenessProbe.TcpSocket.Port' => [ - 'description' => 'The port detected by TCP sockets when you use TCP sockets to perform probes.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8000', - ], - 'Tty' => [ - 'description' => 'Specifies whether to enable interaction. Default value: false.'."\n" - ."\n" - .'If the command is a /bin/bash command, set the value to true.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'WorkingDir' => [ - 'description' => 'The working directory of the container.', - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/', - ], - 'LivenessProbe.HttpGet.Scheme' => [ - 'description' => 'The protocol type of HTTP GET requests when you use HTTP requests to perform health checks. Valid values:'."\n" - ."\n" - .'* HTTP'."\n" - .'* HTTPS'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - 'ReadinessProbe.HttpGet.Port' => [ - 'description' => 'The port to which HTTP GET requests are sent when you use HTTP requests to perform probes.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8080', - ], - 'Arg' => [ - 'description' => 'The arguments that correspond to the startup commands of the container. You can specify up to 10 arguments.', - 'type' => 'array', - 'items' => [ - 'description' => 'The arguments that correspond to the startup commands of the container. You can specify up to 10 arguments.', - 'type' => 'string', - 'required' => false, - 'example' => '100', - ], - 'required' => false, - 'maxItems' => 101, - ], - 'Gpu' => [ - 'description' => 'The number of GPUs that you want to allocate to the container.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'ReadinessProbe.InitialDelaySeconds' => [ - 'description' => 'The time period after the container is started and before the probe is initiated. Unit: seconds.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'Stdin' => [ - 'description' => 'Specifies whether the container allocates buffer resources to standard input streams when the container is running. If you do not specify this parameter, an end-of-file (EOF) error may occur.'."\n" - ."\n" - .'Default value: false.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Memory' => [ - 'description' => 'The memory size of the container. Unit: GiB.', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.5', - ], - 'Name' => [ - 'description' => 'The name of the container image.', - 'type' => 'string', - 'required' => false, - 'example' => 'nginx', - ], - 'Image' => [ - 'description' => 'The image of the container.', - 'type' => 'string', - 'required' => false, - 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', - ], - 'LivenessProbe.InitialDelaySeconds' => [ - 'description' => 'The time period after the container is started and before the probe is initiated. Unit: seconds.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], - 'VolumeMount' => [ - 'description' => 'Information about the volume mount of the container.', + 'schema' => ['description' => 'The type of the metric. Valid values:'."\n" + ."\n" + .'- system: uses CloudMonitor system metrics.'."\n" + .'- custom: uses custom metrics reported to CloudMonitor.'."\n" + .'- hybrid: uses Hybrid Cloud Monitoring metrics.', 'type' => 'string', 'required' => false, 'example' => 'system', 'title' => ''], + ], + [ + 'name' => 'HybridMonitorNamespace', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the Hybrid Cloud Monitoring monitoring metrics repository.'."\n" + ."\n" + .'To manage monitoring metrics repositories, see [Manage monitoring metrics repositories](~~217606~~).', 'type' => 'string', 'required' => false, 'example' => 'aliyun-test', 'title' => ''], + ], + [ + 'name' => 'HybridMetrics', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The Hybrid Cloud Monitoring monitoring metrics settings. For more information about how to configure this parameter, see [Use formula-based custom target tracking scaling rules](~~2852162~~).', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => 'The reference ID of the metric in the formula expression.', 'type' => 'string', 'required' => false, 'example' => 'a', 'title' => ''], + 'Expression' => ['description' => 'The formula expression for multiple Hybrid Cloud Monitoring metrics. The calculation result of the expression is used to trigger scaling activities.'."\n" + ."\n" + .'The expression must comply with the Reverse Polish Notation (RPN) specification, and only the `+ - * /` operators are supported.', 'type' => 'string', 'required' => false, 'example' => '(a+b)/2', 'title' => ''], + 'MetricName' => ['description' => 'The name of the monitoring metrics in the Hybrid Cloud Monitoring monitoring metrics repository.', 'type' => 'string', 'required' => false, 'example' => 'AliyunSmq_NumberOfMessagesVisible', 'title' => ''], + 'Statistic' => ['description' => 'The statistical method of the metric. Valid values:'."\n" + .'- Average: the average of all data points within the specified interval.'."\n" + .'- Minimum: the minimum value of all data points within the specified interval.'."\n" + .'- Maximum: the maximum value of all data points within the specified interval.', 'type' => 'string', 'required' => false, 'example' => 'Average', 'title' => ''], + 'Dimensions' => [ + 'description' => 'The metric dimensions. Specifies the resources to monitor for the metric.', 'type' => 'array', 'items' => [ - 'description' => 'Information about the volume mount of the container.', 'type' => 'object', 'properties' => [ - 'MountPropagation' => [ - 'description' => 'The mount propagation setting of the volume. Mount propagation allows volumes that are mounted on one container to be shared with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" - ."\n" - .'* None: This volume mount does not receive subsequent mounts that are mounted to this volume or subdirectories of this volume by the host.'."\n" - .'* HostToCotainer: This volume mount receives all subsequent mounts that are mounted to this volume or subdirectories of this volume.'."\n" - .'* Bidirectional: The volume mount behaves the same as the HostToCotainer mount. The volume mount receives all subsequent mounts that are mounted to this volume or subdirectories of this volume. In addition, all volume mounts created by the container are propagated back to the host and to all containers of all pods that use the same volume.'."\n" - ."\n" - .'Default value: None.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The path where the container mounts the volume.'."\n" - ."\n" - .'>Data stored in the path of the container is directly overwritten by the content of the volume.', - 'type' => 'string', - 'required' => false, - 'example' => '/pod/data', - ], - 'ReadOnly' => [ - 'description' => 'Specifies whether the volume is read-only.'."\n" - ."\n" - .'Default value: false.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Name' => [ - 'description' => 'The name of the volume. The value of this parameter is the same as the value of the Volumes.Name parameter.', - 'type' => 'string', - 'required' => false, - 'example' => 'default-volume1', - ], - 'SubPath' => [ - 'description' => 'The subdirectory of the volume.', - 'type' => 'string', - 'required' => false, - 'example' => 'data2/', - ], + 'DimensionKey' => ['description' => 'The key of the metric dimension.', 'type' => 'string', 'required' => false, 'example' => 'queue', 'title' => ''], + 'DimensionValue' => ['description' => 'The value of the metric dimension.', 'type' => 'string', 'required' => false, 'example' => 'testQueue', 'title' => ''], ], 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 101, - ], - 'LivenessProbe.FailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures for the probe to be considered failed after having been successful.'."\n" - ."\n" - .'Default value: 3.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'ReadinessProbe.Exec.Command' => [ - 'description' => 'The commands executed in the container when using the command line to perform the health check.', - 'type' => 'array', - 'items' => [ - 'description' => 'The command.', - 'type' => 'string', - 'required' => false, - 'example' => 'cat/tmp/healthy', - ], - 'required' => false, - 'maxItems' => 20, - ], - 'ReadinessProbe.FailureThreshold' => [ - 'description' => 'The minimum number of consecutive failures for the probe to be considered failed after having been successful.'."\n" - ."\n" - .'Default value: 3.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'ImagePullPolicy' => [ - 'description' => 'The policy that you want to use to pull an image. Valid values:'."\n" - ."\n" - .'* Always: Each time instances are created, image pulling is performed.'."\n" - .'* IfNotPresent: Image pulling is performed as needed. On-premises images are preferentially used. If no on-premises images are available, image pulling is performed.'."\n" - .'* Never: On-premises images are always used. Image pulling is not performed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Always', - ], - 'StdinOnce' => [ - 'description' => 'Specifies whether standard input streams are disconnected after a client is disconnected.'."\n" - ."\n" - .'If you set the StdinOnce parameter to true, standard input streams are connected after the container is started, and remain idle until a client is connected to receive data. After the client is disconnected, streams are also disconnected, and remain disconnected until the container is started again.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs that you want to allocate to the container.', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.25', - ], - 'LivenessProbe.HttpGet.Port' => [ - 'description' => 'The port to which HTTP GET requests are sent when you use HTTP requests to perform probes.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8888', - ], - 'LivenessProbe.HttpGet.Path' => [ - 'description' => 'The path to which HTTP GET requests are sent when you use HTTP requests to perform probes.', - 'type' => 'string', - 'required' => false, - 'example' => '/healthyz', - ], - 'LivenessProbe.SuccessThreshold' => [ - 'description' => 'The minimum number of consecutive successes for the probe to be considered successful after having failed. Default value: 1. Set the value to 1.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'ReadinessProbe.PeriodSeconds' => [ - 'description' => 'The interval at which probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - 'LivenessProbe.TimeoutSeconds' => [ - 'description' => 'The timeout period for the probe. Unit: seconds. Default value: 1. Minimum value: 1.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'Command' => [ - 'description' => 'The commands that you want to execute in the container when you use the command line interface (CLI) to perform probes.', - 'type' => 'array', - 'items' => [ - 'description' => 'The command.', - 'type' => 'string', - 'required' => false, - 'example' => 'sleep', - ], - 'required' => false, - 'maxItems' => 101, - ], - 'SecurityContext.RunAsUser' => [ - 'description' => 'The ID of the user that runs the container.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000', - ], - 'ReadinessProbe.HttpGet.Path' => [ - 'description' => 'The path to which HTTP GET requests are sent when you use HTTP requests to perform probes.', - 'type' => 'string', - 'required' => false, - 'example' => '/healthz', - ], - 'LivenessProbe.Exec.Command' => [ - 'description' => 'The command executed in the container when using the command line to perform the health check.', - 'type' => 'array', - 'items' => [ - 'description' => 'The command executed in the container when using the command line to perform the health check.', - 'type' => 'string', - 'required' => false, - 'example' => 'cat /tmp/healthy', - ], - 'required' => false, - 'maxItems' => 21, - ], - 'LifecyclePostStartHandlerHttpGetHost' => [ - 'type' => 'string', - ], - 'LifecyclePostStartHandlerHttpGetPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'LifecyclePostStartHandlerHttpGetPath' => [ - 'type' => 'string', - ], - 'LifecyclePostStartHandlerHttpGetScheme' => [ - 'type' => 'string', - ], - 'LifecyclePostStartHandlerExec' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - ], - 'LifecyclePostStartHandlerTcpSocketHost' => [ - 'type' => 'string', - ], - 'LifecyclePostStartHandlerTcpSocketPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'LifecyclePreStopHandlerHttpGetHost' => [ - 'type' => 'string', - ], - 'LifecyclePreStopHandlerHttpGetPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'LifecyclePreStopHandlerHttpGetPath' => [ - 'type' => 'string', - ], - 'LifecyclePreStopHandlerHttpGetScheme' => [ - 'type' => 'string', - ], - 'LifecyclePreStopHandlerExec' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 20, - ], - 'LifecyclePreStopHandlerTcpSocketHost' => [ - 'type' => 'string', - ], - 'LifecyclePreStopHandlerTcpSocketPort' => [ - 'type' => 'integer', - 'format' => 'int32', + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 21, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'AlarmOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The alert property definitions.', + 'type' => 'object', + 'properties' => [ + 'Period' => ['description' => 'The statistical period for monitoring data in the target tracking scaling rule. Unit: seconds. Valid values:'."\n" + ."\n" + .'- 15.'."\n" + .'- 60.'."\n" + .'- 120.'."\n" + .'- 300.'."\n" + .'- 900.'."\n" + ."\n" + .'> Default value: 60.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Modify a scaling rule', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingRuleId.NotFound|The specified scaling rule does not exist.|The specified scaling rule does not exist under this account.|'."\n" + .'|400|InvalidScalingRuleName.Duplicate|The specified value of parameter is duplicated.|The scaling rule name already exists.|'."\n" + .'|400|QuotaExceeded.ScalingRule|Scaling rule quota exceeded in the specified scaling group.|The number of scaling rules has reached the upper limit.|'."\n" + .'|400|TargetTrackingScalingRule.UnsupportedMetric|Specific metric is not supported for target tracking scaling rule.|The specified monitoring metrics is not supported for target tracking scaling rules.|'."\n" + .'|400|TargetTrackingScalingRule.DumplicateMetric|Only one TargetTrackingScaling rule for a given metric specification is allowed.|Only one target tracking scaling rule is allowed for each monitoring metrics in a scaling group.|'."\n" + .'|400|InvalidMinAdjustmentMagnitudeMismatchAdjustmentType|MinAdjustmentMagnitude is not supported by the specified adjustment type.|MinAdjustmentMagnitude is not supported by the current adjustment type of the scaling rule.|'."\n" + .'|400|InvalidStepAdjustments.MultipleNullUpperBound|At most one StepAdjustment may have an unspecified upper bound.|At most one step adjustment can have an unspecified upper bound.|'."\n" + .'|400|InvalidStepAdjustments.MultipleNullLowerBound|At most one StepAdjustment may have an unspecified lower bound.|At most one step adjustment can have an unspecified lower bound.|'."\n" + .'|400|InvalidStepAdjustments.NoNullLowerBound|There must be a StepAdjustment with an unspecified lower bound when one StepAdjustment has a negative lower bound.|When a step adjustment has a negative lower bound, there must be a step adjustment with an unspecified lower bound.|'."\n" + .'|400|InvalidStepAdjustments.NoNullUpperBound|There must be a StepAdjustment with an unspecified upper bound when one StepAdjustment has a positive upper bound.|When a step adjustment has a positive upper bound, there must be a step adjustment with an unspecified upper bound.|'."\n" + .'|400|InvalidStepAdjustments.Gap|StepAdjustment intervals can not have gaps between them.|Step adjustment intervals cannot have gaps between them.|'."\n" + .'|400|InvalidStepAdjustments.Overlap|StepAdjustment intervals can not overlap.|Step adjustment intervals cannot overlap.|'."\n" + .'|400|InvalidStepAdjustments.LowerGtUpper|LowerBound must be less than the UpperBound for StepAdjustment :%s.|The lower bound must be less than the upper bound within the same step adjustment.|'."\n" + .'|400|InvalidStepAdjustments.BothNull|Both lower and upper bounds of a StepAdjustment can not be left unspecified.|Both the upper bound and lower bound of a step adjustment cannot be left unspecified.|'."\n" + .'|400|InvalidStepAdjustments.MaxNum|Your scaling rule can have at most %s StepAdjustments.|The number of step adjustments in the scaling group exceeds the upper limit.|'."\n" + .'|400|StepBeyondPermitRange|Specific parameter "%s" beyond permit range.|The upper bound or lower bound of the step adjustment exceeds the permitted range.|', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyScalingRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyScalingRule'], + ], + ], + ], + 'ModifyScheduledTask' => [ + 'summary' => 'Modifies the information of a scheduled task.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92711', + 'abilityTreeNodes' => ['FEATUREessAWW1X1'], + ], + 'parameters' => [ + [ + 'name' => 'ScheduledTaskId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scheduled task.', 'type' => 'string', 'required' => true, 'example' => 'edRtShc57WGXdt8TlPbr****', 'title' => ''], + ], + [ + '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, and Chinese characters. It can also contain periods (.), underscores (_), or hyphens (-). The name must be unique within the same account in the same region.', 'type' => 'string', 'required' => false, 'example' => 'scheduled****', 'title' => ''], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the scheduled task. The description must be 2 to 200 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'Test scheduled task.', 'title' => ''], + ], + [ + 'name' => 'ScheduledAction', + 'in' => 'query', + 'schema' => ['description' => 'The unique identifier of the scaling rule to execute. This parameter takes effect only when the scaling method is set to use an existing scaling rule. You can view the identifier on the scaling rule details page.'."\n" + ."\n" + .'> You cannot specify both `ScheduledAction` and `ScalingGroupId` at the same time.', 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:14069264****:scalingrule/asr-bp12tcnol686y1ik****', 'title' => ''], + ], + [ + 'name' => 'RecurrenceEndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end time of the recurrence for the scheduled task. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mmZ format. The time must be in UTC. The end time cannot be more than 365 days from the modification date.', 'type' => 'string', 'required' => false, 'example' => '2014-08-20T16:55Z', 'title' => ''], + ], + [ + 'name' => 'LaunchTime', + 'in' => 'query', + 'schema' => ['description' => 'The time at which the scheduled task is triggered. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mmZ format. The time must be in UTC. The time cannot be more than 90 days from the modification date.'."\n" + ."\n" + .'- If you specify `RecurrenceType`, the time specified by this parameter is the default time for recurring execution.'."\n" + ."\n" + .'- If you do not specify `RecurrenceType`, the task is executed only once at the specified date and time.', 'type' => 'string', 'required' => false, 'example' => '2014-08-18T10:52Z', 'title' => ''], + ], + [ + 'name' => 'RecurrenceType', + 'in' => 'query', + 'schema' => ['description' => 'The recurrence type of the scheduled task. The task can be executed on a daily, weekly, monthly, or cron-based schedule. Valid values:'."\n" + .' '."\n" + .'- Daily: The scheduled task is executed every specified number of days.'."\n" + .'- Weekly: The scheduled task is executed on specified days of each week.'."\n" + .'- Monthly: The scheduled task is executed on specified days of each month.'."\n" + .'- Cron: The scheduled task is executed based on the specified cron expression.'."\n" + ."\n" + .'After modification, `RecurrenceType` and `RecurrenceValue` must both be valid.', 'type' => 'string', 'required' => false, 'example' => 'Daily', 'title' => ''], + ], + [ + 'name' => 'RecurrenceValue', + 'in' => 'query', + 'schema' => ['description' => 'The value that corresponds to the recurrence type of the scheduled task.'."\n" + ."\n" + .'- If `RecurrenceType` is set to `Daily`, you can specify only one value. Valid values: 1 to 31.'."\n" + .'- If `RecurrenceType` is set to `Weekly`, you can specify multiple values separated by commas (,). For example, the values for Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday are `0,1,2,3,4,5,6`.'."\n" + .'- If `RecurrenceType` is set to `Monthly`, the value is in the `A-B` format. Valid values of A and B: 1 to 31. B must be greater than or equal to A.'."\n" + .'- If `RecurrenceType` is set to `Cron`, the value is a UTC-based cron expression that supports five fields: minute, hour, day, month, and day of week. The following wildcard characters are supported: comma (,), question mark (?), hyphen (-), asterisk (*), pound sign (#), forward slash (/), L, and W.'."\n" + ."\n" + .'After modification, `RecurrenceType` and `RecurrenceValue` must both be valid.', 'type' => 'string', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'TaskEnabled', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the scheduled task. Valid values:'."\n" + ."\n" + .'- true: enables the scheduled task.'."\n" + .'- false: disables the scheduled task.'."\n" + ."\n" + .'Default value: true.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'LaunchExpirationTime', + 'in' => 'query', + 'schema' => ['description' => 'The time period during which Auto Scaling retries the execution of a scheduled task after the task fails to be triggered. Unit: seconds. Valid values: 0 to 1800.'."\n" + ."\n" + .'Default value: 600.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '86400', 'minimum' => '0', 'example' => '600', 'title' => ''], + ], + [ + 'name' => 'MinValue', + 'in' => 'query', + 'schema' => ['description' => 'The minimum number of instances in the scaling group. This parameter takes effect only when the scaling method is set to configure the number of instances in a scaling group.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'MaxValue', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of instances in the scaling group. This parameter takes effect only when the scaling method is set to configure the number of instances in a scaling group.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'DesiredCapacity', + 'in' => 'query', + 'schema' => ['description' => 'The expected number of instances in the scaling group. This parameter takes effect only when the scaling method is set to configure the number of instances in a scaling group.'."\n" + ."\n" + .'> The scaling group must support the expected number of instances feature, which means `DesiredCapacity` was specified when the scaling group was created.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group whose instance count you want to modify when the scheduled task is triggered. This parameter takes effect only when the scaling method is set to configure the number of instances in a scaling group. After you specify `ScalingGroupId`, you must specify a value for at least one of the following parameters: `MinValue`, `MaxValue`, and `DesiredCapacity`.'."\n" + ."\n" + .'> You cannot specify both `ScheduledAction` and `ScalingGroupId` at the same time.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Throttling', 'errorMessage' => 'Request was denied due to request throttling.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Modify a scheduled task', + 'description' => '## Operation description'."\n" + ."\n" + .'Scheduled tasks support two scaling methods:'."\n" + .'- Use the `ScheduledAction` parameter to specify a scaling rule to execute.'."\n" + .'- Use the `ScalingGroupId` parameter to set the number of instances in a scaling group.'."\n" + ."\n" + .'> You cannot specify both `ScheduledAction` and `ScalingGroupId` at the same time.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScheduledTaskId.NotFound|The specified scheduled task does not exist.|The specified scheduled task does not exist in the current account.|'."\n" + .'|400|InvalidScheduledTaskName.Duplicate|The specified value of parameter `ScheduledTaskName` is duplicated.|The specified scheduled task name already exists.|'."\n" + .'|400|ScheduledAction.RegionMismatch|The specified scheduled task and the specified scheduled action are not in the same Region.|The specified ScheduledAction and the scheduled task are not in the same region.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyScheduledTask'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyScheduledTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + ], + 'RebalanceInstances' => [ + 'summary' => 'Rebalances the distribution of ECS instances across zones in a multi-zone scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92712', + 'abilityTreeNodes' => ['FEATUREessPV8ZVU'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], + ], [ - 'name' => 'Volume', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Information about the volumes.', - 'type' => 'array', - 'items' => [ - 'description' => 'Information about the volumes.', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of HostPathVolume. Examples: File, Directory, and Socket.', - 'type' => 'string', - 'required' => false, - 'example' => 'EmptyDirVolume', - ], - 'DiskVolume.DiskSize' => [ - 'description' => 'The storage size of the disk volume. Unit: GiB.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '15', - ], - 'NFSVolume.Path' => [ - 'description' => 'The path of the NFS volume.', - 'type' => 'string', - 'required' => false, - 'example' => '/share', - ], - 'FlexVolume.FsType' => [ - 'description' => 'The type of the mounted file system. By default, the value of this parameter varies based on the script of FlexVolume.', - 'type' => 'string', - 'required' => false, - 'example' => 'ext4', - ], - 'DiskVolume.FsType' => [ - 'description' => 'The type of the disk volume. We recommend that you specify the `FlexVolume.FsType` parameter instead of the DiskVolume.FsType parameter.', - 'type' => 'string', - 'required' => false, - 'example' => 'xfs', - ], - 'HostPathVolume.Type' => [ - 'description' => 'The type of host directory. For example: File, Directory, Socket, etc.', - 'type' => 'string', - 'required' => false, - 'example' => 'Directory', - ], - 'NFSVolume.ReadOnly' => [ - 'description' => 'Specifies whether the NFS volume is read-only.'."\n" - ."\n" - .'Default value: false.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'HostPathVolume.Path' => [ - 'description' => 'The absolute path to HostPathVolume.', - 'type' => 'string', - 'required' => false, - 'example' => '/xx/xx/name', - ], - 'FlexVolume.Options' => [ - 'description' => 'The FlexVolume objects. Each object is a key-value pair contained in a JSON string.'."\n" - ."\n" - .'For example, when you use FlexVolume to mount a disk, the format of objects is `{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}`.', - 'type' => 'string', - 'required' => false, - 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}', - ], - 'FlexVolume.Driver' => [ - 'description' => 'The name of the FlexVolume driver.', - 'type' => 'string', - 'required' => false, - 'example' => 'flexvolume', - ], - 'ConfigFileVolumeDefaultMode' => [ - 'description' => 'The default permissions on ConfigFileVolume.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0644', - ], - 'NFSVolume.Server' => [ - 'description' => 'The endpoint of the NFS server.', - 'type' => 'string', - 'required' => false, - 'example' => '3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com', - ], - 'DiskVolume.DiskId' => [ - 'description' => 'The ID of the disk volume.', - 'type' => 'string', - 'required' => false, - 'example' => 'd-xx', - ], - 'Name' => [ - 'description' => 'The name of the volume.', - 'type' => 'string', - 'required' => false, - 'example' => 'default-volume1', - ], - 'EmptyDirVolume.Medium' => [ - 'description' => 'The storage medium of EmptyDirVolume. If you leave this parameter empty, the file system that backs the node is used as the storage medium. If you set this parameter to memory, the memory is used as the storage medium.', - 'type' => 'string', - 'required' => false, - 'example' => 'memory', - ], - 'ConfigFileVolumeConfigFileToPath' => [ - 'description' => 'The paths to the configuration files.', - 'type' => 'array', - 'items' => [ - 'description' => 'The paths to the configuration files.', - 'type' => 'object', - 'properties' => [ - 'Path' => [ - 'description' => 'The relative path to the configuration file.', - 'type' => 'string', - 'required' => false, - 'example' => '/usr/bin/', - ], - 'Mode' => [ - 'description' => 'The permissions on ConfigFileVolume.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0644', - ], - 'Content' => [ - 'description' => 'The content of the configuration file, which can be up to 32 KB in size.', - 'type' => 'string', - 'required' => false, - 'example' => 'bGl1bWk=', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 90, - ], - 'EmptyDirVolume.SizeLimit' => [ - 'type' => 'string', - ], - ], - 'required' => false, + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'example' => 'asa-kjgffgdfadah****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], - 'required' => false, - 'maxItems' => 101, + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'InitContainer', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The init containers.', - 'type' => 'array', - 'items' => [ - 'description' => 'The init containers.', - 'type' => 'object', - 'properties' => [ - 'InitContainerEnvironmentVar' => [ - 'description' => 'The environment variables of the init container.', - 'type' => 'array', - 'items' => [ - 'description' => 'The environment variables of the init container.', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the environment variable. The key must be 1 to 128 characters in length. Specify the name in the `[0-9a-zA-Z]` format. The name can contain underscores and cannot start with a digit.', - 'type' => 'string', - 'required' => false, - 'example' => 'Path', - ], - 'Value' => [ - 'description' => 'The value of the environment variable. The value must be 0 to 256 characters in length.', - 'type' => 'string', - 'required' => false, - 'example' => '/usr/bin/', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 301, - ], - 'SecurityContext.Capability.Add' => [ - 'description' => 'The permissions granted to processes in the container.', - 'type' => 'array', - 'items' => [ - 'description' => 'The permission granted to processes in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" - ."\n" - .'>To use NET_RAW, you must submit a ticket.', - 'type' => 'string', - 'required' => false, - 'example' => 'NET_ADMIN', - ], - 'required' => false, - 'maxItems' => 100, - ], - 'Image' => [ - 'description' => 'The container image.', - 'type' => 'string', - 'required' => false, - 'example' => 'nginx', - ], - 'InitContainerVolumeMount' => [ - 'description' => 'Information about the volume mounts of the init container.', - 'type' => 'array', - 'items' => [ - 'description' => 'Information about the volume mounts of the init container.', - 'type' => 'object', - 'properties' => [ - 'MountPropagation' => [ - 'description' => 'The mount propagation setting of the volume. Mount propagation allows the sharing of volumes that are mounted on one container with other containers in the same pod, or even with other pods on the same node. Valid values:'."\n" - ."\n" - .'- None: The volume mount does not receive subsequent mounts that are mounted to this volume or its subdirectories.'."\n" - .'- HostToCotainer: The volume mount receives all subsequent mounts that are mounted to this volume or its subdirectories.'."\n" - .'- Bidirectional: This value is similar to HostToCotainer. The volume mount receives all subsequent mounts that are mounted to this volume or its subdirectories. In addition, all volume mounts that are created by the container are propagated back to the instance and to all containers of all pods that use the same volume.'."\n" - ."\n" - .'Default value: None.', - 'type' => 'string', - 'required' => false, - 'example' => 'None', - ], - 'MountPath' => [ - 'description' => 'The path where the container mounts the volume.'."\n" - ."\n" - .'>Data stored in the path of the container is overwritten by the content of the volume.', - 'type' => 'string', - 'required' => false, - 'example' => '/usr/share/', - ], - 'ReadOnly' => [ - 'description' => 'Specifies whether the mount path is read-only.'."\n" - ."\n" - .'Default value: false.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'Name' => [ - 'description' => 'The name of the volume.', - 'type' => 'string', - 'required' => false, - 'example' => 'test-empty', - ], - 'SubPath' => [ - 'description' => 'The subdirectory of the volume. The elastic container instance can mount different directories of the same volume to different subdirectories of containers.', - 'type' => 'string', - 'required' => false, - 'example' => '/usr/sub/', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 101, - ], - 'ImagePullPolicy' => [ - 'description' => 'The image pulling policy. Valid values:'."\n" - ."\n" - .'* Always: Image pulling is always performed.'."\n" - .'* IfNotPresent: Image pulling is performed as needed. On-premises images are preferentially used. If no on-premises images are available, image pulling is performed.'."\n" - .'* Never: On-premises images are always used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Always', - ], - 'Cpu' => [ - 'description' => 'The number of vCPUs that you want to allocate to the container.', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.5', - ], - 'WorkingDir' => [ - 'description' => 'The working directory.', - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local', - ], - 'Command' => [ - 'description' => 'The commands that you want to run to start the container.', - 'type' => 'array', - 'items' => [ - 'description' => 'The commands that you want to run to start the container.', - 'type' => 'string', - 'required' => false, - 'example' => 'sleep', - ], - 'required' => false, - 'maxItems' => 101, - ], - 'Arg' => [ - 'description' => 'The startup parameter of the container.', - 'type' => 'array', - 'items' => [ - 'description' => 'The arguments that are passed to the container startup command.', - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], - 'required' => false, - 'maxItems' => 101, - ], - 'SecurityContext.RunAsUser' => [ - 'description' => 'The ID of the user that runs the container.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '587', - ], - 'Gpu' => [ - 'description' => 'The number of GPUs that you want to allocate to the container.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'Memory' => [ - 'description' => 'The size of the memory. Unit: GiB.', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1.0', - ], - 'Name' => [ - 'description' => 'The name of the container.', - 'type' => 'string', - 'required' => false, - 'example' => 'test-init', - ], - ], - 'required' => false, + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-kjgffgdfadah****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Rebalance ECS instance distribution', + 'description' => '## Operation description'."\n" + ."\n" + .'The rebalancing operation compensates for imbalanced zones by creating new ECS instances to replace existing ones. New ECS instances are started before existing ones are terminated, so the rebalancing operation does not affect your application performance or availability.'."\n" + ."\n" + .'- This operation is supported only for multi-zone scaling groups whose `MultiAZPolicy` is set to `BALANCE`, and is used to balance the distribution of ECS instances across zones.'."\n" + ."\n" + .'- You can perform a rebalancing operation only when the instance distribution in the scaling group is severely imbalanced. A single rebalancing activity can replace up to 20 ECS instances.'."\n" + ."\n" + .'- During a rebalancing activity, if the number of instances in the scaling group approaches or reaches the specified maximum number of ECS instances (MaxSize) but further balancing is required, Auto Scaling allows the number of ECS instances to temporarily exceed MaxSize by 10%. This excess state persists until the instance distribution is balanced, typically for 1 to 6 minutes.'."\n" + ."\n" + .' >If 10% of the maximum number of instances is not an integer, the decimal part is rounded up to allow one additional instance. For example, if the maximum number of instances is 15, 10% is 1.5, so a temporary excess of 2 instances is allowed.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|IncorrectScalingGroupStatus|The current status of the specified scaling group does not support this action.|Enable the scaling group first.|'."\n" + .'|400|OperationDenied|This operation is denied because the specified scaling group does not support this action.|The `MultiAZPolicy` of the specified scaling group is not set to `BALANCE`, or the ECS instance distribution is not severely imbalanced.|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You are not authorized to call the RebalanceInstances operation.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist under your account.|.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:RebalanceInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, - 'maxItems' => 21, ], ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RebalanceInstances'], + ], + ], + ], + 'RecordLifecycleActionHeartbeat' => [ + 'summary' => 'Extends the wait time for an ECS instance that is suspended after a lifecycle hook is triggered.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92713', + 'abilityTreeNodes' => ['FEATUREessKFTMD6'], + ], + 'parameters' => [ [ - 'name' => 'DnsConfigNameServer', + 'name' => 'lifecycleHookId', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The ID of the lifecycle hook.', 'type' => 'string', 'required' => true, 'example' => 'ash-bp1fxuqyi98w0aib****', 'title' => ''], + ], + [ + 'name' => 'lifecycleActionToken', + 'in' => 'query', + 'schema' => ['description' => 'The token that indicates the wait state of the scaling activity. You can obtain this token from the details of the message received from the Simple Message Queue (formerly MNS) queue specified by the lifecycle hook when the instance is in the suspended state.'."\n" + ."\n" + .'You can also call [DescribeLifecycleActions](~~202473~~) to obtain this token.'."\n" + ."\n" + .'Alternatively, you can obtain this value from the Simple Message Queue (formerly MNS) topic specified by the lifecycle hook.', 'type' => 'string', 'required' => true, 'example' => 'F324B880-900E-4968-85DD-81691113****', 'title' => ''], + ], + [ + 'name' => 'heartbeatTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The wait time that the lifecycle hook sets for the scaling group activity. After the wait state times out, the default policy is executed. Valid values: 30 to 21600. Unit: seconds.'."\n" + ."\n" + .'After a lifecycle hook is created, you can call this operation to extend the wait time of the ECS instance, or call [CompleteLifecycleAction](~~73847~~) to end the wait state of the scaling activity in advance.'."\n" + ."\n" + .'Default value: 600.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '600', 'title' => ''], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The IP addresses of the DNS servers.', - 'type' => 'array', - 'items' => [ - 'description' => 'The IP addresses of the DNS servers.', - 'type' => 'string', - 'required' => false, - 'example' => '172.10.*.**', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + 'title' => 'Extend the wait time after a lifecycle hook is triggered', + 'description' => '## Operation description'."\n" + ."\n" + .'You can call this operation to extend the wait time only when the ECS instance is in the suspended state.'."\n" + ."\n" + .'The wait time of an ECS instance cannot exceed 6 hours, and each wait state can be extended up to 20 times.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidParamter|The specified value of parameter is not valid.|The specified parameter value is invalid.|'."\n" + .'|400|LifecycleHookIdAndLifecycleActionToken.Invalid|The specified lifecycleActionToken and LifecycleHookId you provided does not match any in process lifecycle action.|The specified lifecycleActionToken does not match any LifecycleHookId.|'."\n" + .'|400|LifecycleAction.TimeExceeded|The specified parameter heartbeatTime exceed lifecycleAction max suspend time.|The wait time cannot exceed 6 hours.|'."\n" + .'|400|LifecycleAction.RecordTimesExceeded|The specified lifecycleAction exceed lifecycleAction max record times.|Each wait state can be extended up to 20 times.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RecordLifecycleActionHeartbeat'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:RecordLifecycleActionHeartbeat', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'required' => false, - 'maxItems' => 20, ], ], + ], + ], + 'RemoveInstances' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '92714', + 'abilityTreeNodes' => ['FEATUREessDFX5TO'], + ], + 'parameters' => [ [ - 'name' => 'DnsConfigSearch', + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], + ], + [ + 'name' => 'RemovePolicy', + 'in' => 'query', + 'schema' => ['description' => 'The action to take on the ECS instances that are removed. Valid values:'."\n" + ."\n" + .'- recycle: The ECS instance enters the economy mode.'."\n" + ."\n" + .' > This value takes effect only when `ScalingPolicy` is set to `recycle`.'."\n" + ."\n" + .'- release: The ECS instance is released.'."\n" + ."\n" + .' The `ScalingPolicy` parameter of CreateScalingGroup specifies the reclaim mode of the scaling group, but the specific action taken when an instance is removed is determined by the `RemovePolicy` parameter of RemoveInstances. Examples:'."\n" + ."\n" + .' - If `ScalingPolicy` is set to `recycle` and `RemovePolicy` is set to `recycle`, the ECS instance enters the economy mode.'."\n" + .' - If `ScalingPolicy` is set to `recycle` and `RemovePolicy` is set to `release`, the ECS instance is released.'."\n" + .' - If `ScalingPolicy` is set to `release` and `RemovePolicy` is set to `recycle`, the ECS instance is released.'."\n" + .' - If `ScalingPolicy` is set to `release` and `RemovePolicy` is set to `release`, the ECS instance is released.'."\n" + ."\n" + .'Default value: release.', 'type' => 'string', 'required' => false, 'example' => 'release', 'title' => ''], + ], + [ + 'name' => 'DecreaseDesiredCapacity', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to modify the expected number of instances. Valid values:'."\n" + ."\n" + .'- true: After ECS instances are removed from the scaling group, the expected number of instances is decreased by the corresponding number.'."\n" + .'- false: After ECS instances are removed from the scaling group, the expected number of instances remains unchanged.'."\n" + ."\n" + .'Default value: true.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'IgnoreInvalidInstance', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to ignore invalid instances when you delete a batch of instances from the scaling group. Valid values:'."\n" + ."\n" + .'- true: Invalid instances are ignored when a batch of instances is deleted from the scaling group.'."\n" + .' '."\n" + .' If a batch of instances contains invalid instances (for example, instances whose instance status is `Pending`), the valid instances are successfully deleted, and the scaling activity execute status is displayed as `Warning`. You can view the invalid instances in the scaling activity details.'."\n" + .'- false: Invalid instances are not ignored when a batch of instances is deleted from the scaling group.'."\n" + ."\n" + .' If a batch of instances contains invalid instances, an error is returned.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'InstanceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The DNS lookup domains.', + 'description' => 'The ID of the ECS instance to be removed.', 'type' => 'array', - 'items' => [ - 'description' => 'The DNS lookup domains.', - 'type' => 'string', - 'required' => false, - 'example' => 'svc.local.kubenetes', - ], - 'required' => false, - 'maxItems' => 20, + 'items' => ['description' => 'The ID of the ECS instance to be removed. Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****', 'title' => ''], + 'required' => true, + 'example' => 'i-28wt4****', + 'maxItems' => 1000, + 'title' => '', ], ], [ - 'name' => 'DnsConfigOption', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], + ], + [ + 'name' => 'StopInstanceTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period for waiting for an ECS instance to be stopped during the scale-in process. Unit: seconds.'."\n" + .'Valid values: 30 to 240.'."\n" + ."\n" + .'> - By default, this parameter value is inherited from the scaling group. You can also reset this value when you call RemoveInstances.'."\n" + .'- This parameter takes effect only in scale-in processes where RemovePolicy is set to release. '."\n" + .'- If this parameter is specified, the system waits up to the StopInstanceTimeout period for the instance to stop. After the timeout period elapses, the scale-in process continues regardless of whether the instance is stopped. '."\n" + .'- If this parameter is not specified, the system waits until the instance is stopped before continuing the scale-in process. If the instance fails to stop, the scale-in process is rolled back and the scale-in fails.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], + ], + [ + 'name' => 'LifecycleHookContext', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.', - 'type' => 'array', - 'items' => [ - 'description' => 'The objects. Each object is a name-value pair. The value is optional.', - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'The variable value of the security context in which the elastic container instance runs.', - 'type' => 'string', - 'required' => false, - 'example' => 'value', - ], - 'Name' => [ - 'description' => 'The variable value of the security context in which the elastic container instance runs.', - 'type' => 'string', - 'required' => false, - 'example' => 'name', - ], + 'description' => 'The context information of the lifecycle hook.', + 'type' => 'object', + 'properties' => [ + 'DisableLifecycleHook' => ['description' => 'Specifies whether to disable all lifecycle hooks for the scaling activity. Valid values:'."\n" + ."\n" + .'- true: Disabled.'."\n" + .'- false: Not disabled.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'IgnoredLifecycleHookIds' => [ + 'description' => 'The list of lifecycle hook IDs to be disabled for the scaling activity.', + 'type' => 'array', + 'items' => ['description' => 'The list of lifecycle hook IDs to be disabled for the scaling activity.', 'type' => 'string', 'required' => false, 'example' => 'ash-bp14zolna43z266bq***', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'required' => false, + 'LifecycleHookResult' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'required' => false, - 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'HostAliase', - 'in' => 'query', - 'style' => 'repeatList', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Information about the hosts.', - 'type' => 'array', - 'items' => [ - 'description' => 'Information about the hosts.', - 'type' => 'object', - 'properties' => [ - 'Ip' => [ - 'description' => 'The IP address that you want to add.', - 'type' => 'string', - 'required' => false, - 'example' => '192.0.XX.XX', - ], - 'Hostname' => [ - 'description' => 'The name of the elastic container instance.', - 'type' => 'array', - 'items' => [ - 'description' => 'The name of the elastic container instance.', - 'type' => 'string', - 'required' => false, - 'example' => '[\'hehe.com\', \'haha.com\']', + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'example' => 'asa-bp175o6f6ego3r2j****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'IgnoredInstances' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'IgnoredInstance' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Message' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'required' => false, - 'maxItems' => 51, ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'required' => false, ], - 'required' => false, - 'maxItems' => 101, + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'SecurityContextSysctl', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The system information of the security context in which the elastic container instance runs.', - 'type' => 'array', - 'items' => [ - 'description' => 'The system information of the security context in which the elastic container instance runs.', - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'The hostnames that you want to add.', - 'type' => 'string', - 'required' => false, - 'example' => '65536', - ], - 'Name' => [ - 'description' => 'The hostnames that you want to add.', - 'type' => 'string', - 'required' => false, - 'example' => 'kernel.msgmax', - ], - ], - 'required' => false, + ], + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], + ], + ], + 'title' => 'Remove one or more ECS instances from a scaling group', + 'summary' => 'Removes one or more ECS instances from a scaling group.', + 'description' => '## Operation description'."\n" + ."\n" + .'- Before you invoke this operation, make sure that the following conditions are met:'."\n" + ."\n" + .' - The scaling group is in the enable (Active) state.'."\n" + ."\n" + .' - No scaling activity is being executed in the scaling group.'."\n" + ."\n" + .'If no scaling activity is being executed in the scaling group, this operation can bypass the cooldown time (DefaultCooldown) and be executed immediately.'."\n" + ."\n" + .'- If an ECS instance is automatically created by Auto Scaling through automatic creation, or is manually added but has been entrusted to the scaling group, the ECS instance triggers the economy mode or is released when it is deleted from the scaling group.'."\n" + ."\n" + .'- If an ECS instance is manually added and has not been entrusted to the scaling group, the ECS instance is not stopped or released when it is deleted from the scaling group.'."\n" + ."\n" + .'- If the current number of instances (TotalCapacity) in the scaling group minus the number of instances specified in this operation is less than the minimum number of instances (MinSize) in the scaling group, the invocation is failed.'."\n" + ."\n" + .'A successful response only indicates that Auto Scaling accepted the request. The scaling activity can be executed, but a successful response does not guarantee that the scaling activity will succeed. You can check the execution status of the scaling activity based on the returned `ScalingActivityId`.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in the current account.|'."\n" + .'|404|InvalidInstanceId.NotFound|Instance "XXX" does not exist.|The specified ECS instance does not exist in the scaling group.|'."\n" + .'|400|InvalidParameter|The specified group does not support the specified RemovePolicy.|The current scaling group does not support the economy mode revoke policy.|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You have not granted Auto Scaling full API operation permissions.|'."\n" + .'|400|IncorrectScalingGroupStatus|The current status of the specified scaling group does not support this action.|The specified scaling group is not in the Active state.|'."\n" + .'|400|ScalingActivityInProgress|You cannot delete a scaling group or launch a new scaling activity while there is a scaling activity in progress for the specified scaling group.|A scaling activity is in progress in the specified scaling group.|'."\n" + .'|400|IncorrectLoadBalancerStatus|The current status of the specified load balancer does not support this action.|The Server Load Balancer (SLB) instance associated with the scaling group to which the specified scaling rule belongs is not in the Active state.|'."\n" + .'|400|IncorrectDBInstanceStatus|The current status of DB instance "XXX" does not support this action.|The ApsaraDB RDS instance associated with the scaling group to which the specified scaling rule belongs is not in the Running state.|'."\n" + .'|400|IncorrectCapacity.MinSize|To remove the instances, the total capacity will be lesser than the MinSize.|Deleting the ECS instances would cause TotalCapacity to fall below MinSize.|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveInstances'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, - 'maxItems' => 11, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp175o6f6ego3r2j****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"IgnoredInstances\\": {\\n \\"IgnoredInstance\\": [\\n {\\n \\"InstanceId\\": \\"\\",\\n \\"Code\\": \\"\\",\\n \\"Message\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ResumeInstanceRefresh' => [ + 'summary' => 'Resumes an instance refresh task that is in the paused state.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '232223', + 'abilityTreeNodes' => ['FEATUREessPV8ZVU'], + ], + 'parameters' => [ [ - 'name' => 'NtpServer', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The domain names of the NTP server.', - 'type' => 'array', - 'items' => [ - 'description' => 'The domain names of the NTP server.', - 'type' => 'string', - 'required' => false, - 'example' => 'ntp.cloud.aliyuncs.com', - ], - 'required' => false, - 'maxItems' => 21, - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'AcrRegistryInfo', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Information about the Container Registry Enterprise Edition instance.', - 'type' => 'array', - 'items' => [ - 'description' => 'Information about the Container Registry Enterprise Edition instance.', - 'type' => 'object', - 'properties' => [ - 'Domain' => [ - 'description' => 'The domain names of the Container Registry Enterprise Edition instances. By default, all domain names of the Container Registry Enterprise Edition instances are displayed. You can specify one or more domain names. Separate multiple domain names with commas (,).', - 'type' => 'array', - 'items' => [ - 'description' => 'The domain names of the Container Registry Enterprise Edition instances. By default, all domain names of the Container Registry Enterprise Edition instances are displayed. You can specify one or more domain names. Separate multiple domain names with commas (,).', - 'type' => 'string', - 'required' => false, - 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com', - ], - 'required' => false, - 'maxItems' => 100, - ], - 'InstanceName' => [ - 'description' => 'The name of the Container Registry Enterprise Edition instance.', - 'type' => 'string', - 'required' => false, - 'example' => 'acr-test', - ], - 'InstanceId' => [ - 'description' => 'The ID of the Container Registry Enterprise Edition instance.', - 'type' => 'string', - 'required' => false, - 'example' => 'cri-nwj395hgf6f3****', - ], - 'RegionId' => [ - 'description' => 'The region ID of the Container Registry Enterprise Edition instance.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'CostOptimization', + 'name' => 'InstanceRefreshTaskId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the instance refresh task.', 'type' => 'string', 'required' => false, 'example' => 'ir-a12ds234fasd*****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Specifies whether to enable the cost optimization feature. Valid values:'."\n" - ."\n" - .'- true'."\n" - .'- false'."\n" - ."\n" - .'Default value: false.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], + ], + ], + 'title' => 'ResumeInstanceRefresh', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ResumeInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'ResumeProcesses' => [ + 'summary' => 'Resumes paused scaling processes in a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'InstanceFamilyLevel', + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92715', + 'abilityTreeNodes' => ['FEATUREess4ZDI6R'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The level of the instance type, which is used to filter the instance types that meet the specified criteria. This parameter takes effect only if you set the `CostOptimization` parameter to true. Valid values:'."\n" - ."\n" - .'* EntryLevel: shared instance type. Instances of this level are the most cost-effective but may not provide stable computing performance in a consistent manner. Instances of this level are suitable for business scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" - .'* EnterpriseLevel: Instances of this level provide stable performance and dedicated resources, and are suitable for business scenarios that require high stability. For more information, see [Instance family](~~25378~~).'."\n" - .'* CreditEntryLevel: This value is valid only for burstable instances. CPU credits are used to ensure computing performance. Instances of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see the [Overview](~~59977~~) topic of burstable instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'EnterpriseLevel', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp15oubotmrq11xe****', 'title' => ''], ], [ - 'name' => 'ContainersUpdateType', + 'name' => 'ClientToken', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'description' => 'The update mode of containers. Valid values:'."\n" - ."\n" - .'- RenewUpdate: full update mode. This value takes effect based on the value of the Containers parameters in an update request. This value indicates that the previous setting of the Containers parameter is overwritten.'."\n" - .'- IncrementalUpdate: incremental update mode. The value of the Containers parameter varies based on the value of the Containers.Name parameter. This value indicates that only the settings of the specified request parameters are updated.'."\n" - ."\n" - .'Default value: RenewUpdate.', - 'type' => 'string', - 'required' => false, - 'example' => 'RenewUpdate', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'Generate a unique value from your client to ensure that the value is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'InstanceType', + 'name' => 'Process', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ + 'description' => 'The type of scaling process that you want to resume. Valid values of N: 1 to 100. Valid values:'."\n" + ."\n" + .'- `ScaleIn`: scale-in process.'."\n" + .'- `ScaleOut`: scale-out process.'."\n" + .'- `HealthCheck`: health check.'."\n" + .'- `AlarmNotification`: event-triggered task.'."\n" + .'- `ScheduledAction`: scheduled task.'."\n" + ."\n" + .'>The system supports resuming the preceding five types of scaling processes. If you specify more than these five types, the system automatically removes duplicate types.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 10, + 'items' => ['description' => 'The type of scaling process that you want to resume. Valid values of N: 1 to 100. Valid values:'."\n" + ."\n" + .'- `ScaleIn`: scale-in process.'."\n" + .'- `ScaleOut`: scale-out process.'."\n" + .'- `HealthCheck`: health check.'."\n" + .'- `AlarmNotification`: event-triggered task.'."\n" + .'- `ScheduledAction`: scheduled task.'."\n" + ."\n" + .'>The system supports resuming the preceding five types of scaling processes. If you specify more than these five types, the system automatically removes duplicate types.', 'type' => 'string', 'required' => false, 'example' => 'ScaleIn', 'title' => ''], + 'required' => true, + 'example' => 'ScaleIn', + 'maxItems' => 100, + 'title' => '', ], ], [ - 'name' => 'DataCacheBucket', + 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'type' => 'string', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E38EB733-D714-4658-8A5F-0688AB68****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'DataCachePL', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E38EB733-D714-4658-8A5F-0688AB68****\\"\\n}","type":"json"}]', + 'title' => 'Resume paused scaling processes in a scaling group', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in the current account.|'."\n" + .'|400|InvalidParameter|The specified value of parameter "%s" is not valid.|The specified parameter is invalid.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ResumeProcesses'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ResumeProcesses', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + ], + 'RollbackInstanceRefresh' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'DataCacheProvisionedIops', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '232220', + 'abilityTreeNodes' => ['FEATUREessPV8ZVU'], + ], + 'parameters' => [ [ - 'name' => 'DataCacheBurstingEnabled', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], + 'schema' => ['description' => 'The ID of the region where the scaling group resides.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'GpuDriverVersion', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'Override', + 'name' => 'InstanceRefreshTaskId', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], + 'schema' => ['description' => 'The ID of the instance refresh task.', 'type' => 'string', 'required' => false, 'example' => 'ir-a12ds234fasd*****', 'title' => ''], ], ], 'responses' => [ @@ -22095,38 +18540,43 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '89945DD3-9072-47D0-A318-353284CF****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B13527BF-1FBD-4334-A512-20F5E9D3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'Forbidden.RiskControl', - 'errorMessage' => 'Forbidden.RiskControl', + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], + ], + ], + 'title' => 'Roll back an instance refresh task', + 'summary' => 'Rolls back an instance refresh task during execution. If the desired configuration no longer meets your requirements during an instance refresh task, you can call this operation to roll back the task. During the rollback, the system creates new instances based on the currently active configuration of the scaling group to replace instances that were created based on the desired configuration.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:RollbackInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CF****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 89945DD3-9072-47D0-A318-353284CF****\\n","errorExample":""}]', - 'title' => 'ModifyEciScalingConfiguration', - 'description' => '## Description'."\n" - ."\n" - .'If you want to change the name of a scaling configuration in a scaling group, make sure that the new name is unique within the scaling group.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B13527BF-1FBD-4334-A512-20F5E9D3****\\"\\n}","type":"json"}]', ], 'ScaleWithAdjustment' => [ - 'summary' => '基于指定调整规则触发性扩缩容', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -22139,159 +18589,121 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '92716', - 'abilityTreeNodes' => [ - 'FEATUREessSQIS9M', - ], + '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****', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-j6c1o397427hyjdc****', 'title' => ''], ], [ 'name' => 'AdjustmentType', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies how to scale instances. Valid values:'."\n" - ."\n" - .'* QuantityChangeInCapacity: adds the specified number of ECS instances to or removes the specified number of ECS instances from the scaling group.'."\n" - .'* PercentChangeInCapacity: adds the specified percentage of ECS instances to or removes the specified percentage of ECS instances from the scaling group.'."\n" - .'* TotalCapacity: adjusts the number of ECS instances in the scaling group to the specified number.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'QuantityChangeInCapacity', - ], + 'schema' => ['description' => 'The adjustment method of the scaling activity. Valid values:'."\n" + ."\n" + .'- QuantityChangeInCapacity: adds or removes a specified number of ECS instances.'."\n" + .'- PercentChangeInCapacity: adds or removes a specified percentage of ECS instances.'."\n" + .'- TotalCapacity: adjusts the number of ECS instances in the current scaling group to a specified value.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'QuantityChangeInCapacity', 'title' => ''], ], [ 'name' => '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, - ], + 'schema' => ['description' => 'The adjustment value of the scaling activity. The number of ECS instances adjusted in a single scaling activity cannot exceed 1000. Otherwise, the adjustment fails. Valid values for different adjustment methods:'."\n" + .'- QuantityChangeInCapacity: -1000 to 1000.'."\n" + .'- PercentChangeInCapacity: -100 to 10000.'."\n" + .'- TotalCapacity: 0 to 2000.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '2147483647', 'minimum' => '-2147483648', 'isFileTransferUrl' => false, 'example' => '100', 'title' => ''], ], [ 'name' => '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', - ], + 'schema' => ['description' => 'The minimum number of instances to adjust in a scaling activity. This parameter takes effect only when `AdjustmentType` is set to `PercentChangeInCapacity`.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request and prevent repeated submissions. The value is generated by the client and must be unique across different requests. The value can be up to 64 ASCII characters in length and cannot contain non-ASCII characters.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ 'name' => 'SyncActivity', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to trigger the scaling activity in a synchronous manner. This parameter takes effect only on scaling groups for which you specified an expected number of instances. Valid values:'."\n" - ."\n" - .'* true: triggers the scaling activity in a synchronous manner. The scaling activity is triggered at the time when the scaling rule is executed.'."\n" - .'* false: does not trigger the scaling activity in a synchronous manner. After you change the expected number of instances for the scaling group, Auto Scaling checks whether the total number of instances in the scaling group matches the new expected number of instances and determines whether to trigger the scaling activity based on the check result.'."\n" - ."\n" - .'> For more information about the expected number of instances feature, see [Expected number of instances](~~146231~~).'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to synchronously execute the scaling activity. This parameter is valid only for scaling groups that have the expected number of instances configured. Valid values:'."\n" + ."\n" + .'- true: synchronous execution. The scaling rule directly triggers the scaling activity of the scaling group.'."\n" + .'- false: asynchronous execution. When the expected number of instances in the scaling group is modified, the scaling activity is not immediately triggered. The system waits until it detects a difference between the expected number of instances and the current number of instances in the scaling group, and then triggers the scaling activity.'."\n" + ."\n" + .'> For more information about the expected number of instances, see [Expected number of instances](~~146231~~).'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'Overrides', 'in' => 'query', 'style' => 'json', 'schema' => [ + 'description' => 'The override parameters for scale-out in ECI-type scaling groups.', 'type' => 'object', 'properties' => [ - 'Cpu' => [ - 'type' => 'number', - 'format' => 'float', - ], - 'Memory' => [ - 'type' => 'number', - 'format' => 'float', - ], - 'UserData' => [ - 'type' => 'string', - ], + 'Cpu' => ['description' => 'The number of vCPUs at the instance level. Unit: cores.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2', 'title' => ''], + 'Memory' => ['description' => 'The memory size at the instance level. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'UserData' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ContainerOverride' => [ + 'description' => 'The override parameters for the container list.', 'type' => 'array', 'items' => [ + 'description' => 'The override parameters for the container list.', 'type' => 'object', 'properties' => [ 'Command' => [ + 'description' => 'The container startup commands. A maximum of 20 commands are supported. Each command can contain up to 256 characters.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - 'Memory' => [ - 'type' => 'number', - 'format' => 'float', + 'items' => ['description' => 'The container startup commands. A maximum of 20 commands are supported. Each command can contain up to 256 characters.', 'type' => 'string', 'required' => false, 'example' => 'sleep', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'Memory' => ['description' => 'The memory size of the container. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], 'Arg' => [ + 'description' => 'The arguments for the container startup commands. A maximum of 10 arguments are supported.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - 'Cpu' => [ - 'type' => 'number', - 'format' => 'float', + 'items' => ['description' => 'The arguments for the container startup commands. A maximum of 10 arguments are supported.', 'type' => 'string', 'required' => false, 'example' => 'arg', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'Cpu' => ['description' => 'The number of vCPUs of the container. Unit: cores.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2', 'title' => ''], 'EnvironmentVar' => [ + 'description' => 'The list of environment variable information.', 'type' => 'array', 'items' => [ + 'description' => 'The list of environment variable information.', 'type' => 'object', 'properties' => [ - 'Value' => [ - 'type' => 'string', - ], - 'Key' => [ - 'type' => 'string', - ], + 'Value' => ['description' => 'The value of the environment variable. The value can be 0 to 256 characters in length.', 'type' => 'string', 'required' => false, 'example' => '/usr/local/tomcat', 'title' => ''], + 'Key' => ['description' => 'The name of the environment variable. The name must be 1 to 128 characters in length. The name must match the format `[0-9a-zA-Z]` and can contain underscores (_). It cannot start with a digit.', 'type' => 'string', 'required' => false, 'example' => 'PATH', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'Name' => [ - 'type' => 'string', - ], + 'Name' => ['description' => 'The container name. If you want to override container parameters, you must specify the container name. The container parameters can be overridden only when the container name matches the container name in the scaling configuration.', 'type' => 'string', 'required' => false, 'example' => 'container-1', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], [ @@ -22299,483 +18711,193 @@ 'in' => 'query', 'style' => 'json', 'schema' => [ + 'description' => 'The context information of the lifecycle hook.', 'type' => 'object', 'properties' => [ - 'DisableLifecycleHook' => [ - 'type' => 'boolean', - ], + 'DisableLifecycleHook' => ['description' => 'Specifies whether to disable all lifecycle hook features for the scaling activity. Valid values:'."\n" + ."\n" + .'- true: disabled.'."\n" + .'- false: not disabled.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], 'IgnoredLifecycleHookIds' => [ + 'description' => 'The list of lifecycle hook IDs to be disabled for the scaling activity.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - 'LifecycleHookResult' => [ - 'type' => 'string', + 'items' => ['description' => 'The list of lifecycle hook IDs to be disabled for the scaling activity.', 'type' => 'string', 'required' => false, 'example' => 'ash-bp14zolna43z266bq***', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'LifecycleHookResult' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'ActivityMetadata', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The metadata of the scaling activity.', 'type' => 'string', 'required' => false, 'example' => '{"key":"value"}', 'title' => ''], ], [ 'name' => 'ExecutionMode', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The execution mode. Valid values:'."\n" + ."\n" + .'- None: not specified. Normal scaling is performed.'."\n" + .'- PlanOnly: scaling is not triggered. Only elastic planning is performed, and the planning results are returned in PlanResult, including instance type, zone ID, billing method, and the number of instances to be created.'."\n" + ."\n" + .'Default value: None.', 'type' => 'string', 'required' => false, 'example' => 'PlanOnly', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '', + 'description' => 'The response parameters for triggering elastic scaling based on a specified adjustment rule.', 'type' => 'object', 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'example' => 'asa-bp175o6f6ego3r2j****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'ActivityType' => [ - 'description' => 'The type of the scaling activity.'."\n" - ."\n" - .'If the `ActivityType` parameter is set to `CapacityChange`, only the expected number of instances is changed during the scaling activity that is specified by the `ScalingActivityId` parameter and no scale-out activity is triggered.'."\n" - ."\n" - .'This parameter takes effect only for scaling groups that have an expected number of instances.'."\n", - 'type' => 'string', - 'example' => 'CapacityChange', - ], + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'example' => 'asa-bp175o6f6ego3r2j****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'ActivityType' => ['description' => 'The type of the scaling activity.'."\n" + ."\n" + .'If `ActivityType` is set to `CapacityChange`, the scaling activity corresponding to the returned `ScalingActivityId` only modifies the expected number of instances in the scaling group without immediately performing scaling.'."\n" + ."\n" + .'Applicable scope: scaling groups with the expected number of instances configured.', 'type' => 'string', 'example' => 'CapacityChange', 'title' => ''], 'PlanResult' => [ + 'description' => 'The elastic planning results returned when ExecutionMode is set to PlanOnly.', 'type' => 'object', 'properties' => [ 'ResourceAllocations' => [ + 'description' => 'The resource allocation information in the elastic planning results.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'ZoneId' => [ - 'type' => 'string', - ], - 'InstanceType' => [ - 'type' => 'string', - ], - 'SpotStrategy' => [ - 'type' => 'string', - ], - 'Amount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'InstanceChargeType' => [ - 'type' => 'string', - ], + 'ZoneId' => ['description' => 'The zone ID.', 'type' => 'string', 'example' => 'cn-beijing-g', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type.', 'type' => 'string', 'example' => 'ecs.u1-c1m8.large', 'title' => ''], + 'SpotStrategy' => ['description' => 'The preemption policy of the instance. Valid values:'."\n" + ."\n" + .'- NoSpot: a pay-as-you-go instance.'."\n" + .'- SpotWithPriceLimit: a spot instance with a maximum price limit.'."\n" + .'- SpotAsPriceGo: a spot instance priced at the market price at the time of purchase.', 'type' => 'string', 'example' => 'NoSpot', 'title' => ''], + 'Amount' => ['description' => 'The number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'InstanceChargeType' => ['description' => 'The billing method. Valid values:'."\n" + ."\n" + .'- Prepaid: subscription.'."\n" + .'- Postpaid: pay-as-you-go.', 'type' => 'string', 'example' => 'Postpaid', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 403 => [ - [ - 'errorCode' => 'Forbidden.Forbidden', - 'errorMessage' => 'Operation Forbidden', - ], + ['errorCode' => 'Forbidden.Forbidden', 'errorMessage' => 'Operation Forbidden', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp175o6f6ego3r2j****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ActivityType\\": \\"CapacityChange\\",\\n \\"PlanResult\\": {\\n \\"ResourceAllocations\\": [\\n {\\n \\"ZoneId\\": \\"cn-beijing-g\\",\\n \\"InstanceType\\": \\"ecs.u1-c1m8.large\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"Amount\\": 1,\\n \\"InstanceChargeType\\": \\"Postpaid\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n asa-bp175o6f6ego3r2j****\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n CapacityChange\\n","errorExample":""}]', - 'title' => 'ScaleWithAdjustment', - 'description' => '## Description'."\n" - ."\n" - .'Compared with the ExecuteScalingRule operation, the ScaleWithAdjustment operation does not require a scaling rule to be created in advance.'."\n" + 'title' => 'Trigger elastic scaling based on a specified adjustment rule', + 'summary' => 'Triggers elastic scaling based on a specified adjustment rule.', + 'description' => '## Operation description'."\n" ."\n" - .'Before you call the ScaleWithAdjustment operation, take note of the following items:'."\n" + .'- Before you call this operation, make sure that the following conditions are met:'."\n" + .' - The scaling group is in the Active state.'."\n" + .' - No scaling activity is in progress in the scaling group.'."\n" ."\n" - .'* The following requirements must be met:'."\n" - ."\n" - .' * The scaling group is in the Active state.'."\n" - .' * No scaling activities in the scaling group are in progress.'."\n" - ."\n" - .'* If no scaling activities in the scaling group are in progress, the operation can trigger scaling activities even before the cooldown time expires.'."\n" - ."\n" - .'* If the addition of a specified number of Elastic Compute Service (ECS) instances to a scaling group causes the total number of ECS instances in the scaling group to exceed the maximum number of instances allowed, Auto Scaling adds only a specific number of ECS instances to ensure that the total number of instances is equal to the maximum number of instances.'."\n" - ."\n" - .'* If the removal of a specified number of ECS instances from a scaling group causes the total number of ECS instances in the scaling group to drop below the minimum number of instances allowed, Auto Scaling removes only a specific number of ECS instances to ensure that the total number of instances is equal to the minimum number of instances.'."\n" - ."\n" - .'A successful call indicates that Auto Scaling accepts the request. However, the scaling activity may still fail. You can obtain the status of a scaling activity by using the value of the `ScalingActivityId` parameter in the response.'."\n", - ], - 'ChangeResourceGroup' => [ - 'summary' => '更改伸缩组所属的资源组', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '163910', - 'abilityTreeNodes' => [ - 'FEATUREessXN6KX4', - ], - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource. Only scaling groups are supported. Set the value to **scalinggroup**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup', - ], - ], - [ - 'name' => 'ResourceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group for which you want to change the resource group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp17xb4x1vr29lgt****', - ], - ], - [ - 'name' => 'NewResourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group to which you want to add the scaling group.'."\n" - ."\n" - .'> You can use resource groups to manage resources owned by your Alibaba Cloud account. Resource groups simplify the resource and permission management of your Alibaba Cloud account. For more information, see [What is resource management?](~~94475~~)'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'rg-aek2ckjqe3*****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'ChangeResourceGroup', - 'description' => '## Description'."\n" + .'- If no scaling activity is in progress in the scaling group, this operation can bypass the cooldown time and directly trigger a scaling activity.'."\n" + .'- If the number of ECS instances to be added based on the scaling rule plus the current number of instances in the scaling group (Total Capacity) is greater than the maximum number of instances (MaxSize), the scaling activity is performed with Total Capacity set to MaxSize.'."\n" + .'- If the current number of instances in the scaling group (Total Capacity) minus the number of ECS instances to be removed based on the scaling rule is less than the minimum number of instances (MinSize), the scaling activity is performed with Total Capacity set to MinSize.'."\n" ."\n" - .'A resource is an entity of cloud services that you create on Alibaba Cloud. For example, a scaling group is a resource. A resource group is a collection of infrastructure for projects, environments, or stacks. In a resource group, you can manage resources, monitor resources, and perform operations in a centralized manner. This way, you do not need to view and check your Alibaba Cloud resources in each Alibaba Cloud service.'."\n", - ], - 'AttachServerGroups' => [ - 'summary' => '添加一个或多个负载均衡服务器组', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '166340', - '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. 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' => 'ForceAttach', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to add the Elastic Compute Service (ECS) instances in the scaling group to the backend server group of the newly attached SLB instance. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], - ], - [ - 'name' => 'ServerGroup', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'A collection of information about a load-balanced server group.', - 'type' => 'array', - 'items' => [ - 'description' => 'A collection of information about a load-balanced server group.', - 'type' => 'object', - 'properties' => [ - 'ServerGroupId' => [ - 'description' => 'The ID of backend server group N.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sgp-60ofsqhwer0b***', - ], - 'Type' => [ - 'description' => 'The type of backend server group N.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* ALB'."\n" - .'* NLB'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ALB', - ], - 'Weight' => [ - 'description' => 'The weight of an ECS instance in the scaling group as a backend server after Auto Scaling adds the ECS instance to backend server group N. Valid values: 0 to 100.'."\n" - ."\n" - .'If you increase the weight of an ECS instance in a backend server group, the number of access requests that are forwarded to the ECS instance increases. If you set the **Weight** parameter for an ECS instance in a backend server group to **0**, no access requests are forwarded to the ECS instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port number used by an ECS instance in the scaling group after Auto Scaling adds the ECS instance to backend server group N. Valid values: 1 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '22', - ], - ], - 'required' => false, - ], - 'required' => true, - 'maxItems' => 100, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity during which one or more SLB instances are attached to the scaling group and the ECS instances in the scaling group are added to the backend server groups of the SLB instances.'."\n" - ."\n" - .'> This parameter is returned only after you set the `ForceAttach` parameter to `true`.'."\n", - 'type' => 'string', - 'example' => 'asa-bp1c9djwrgxjyk31****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '74C4E313-8570-479F-8791-DC25360D****', - ], + .'A successful response only indicates that Auto Scaling has accepted the request and can perform the scaling activity. It does not mean that the scaling activity will succeed. You can check the execution status of the scaling activity based on the returned `ScalingActivityId`.', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You have not fully authorized Auto Scaling to call API operations.|'."\n" + .'|400|IncorrectScalingGroupStatus|The current status of the specified scaling group does not support this action.|The scaling group to which the specified scaling rule belongs is not in the Active state.|'."\n" + .'|400|ScalingActivityInProgress|You cannot delete a scaling group or launch a new scaling activity while there is a scaling activity in progress for the specified scaling group.|A scaling activity is in progress in the scaling group to which the specified scaling rule belongs.|'."\n" + .'|400|InsufficientBalance|Your account does not have enough balance.|The account balance is insufficient.|'."\n" + .'|400|QuotaExceed.Instance|Living instance quota exceeded.|The number of ECS instances has reached the upper limit.|'."\n" + .'|400|IncorrectLoadBalancerStatus|The current status of the specified load balancer does not support this action.|The Server Load Balancer (SLB) instance associated with the scaling group to which the specified scaling rule belongs is not in the Active state.|'."\n" + .'|400|IncorrectLoadBalancerHealthCheck|The current health check type of specified load balancer does not support this action.|Health check is not enabled for the SLB instance associated with the scaling group to which the specified scaling rule belongs.|'."\n" + .'|400|InvalidLoadBalancerId.IncorrectInstanceNetworkType|The network type of the instance in specified load balancer does not support this action.|The network type of the ECS instances in the specified SLB instance does not match the network type of the scaling group.|'."\n" + .'|400|InvalidLoadBalancerId.VPCMismatch|The specified virtual switch and the instance in specified load balancer are not in the same VPC.|The ECS instances in the SLB instance associated with the scaling group and the specified vSwitch are not in the same VPC.|'."\n" + .'|400|IncorrectDBInstanceStatus|The current status of DB instance "XXX" does not support this action.|The ApsaraDB RDS instance associated with the scaling group to which the specified scaling rule belongs is not in the Running state.|'."\n" + .'|400|QuotaExceeded.DBInstanceSecurityIP|Security IP quota exceeded in DB instance "XXX".|The number of IP addresses in the whitelist of the ApsaraDB RDS instance associated with the scaling group to which the specified scaling rule belongs has reached the upper limit.|'."\n" + .'|400|QuotaExceeded.SecurityGroupInstance|Instance quota exceeded in the specified security group.|The number of ECS instances added to the specified security group has reached the upper limit.|'."\n" + .'|400|IncorrectCapacity.NoChange|To execute the specified scaling rule, the total capacity will not change.|The scaling rule does not cause a change in the number of instances in the scaling group.|'."\n" + .'|400|QuotaExceeded.ScalingInstance|Scaling instance quota exceeded.|The number of ECS instances used by Auto Scaling has reached the upper limit.|'."\n" + .'|400|QuotaExceeded.AfterpayInstance|Living afterpay instance quota exceeded.|The number of pay-as-you-go ECS instances has reached the upper limit.|'."\n" + .'|400|ResourceNotAvailable.ECS|The specified region or zone does not offer the specified disk or instance category.|The specified ECS instance type or disk type cannot be created in the specified region.|'."\n" + .'|400|ScalingRule.InvalidScalingRuleType|Specific scaling rule type: %s can not be executed.|The scaling rule of the current type cannot be executed.|'."\n" + .'|400|InvalidStepAdjustments.NoStepFound|No adjustment step found for a metric value of: %s.|No step that meets the conditions is found for the step scaling rule.|'."\n" + .'|400|MissingParameter.MetricValue|Metric value must be specified for StepScalingRule.|A metric value must be specified to execute a step scaling rule.|'."\n" + .'|400|MissingParameter.BreachThreshold|Breach threshold must be specified for StepScalingRule.|A breach threshold must be specified to execute a step scaling rule.|'."\n" + .'|400|BreachThresholdBeyondPermitRange|Specific parameter "%s" beyond permit range.|The threshold exceeds the permitted range.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ScaleWithAdjustment'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ScaleWithAdjustment', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#scalinggroupId}'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1c9djwrgxjyk31****\\",\\n \\"RequestId\\": \\"74C4E313-8570-479F-8791-DC25360D****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n asa-bp1c9djwrgxjyk31****\\n 74C4E313-8570-479F-8791-DC25360D****\\n","errorExample":""}]', - 'title' => 'AttachServerGroups', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Ess\\&api=AttachServerGroups\\&type=RPC\\&version=2014-08-28)'."\n", - ], - 'DetachServerGroups' => [ - 'summary' => '移除一个或多个负载均衡服务器组', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp175o6f6ego3r2j****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ActivityType\\": \\"CapacityChange\\",\\n \\"PlanResult\\": {\\n \\"ResourceAllocations\\": [\\n {\\n \\"ZoneId\\": \\"cn-beijing-g\\",\\n \\"InstanceType\\": \\"ecs.u1-c1m8.large\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"Amount\\": 1,\\n \\"InstanceChargeType\\": \\"Postpaid\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'SetGroupDeletionProtection' => [ + 'summary' => 'Enables or disables deletion protection for a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '166341', - 'abilityTreeNodes' => [ - 'FEATUREess2GK585', - ], + 'abilityTreeCode' => '92717', + 'abilityTreeNodes' => ['FEATUREessF87COY'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'GroupDeletionProtection', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'Specifies whether to enable deletion protection for the scaling group. Valid values:'."\n" + ."\n" + .'- true: Enables deletion protection. After deletion protection is enabled, the scaling group cannot be deleted in the console or by calling an API operation. To delete the scaling group, disable deletion protection first.'."\n" + .'- false: Disables deletion protection.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => true, 'example' => 'true', 'title' => ''], ], [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\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 Elastic Compute Service (ECS) instances in the scaling group from the backend server group of the SLB instance that you want to detach from the scaling group. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], ], [ - 'name' => 'ServerGroup', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Details of the server groups.', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the server group.', - 'type' => 'object', - 'properties' => [ - 'ServerGroupId' => [ - 'description' => 'The ID of backend server group N.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sgp-1gv2uidn2msy****', - ], - 'Type' => [ - 'description' => 'The type of backend server group N. Valid values:'."\n" - ."\n" - .'* ALB'."\n" - .'* NLB'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ALB', - ], - 'Port' => [ - 'description' => 'The port number used by an ECS instance in the scaling group after Auto Scaling adds the ECS instance to backend server group N.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '22', - ], - ], - 'required' => false, - ], - 'required' => true, - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], ], ], 'responses' => [ @@ -22783,35 +18905,46 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity during which one or more SLB instances are detached from the scaling group and the ECS instance in the scaling group are removed from the backend server groups of the SLB instances.'."\n" - ."\n" - .'> This parameter is returned only after you set the `ForceDetach` parameter to `true`.'."\n", - 'type' => 'string', - 'example' => 'asa-bp1gbswjhjrw8tko****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CCC29E24-3AEC-4F2C-8A14-78B14FA7****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1gbswjhjrw8tko****\\",\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n asa-bp1gbswjhjrw8tko****\\n 6EF9BFEE-FE07-4627-B8FB-14326FB9****\\n","errorExample":""}]', - 'title' => 'DetachServerGroups', - ], - 'ModifyInstanceAttribute' => [ - 'summary' => '修改伸缩组内实例的部分信息', - 'methods' => [ - 'post', - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CCC29E24-3AEC-4F2C-8A14-78B14FA7****\\"\\n}","type":"json"}]', + 'title' => 'Enable or disable deletion protection for a scaling group', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' |HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist.|'."\n" + .'|400|InvalidOperation.Conflict|Specific operation may conflicts with other operations, please retry later.|The operation conflicts with another operation. Try again later.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SetGroupDeletionProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetGroupDeletionProtection'], + ], ], + ], + 'SetInstanceHealth' => [ + 'summary' => 'Sets the health status of an ECS instance in a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -22819,63 +18952,108 @@ ], 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '201545', - 'abilityTreeNodes' => [ - 'FEATUREessBFHJ1B', - ], + 'abilityTreeCode' => '92718', + 'abilityTreeNodes' => ['FEATUREessBFHJ1B'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The ID of the instance in the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'i-bp1ap6bro51a7fsa****', 'title' => ''], ], [ - 'name' => 'InstanceId', + 'name' => 'HealthStatus', 'in' => 'query', + 'schema' => ['description' => 'The health status that you want to set for the instance. Valid values:'."\n" + ."\n" + .'- Healthy: sets the instance to the healthy state.'."\n" + .'- Unhealthy: sets the instance to the unhealthy state.', 'type' => 'string', 'required' => true, 'example' => 'Healthy', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B755AE57-6093-43E4-938E-DEA422A9****', 'title' => ''], + ], 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp109k5j3dum1ce6****', + 'title' => '', + 'example' => '', ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B755AE57-6093-43E4-938E-DEA422A9****\\"\\n}","type":"json"}]', + 'title' => 'Set the health status of an ECS instance in a scaling group', + 'description' => '## Operation description'."\n" + ."\n" + .'The scaling group detects and removes instances that are in an unhealthy state, including ECS instances and elastic container instances. If you want to retain specific ECS instances or elastic container instances, put them in the standby or protection status. For more information, see [EnterStandby](~~69678~~) and [SetInstancesProtection](~~71517~~).', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|400|InvalidInstanceId.NotFound|Instance "%s" does not exist.|The specified instance does not exist in the scaling group.|'."\n" + .'|400|InvalidParameter|The specified value of parameter "%s" is not valid.|The specified parameter is invalid.|.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SetInstanceHealth', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetInstanceHealth'], + ], + ], + ], + 'SetInstancesProtection' => [ + 'summary' => 'Starts or stops protection for one or more ECS instances in a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Entrusted', + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92719', + 'abilityTreeNodes' => ['FEATUREessBFHJ1B'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'docRequired' => true, - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'ProtectedFromScaleIn', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'Specifies whether to protect ECS instances from being terminated or removed from the scaling group during a scale-in activity. Valid values: '."\n" + ."\n" + .'- true: Protects the ECS instances.'."\n" + .'- false: Does not protect the ECS instances.', 'type' => 'boolean', 'required' => true, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'InstanceIds', + 'name' => 'InstanceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ + 'description' => 'The ID of the ECS instance.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + 'items' => ['description' => 'The ID of the ECS instance. Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****', 'title' => ''], + 'required' => true, + 'example' => 'i-28wt4****', 'maxItems' => 20, + 'title' => '', ], ], ], @@ -22884,440 +19062,700 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'ModifyInstanceAttribute', - ], - 'DescribePatternTypes' => [ - 'summary' => 'DescribePatternTypes', - 'methods' => [ - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Start or stop protection for ECS instances in a scaling group', + 'description' => '## Operation description'."\n" + ."\n" + .'After the protection status is enabled for an ECS instance:'."\n" + ."\n" + .'- The instance remains in this state until you stop the protection status.'."\n" + ."\n" + .'- Even if the number of instances in the scaling group changes or a monitoring node triggers a scale-in scaling activity, ECS instances in the protection status are not removed. You must remove the ECS instances before you can release them. For more information, see [Remove ECS instances](~~25955~~).'."\n" + ."\n" + .'- The health check status of an ECS instance is not updated when the instance is stopped or restarted.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description'."\n" + .'|-----|-----|-----|'."\n" + .'|400|IncorrectScalingGroupStatus|The current status of the specified scaling group does not support this action.|Enable the scaling group.|'."\n" + .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|You are not authorized to use the SetInstancesProtection operation.|'."\n" + .'|404|InvalidInstanceId.NotFound|Instance "XXX" does not exist.|The specified ECS instance does not exist.|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SetInstancesProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetInstancesProtection'], + ], ], + ], + 'StartInstanceRefresh' => [ + 'summary' => 'Starts an instance refresh task in a scaling group to apply a new scaling configuration or update the image of instances in the scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeCode' => '222292', - 'abilityTreeNodes' => [ - 'FEATUREessWJGIW5', - ], + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '232212', + 'abilityTreeNodes' => ['FEATUREessPV8ZVU'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'docRequired' => true, - 'example' => 'cn-hangzhou', - 'required' => true, - 'type' => 'string', - ], - ], - [ - 'name' => 'VSwitchId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '', - 'items' => [ - 'description' => '', - 'example' => 'vsw-bp14zolna43z266bq****', - 'required' => false, - 'type' => 'string', - ], - 'maxItems' => 100, - 'required' => false, - 'type' => 'array', - ], - ], - [ - 'name' => 'ZoneId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'SpotStrategy', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'example' => 'NoSpot', - 'required' => false, - 'type' => 'string', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'Cores', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'example' => '2', - 'format' => 'int32', - 'required' => false, - 'type' => 'integer', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'Memory', + 'name' => 'MinHealthyPercentage', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'example' => '4', - 'format' => 'float', - 'required' => false, - 'type' => 'number', - ], + 'schema' => ['description' => 'The minimum percentage of instances that must remain in service in the scaling group during the instance refresh. Valid values: 0 to 100. Default value: 80.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], ], [ - 'name' => 'MaxPrice', + 'name' => 'MaxHealthyPercentage', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'example' => '2', - 'format' => 'float', - 'required' => false, - 'type' => 'number', - ], + 'schema' => ['description' => 'The maximum percentage by which the number of instances in the scaling group can exceed the scaling group capacity during the instance refresh. Valid values: 100 to 200. Default value: 120.'."\n" + ."\n" + .'> If you set both MinHealthyPercentage and MaxHealthyPercentage to 100, one instance is refreshed at a time.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], ], [ - 'name' => 'InstanceFamilyLevel', + 'name' => 'DesiredConfiguration', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => '', - 'example' => 'EnterpriseLevel', + 'description' => 'The desired configuration for the instance refresh.'."\n" + ."\n" + .'> - You cannot specify ScalingConfigurationId, ImageId, LaunchTemplateId, and Containers at the same time. You must specify one of them.'."\n" + .'- The refresh task skips instances in the scaling group that already match the desired configuration.', + 'type' => 'object', + 'properties' => [ + 'ImageId' => ['description' => 'The image ID.'."\n" + ."\n" + .'> - After the instance refresh task is completed, the image configuration in the active configuration of the scaling group is updated to this image.'."\n" + .'- This parameter is not supported if the instance configuration source of the scaling group is a launch template.'."\n" + .'- Images that contain data cloud disks are not supported.', 'type' => 'string', 'required' => false, 'example' => 'm-2ze8cqacj7opnf***', 'title' => ''], + 'ScalingConfigurationId' => ['description' => 'The ID of the scaling configuration.'."\n" + ."\n" + .'> After the instance refresh task is completed, the active scaling configuration of the scaling group is updated to this configuration.', 'type' => 'string', 'required' => false, 'example' => 'asc-2zed7lqn4ts4****', 'title' => ''], + 'LaunchTemplateId' => ['description' => 'The ID of the launch template from which the scaling group obtains launch configuration information.', 'type' => 'string', 'required' => false, 'example' => 'lt-2ze2qli30u***', 'title' => ''], + 'LaunchTemplateVersion' => ['description' => 'The version of the launch template. Valid values:'."\n" + ."\n" + .'- A fixed template version number.'."\n" + .'- Default: always uses the default template version.'."\n" + .'- Latest: always uses the latest template version.'."\n" + ."\n" + .'> If the version is set to Default or Latest, the instance refresh task does not support rollback.', 'type' => 'string', 'required' => false, 'example' => '8', 'title' => ''], + 'LaunchTemplateOverrides' => [ + 'description' => 'The instance type information that extends the launch template.', + 'type' => 'array', + 'items' => [ + 'description' => 'The instance type information that extends the launch template.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The instance type that overrides the instance type specified in the launch template.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g7.2xlarge', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'Containers' => [ + 'description' => 'The list of containers included in the instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of containers included in the instance.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The custom container name.', 'type' => 'string', 'required' => false, 'example' => 'nginx', 'title' => ''], + 'Image' => ['description' => 'The container image.', 'type' => 'string', 'required' => false, 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', 'title' => ''], + 'Commands' => [ + 'description' => 'The container startup commands. A maximum of 20 commands are supported. Each command can contain up to 256 characters.', + 'type' => 'array', + 'items' => ['description' => 'The container startup command. The command can contain up to 256 characters.', 'type' => 'string', 'required' => false, 'example' => 'sleep', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'Args' => [ + 'description' => 'The arguments for the container startup command. A maximum of 10 arguments are supported.', + 'type' => 'array', + 'items' => ['description' => 'The argument for the container startup command.', 'type' => 'string', 'required' => false, 'example' => '100', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'EnvironmentVars' => [ + 'description' => 'The environment variable information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The environment variable information.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The environment variable name. The name must be 1 to 128 characters in length. The name can contain digits, letters, and underscores (\\_) and cannot start with a digit. Format: \\[0-9a-zA-Z\\].', 'type' => 'string', 'required' => false, 'example' => 'PATH', 'title' => ''], + 'Value' => ['description' => 'The environment variable value. The value can be 0 to 256 characters in length.', 'type' => 'string', 'required' => false, 'example' => '/usr/local/bin', 'title' => ''], + 'FieldRefFieldPath' => ['description' => '> This parameter is not available for use.', 'type' => 'string', 'required' => false, 'example' => 'fieldPath', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], 'required' => false, - 'type' => 'string', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ExcludedInstanceType', + 'name' => 'SkipMatching', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '', - 'items' => [ - 'description' => '', - 'example' => 'ecs.c6.xlarge', - 'required' => false, - 'type' => 'string', - ], - 'maxItems' => 100, - 'required' => false, - 'type' => 'array', - ], + 'schema' => ['description' => 'Specifies whether to skip instances that match the desired configuration.'."\n" + ."\n" + .'> The system determines whether an instance matches based on the ID of the desired scaling configuration, not by comparing specific configuration items.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- true: Instances that were already created with the desired configuration are skipped.'."\n" + .'- false: All instances in the scaling group are refreshed when the instance refresh task starts.'."\n" + ."\n" + .'Default value: true.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'Architecture', + 'name' => 'Checkpoints', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => '', + 'description' => 'The checkpoints for the refresh task. When the percentage of new instances reaches the specified value, the task is automatically paused for the duration specified by CheckpointPauseTime.', + 'type' => 'array', 'items' => [ - 'description' => '', - 'example' => 'X86', + 'description' => 'The checkpoints for the refresh task. When the percentage of new instances reaches the specified value, the task is automatically paused for the duration specified by CheckpointPauseTime.', + 'type' => 'object', + 'properties' => [ + 'Percentage' => ['description' => 'The percentage of new instances to total instances in the scaling group at which the task is automatically paused. Valid values: 1 to 100 (%).'."\n" + ."\n" + .'> The values must be specified in ascending order, and the last percentage value must be 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], + ], 'required' => false, - 'type' => 'string', + 'title' => '', + 'example' => '', ], - 'maxItems' => 100, 'required' => false, - 'type' => 'array', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'BurstablePerformance', + 'name' => 'CheckpointPauseTime', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'example' => 'Include', - 'required' => false, - 'type' => 'string', - ], + 'schema' => ['description' => 'The duration for which the task is paused when a checkpoint is reached.'."\n" + .'- Unit: minutes.'."\n" + .'- Valid values: 1 to 2880.'."\n" + .'- Default value: 60.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'CoresList', + 'name' => 'Strategy', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The execution strategy for the instance refresh task. Valid values:'."\n" + ."\n" + .'* Rolling: refreshes instances by creating new instances and releasing old instances.'."\n" + .'* ReplaceSystemDisk: updates the system cloud disk of existing instances by specifying DesiredConfiguration.image.'."\n" + ."\n" + .'Default value: Rolling.', 'type' => 'string', 'required' => false, 'example' => 'Rolling', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'InstanceRefreshTaskId' => ['description' => 'The ID of the instance refresh task.', 'type' => 'string', 'example' => 'ir-a12ds234fasd*****', 'title' => ''], + ], 'description' => '', - 'items' => [ - 'description' => '', - 'example' => '2', - 'format' => 'int32', - 'required' => false, - 'type' => 'integer', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"InstanceRefreshTaskId\\": \\"ir-a12ds234fasd*****\\"\\n}","type":"json"}]', + 'title' => 'StartInstanceRefresh', + 'description' => '## Operation description'."\n" + .'- A scaling group can have only one instance refresh task running at a time.'."\n" + .'- This feature supports only ECS scaling groups whose scale-out policy is set to **Priority Policy**. Scaling groups that use **vCPU-based capacity calculation** and scaling groups whose instance recycle pattern is set to **Shutdown and Reclaim Mode** or **Forced Shutdown and Reclaim Mode** do not support this feature.'."\n" + .'- During an instance refresh, normal scale-out and scale-in operations can be performed. However, scale-out operations use the desired configuration of the instance refresh task.'."\n" + .'- Instances that are manually added to the scaling group, instances in the standby state, and instances in the protection status are ignored by the instance refresh task and do not participate in the instance refresh.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:StartInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'maxItems' => 10, - 'required' => false, - 'type' => 'array', ], ], + ], + ], + 'SuspendInstanceRefresh' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'MemoryList', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '232222', + 'abilityTreeNodes' => ['FEATUREessPV8ZVU'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '', - 'items' => [ - 'description' => '', - 'example' => '4', - 'format' => 'float', - 'required' => false, - 'type' => 'number', - ], - 'maxItems' => 10, - 'required' => false, - 'type' => 'array', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ChannelId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'example' => '79425074', - 'format' => 'int64', - 'required' => false, - 'type' => 'integer', - ], + 'schema' => ['description' => 'The scaling group ID.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'InstanceTypeFamilies', + 'name' => 'InstanceRefreshTaskId', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The instance refresh task ID.', 'type' => 'string', 'required' => false, 'example' => 'ir-a12ds234fasd*****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], + ], + ], + 'title' => 'SuspendInstanceRefresh', + 'summary' => 'Pauses an instance refresh task during execution. If you suspect that the configuration has issues but are not sure whether a rollback is needed, you can call this operation to pause the instance refresh task and check whether the configuration is correct.', + 'description' => '## Operation description'."\n" + .'This operation is not supported for instance refresh tasks that are in the rollback phase.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SuspendInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'maxItems' => 100, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'SuspendProcesses' => [ + 'summary' => 'Suspends specified scaling processes in a scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92720', + 'abilityTreeNodes' => ['FEATUREess4ZDI6R'], + ], + 'parameters' => [ [ - 'name' => 'MinimumCpuCoreCount', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp15oubotmrq11xe****', 'title' => ''], ], [ - 'name' => 'MaximumCpuCoreCount', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotency of the request.'."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotency](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'GpuSpecs', + 'name' => 'Process', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ + 'description' => 'The type of scaling process to suspend. Valid values of N: 1 to 100. Valid values:'."\n" + .'- ScaleIn: scale-in process.'."\n" + .'- ScaleOut: scale-out process.'."\n" + .'- HealthCheck: health check.'."\n" + .'- AlarmNotification: event-triggered task.'."\n" + .'- ScheduledAction: scheduled task.'."\n" + ."\n" + .'The system supports suspending the preceding five types of scaling processes. If you specify more than these five types, the system automatically removes duplicate types.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + 'items' => ['description' => 'The type of scaling process to suspend. Valid values of N: 1 to 100. Valid values:'."\n" + ."\n" + .'- ScaleIn: scale-in process.'."\n" + .'- ScaleOut: scale-out process.'."\n" + .'- HealthCheck: health check.'."\n" + .'- AlarmNotification: event-triggered task.'."\n" + .'- ScheduledAction: scheduled task.'."\n" + ."\n" + .'The system supports suspending five types of scaling processes. If you specify more than these five types, the system automatically removes duplicate types.', 'type' => 'string', 'required' => false, 'example' => 'ScaleIn', 'title' => ''], + 'required' => true, + 'example' => 'ScaleIn', 'maxItems' => 100, + 'title' => '', ], ], [ - 'name' => 'InstanceCategories', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '3E2033F0-03B4-419D-BCE2-C2339DB5****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3E2033F0-03B4-419D-BCE2-C2339DB5****\\"\\n}","type":"json"}]', + 'title' => 'Suspend specified scaling processes in a scaling group', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '|HttpCode|Error code|Error message|Description|'."\n" + .'|-----|-----|-----|-----|'."\n" + .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The specified scaling group does not exist in the current account.|'."\n" + .'|400|InvalidParameter|The specified value of parameter "%s" is not valid.|The specified parameter is invalid.|.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SuspendProcesses'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SuspendProcesses', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'maxItems' => 100, ], ], + ], + ], + 'TagResources' => [ + 'summary' => 'Creates and binds tags to a specified list of Auto Scaling resources.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'CpuArchitectures', + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92721', + 'abilityTreeNodes' => ['FEATUREessXN6KX4'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the resource. You can call [DescribeRegions](~~25609~~) to view the latest list of Alibaba Cloud regions.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => ['description' => 'The resource type. Currently, only scaling groups are supported. Set the value to scalinggroup.', 'type' => 'string', 'required' => true, 'example' => 'scalinggroup', 'title' => ''], + ], + [ + 'name' => 'ResourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ + 'description' => 'The resource ID. Valid values of N: 1 to 50.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 100, + 'items' => ['description' => 'The resource ID. Valid values of N: 1 to 50.', 'type' => 'string', 'required' => false, 'example' => 'asg-2zej7nf7hea77k5a****', 'title' => ''], + 'required' => true, + 'example' => 'asg-bp17xb4x1vr29lgt****', + 'maxItems' => 51, + 'title' => '', ], ], [ - 'name' => 'PhysicalProcessorModels', + 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ + 'description' => 'The tag information of the resource.', 'type' => 'array', 'items' => [ - 'type' => 'string', + 'description' => 'The tag information of the resource.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the resource. Valid values of N: 1 to 20.'."\n" + ."\n" + .'Once specified, the tag key cannot be an empty string. The tag key can be up to 128 characters in length and cannot start with `aliyun` or `acs:`, or contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], + 'Value' => ['description' => 'The tag value of the resource. Valid values of N: 1 to 20.'."\n" + ."\n" + .'The tag value can be an empty string. The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], + 'Propagate' => ['description' => 'Specifies whether the tag is a propagated tag. Valid values:'."\n" + ."\n" + .'- true: The tags on the scaling group are propagated only to instances that are about to be created, and are not propagated to instances that are already running in the scaling group.'."\n" + .'- false: The tags on the scaling group are not propagated to instances.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'maxItems' => 100, + 'required' => true, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'MinimumEniQuantity', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '74C4E313-8570-479F-8791-DC25360D****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'MinimumEniPrivateIpAddressQuantity', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"74C4E313-8570-479F-8791-DC25360D****\\"\\n}","type":"json"}]', + 'title' => 'TagResources', + 'description' => '## Description'."\n" + ."\n" + .'- A scaling group supports binding up to 20 tags.'."\n" + .' >Before binding tags, Alibaba Cloud verifies the number of existing tags on the resource. If the limit is exceeded, an error message is returned.'."\n" + ."\n" + .'- If the `Tag.N.Propagate` parameter is set to `true`, the tags set on the scaling group are only propagated to instances that are about to be created in the scaling group, and are not propagated to instances that are already running in the scaling group.'."\n" + ."\n" + .'- If tags are configured in the scaling configuration and the tags set on the scaling group are propagated, the tags on the instances that are about to be created are expected as follows:'."\n" + .' - The instances contain all tags from both the scaling configuration and the propagated tags from the scaling group.'."\n" + .' - If a tag in the scaling configuration has the same tag key as a propagated tag from the scaling group, the propagated tag from the scaling group is overridden by the tag in the scaling configuration.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'], ], + ], + 'ramActions' => [ [ - 'name' => 'MinimumEniIpv6AddressQuantity', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:TagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + ], + 'UntagResources' => [ + 'summary' => 'After a tag is unbound, the tag is automatically deleted if it is not bound to any other resources.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'MinimumInitialCredit', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'AK' => [], ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '92722', + 'abilityTreeNodes' => ['FEATUREessXN6KX4'], + ], + 'parameters' => [ [ - 'name' => 'MinimumBaselineCredit', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'The region ID of the resource. You can call [DescribeRegions](~~25609~~) to query the most recent region list.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'MinimumMemorySize', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'type' => 'number', - 'format' => 'float', - ], + 'schema' => ['description' => 'The type of the resource. Only scaling groups are supported. Set the value to scalinggroup.', 'type' => 'string', 'required' => true, 'example' => 'scalinggroup', 'title' => ''], ], [ - 'name' => 'MaximumMemorySize', + 'name' => 'All', 'in' => 'query', - 'schema' => [ - 'type' => 'number', - 'format' => 'float', - ], + 'schema' => ['description' => 'Specifies whether to unbind all tags from the resource. This parameter takes effect only if TagKey.N is not set in the request. Valid values:'."\n" + ."\n" + .'- true: All tags are unbound from the resource.'."\n" + .'- false: Not all tags are unbound from the resource.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'MinimumGpuAmount', + 'name' => 'ResourceId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The resource ID. Valid values of N: 1 to 50.', + 'type' => 'array', + 'items' => ['description' => 'The resource ID. Valid values of N: 1 to 50.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp17xb4x1vr29lgt****', 'title' => ''], + 'required' => true, + 'example' => 'asg-bp17xb4x1vr29lgt****', + 'maxItems' => 51, + 'title' => '', ], ], [ - 'name' => 'MaximumGpuAmount', + 'name' => 'TagKey', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The tag key of the resource. Valid values of N: 1 to 20.', + 'type' => 'array', + 'items' => ['description' => 'The tag key of the resource. Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], + 'required' => false, + 'example' => 'TestKey', + 'maxItems' => 21, + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'Schema of Response', + 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - 'title' => 'Id of the request', - 'type' => 'string', - ], - 'PatternTypes' => [ - 'description' => '', - 'items' => [ - 'description' => '', - 'properties' => [ - 'InstanceType' => [ - 'description' => '', - 'example' => 'ecs.c7.xlarge', - 'type' => 'string', - ], - 'InstanceFamilyLevel' => [ - 'description' => '', - 'example' => 'EnterpriseLevel', - 'type' => 'string', - ], - 'InstanceTypeFamily' => [ - 'description' => '', - 'example' => 'ecs.c7', - 'type' => 'string', - ], - 'Cores' => [ - 'description' => '', - 'example' => '4', - 'format' => 'int32', - 'type' => 'integer', - ], - 'Memory' => [ - 'description' => '', - 'example' => '8', - 'format' => 'float', - 'type' => 'number', - ], - ], - 'type' => 'object', - ], - 'type' => 'array', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '3AEBB1B9-5B13-4311-951F-C3C7FA2B****', 'title' => ''], ], - 'title' => 'Schema of Response', - 'type' => 'object', + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PatternTypes\\": [\\n {\\n \\"InstanceType\\": \\"ecs.c7.xlarge\\",\\n \\"InstanceFamilyLevel\\": \\"EnterpriseLevel\\",\\n \\"InstanceTypeFamily\\": \\"ecs.c7\\",\\n \\"Cores\\": 4,\\n \\"Memory\\": 8\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n \\n ecs.c7.xlarge\\n EnterpriseLevel\\n ecs.c7\\n 4\\n 8\\n \\n","errorExample":""}]', - 'title' => 'DescribePatternTypes', - ], - 'ApplyScalingGroup' => [ - 'summary' => '基于K8s Yaml格式配置应用弹性伸缩', - 'methods' => [ - 'post', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3AEBB1B9-5B13-4311-951F-C3C7FA2B****\\"\\n}","type":"json"}]', + 'title' => 'Unbind tags from specified Auto Scaling resources', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResources'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:UntagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'VerifyAuthentication' => [ + 'summary' => 'Checks whether Auto Scaling is authorized to operate on ECS resources.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -23325,1270 +19763,1680 @@ ], 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '206918', - 'abilityTreeNodes' => [ - 'FEATUREessGIWHSQ', - 'FEATUREessXN6KX4', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '92723', + 'abilityTreeNodes' => ['FEATUREessZ1KWHS'], ], 'parameters' => [ [ - 'name' => 'ClientToken', - 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '幂等参数', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], - ], - [ - 'name' => 'Content', + 'name' => 'Uid', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx annotations: k8s.aliyun.com/eip-bandwidth: 10 k8s.aliyun.com/eci-with-eip: true spec: containers: - name: nginx image: nginx:1.14.2 ports: - containerPort: 80', - ], + 'schema' => ['description' => 'The ID of your Alibaba Cloud account.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '123456781234****', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'OnlyCheck', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'Specifies whether to only check the authorization status. Valid values:'."\n" + ."\n" + .'- true: Only checks the authorization status without creating a service-linked role.'."\n" + .'- false: Checks the authorization status. If Auto Scaling is not authorized to operate on ECS or Elastic Container Instance (ECI) resources, a service-linked role is associated through automatic creation.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '', - 'type' => 'string', - 'example' => 'CC107349-57B7-4405-B1BF-9BF5AF7F****', - ], - 'ScalingGroupId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'IdempotentParameterMismatch', - 'errorMessage' => 'The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical.', + 403 => [ + ['errorCode' => 'UserNotAuthorizeEss', 'errorMessage' => 'Ess should be authorized in ram to operate user ecs resource.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'Check whether Auto Scaling is authorized to operate on ECS resources', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'VerifyAuthentication'], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CC107349-57B7-4405-B1BF-9BF5AF7F****\\",\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n CC107349-57B7-4405-B1BF-9BF5AF7F****\\n asg-bp1igpak5ft1flyp****\\n","errorExample":""}]', - 'title' => 'ApplyScalingGroup', ], - 'ModifyAlertConfiguration' => [ - 'summary' => '设置伸缩组中需要发送消息通知的伸缩活动状态', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'VerifyUser' => [ + 'summary' => 'Verifies whether Auto Scaling is activated.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '208787', - 'abilityTreeNodes' => [ - 'FEATUREessLTO4TI', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '92724', + 'abilityTreeNodes' => ['FEATUREessZ1KWHS'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1eyv4qn8ssgv43****', - ], - ], [ 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the region where you want to use Auto Scaling.'."\n" + ."\n" + .'Examples: `ap-southeast-1` and `ap-southeast-5`. For more information, see [Regions and zones](~~40654~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', + 'title' => '', + 'example' => '', ], ], + ], + 'title' => 'Verify whether Auto Scaling is activated', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'VerifyUser'], + ], + ], + 'ramActions' => [ [ - 'name' => 'ScaleStatus', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ScaleSuccessful', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'required' => false, - 'maxItems' => 10, ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"\\"\\n}","type":"json"}]', + ], + ], + 'endpoints' => [ + ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.ap-northeast-1.aliyuncs.com', 'endpoint' => 'ess.ap-northeast-1.aliyuncs.com', 'vpc' => 'ess-vpc.ap-northeast-1.aliyuncs.com'], + ['regionId' => 'ap-northeast-2', 'regionName' => 'South Korea (Seoul)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.ap-northeast-2.aliyuncs.com', 'endpoint' => 'ess.ap-northeast-2.aliyuncs.com', 'vpc' => 'ess-vpc.ap-northeast-2.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.ap-southeast-1.aliyuncs.com', 'endpoint' => 'ess.ap-southeast-1.aliyuncs.com', 'vpc' => 'ess-vpc.ap-southeast-1.aliyuncs.com'], + ['regionId' => 'ap-southeast-2', 'regionName' => 'Australia (Sydney) Closed', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.ap-southeast-2.aliyuncs.com', 'endpoint' => 'ess.ap-southeast-2.aliyuncs.com', 'vpc' => 'ess-vpc.ap-southeast-2.aliyuncs.com'], + ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.ap-southeast-3.aliyuncs.com', 'endpoint' => 'ess.ap-southeast-3.aliyuncs.com', 'vpc' => 'ess-vpc.ap-southeast-3.aliyuncs.com'], + ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.ap-southeast-5.aliyuncs.com', 'endpoint' => 'ess.ap-southeast-5.aliyuncs.com', 'vpc' => 'ess-vpc.ap-southeast-5.aliyuncs.com'], + ['regionId' => 'ap-southeast-6', 'regionName' => 'Philippines (Manila)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.ap-southeast-6.aliyuncs.com', 'endpoint' => 'ess.ap-southeast-6.aliyuncs.com', 'vpc' => 'ess-vpc.ap-southeast-6.aliyuncs.com'], + ['regionId' => 'ap-southeast-7', 'regionName' => 'Thailand (Bangkok)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.ap-southeast-7.aliyuncs.com', 'endpoint' => 'ess.ap-southeast-7.aliyuncs.com', 'vpc' => 'ess-vpc.ap-southeast-7.aliyuncs.com'], + ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-beijing.aliyuncs.com'], + ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-chengdu.aliyuncs.com', 'endpoint' => 'ess.cn-chengdu.aliyuncs.com', 'vpc' => 'ess-vpc.cn-chengdu.aliyuncs.com'], + ['regionId' => 'cn-fuzhou', 'regionName' => 'China (Fuzhou - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-fuzhou.aliyuncs.com', 'endpoint' => 'ess.cn-fuzhou.aliyuncs.com', 'vpc' => 'ess-vpc.cn-fuzhou.aliyuncs.com'], + ['regionId' => 'cn-guangzhou', 'regionName' => 'China (Guangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-guangzhou.aliyuncs.com', 'endpoint' => 'ess.cn-guangzhou.aliyuncs.com', 'vpc' => 'ess-vpc.cn-guangzhou.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-hangzhou.aliyuncs.com'], + ['regionId' => 'cn-heyuan', 'regionName' => 'China (Heyuan)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-heyuan.aliyuncs.com', 'endpoint' => 'ess.cn-heyuan.aliyuncs.com', 'vpc' => 'ess-vpc.cn-heyuan.aliyuncs.com'], + ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-hongkong.aliyuncs.com', 'endpoint' => 'ess.cn-hongkong.aliyuncs.com', 'vpc' => 'ess-vpc.cn-hongkong.aliyuncs.com'], + ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-huhehaote.aliyuncs.com', 'endpoint' => 'ess.cn-huhehaote.aliyuncs.com', 'vpc' => 'ess-vpc.cn-huhehaote.aliyuncs.com'], + ['regionId' => 'cn-nanjing', 'regionName' => 'China (Nanjing - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-nanjing.aliyuncs.com'], + ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-qingdao.aliyuncs.com'], + ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-shanghai.aliyuncs.com'], + ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-shenzhen.aliyuncs.com'], + ['regionId' => 'cn-wuhan-lr', 'regionName' => 'China (Wuhan - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-wuhan-lr.aliyuncs.com', 'endpoint' => 'ess.cn-wuhan-lr.aliyuncs.com', 'vpc' => 'ess-vpc.cn-wuhan-lr.aliyuncs.com'], + ['regionId' => 'cn-wulanchabu', 'regionName' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-wulanchabu.aliyuncs.com', 'endpoint' => 'ess.cn-wulanchabu.aliyuncs.com', 'vpc' => 'ess-vpc.cn-wulanchabu.aliyuncs.com'], + ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'ess.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'ess-vpc.cn-zhangjiakou.aliyuncs.com'], + ['regionId' => 'cn-zhengzhou-jva', 'regionName' => 'Zhengzhou (China Unicom Joint Venture)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-zhengzhou-jva.aliyuncs.com', 'endpoint' => 'ess.cn-zhengzhou-jva.aliyuncs.com', 'vpc' => 'ess-vpc.cn-zhengzhou-jva.aliyuncs.com'], + ['regionId' => 'cn-zhongwei', 'regionName' => 'China (Zhongwei)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-zhongwei.aliyuncs.com', 'endpoint' => 'ess.cn-zhongwei.aliyuncs.com', 'vpc' => 'ess-vpc.cn-zhongwei.aliyuncs.com'], + ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ess.us-west-1.aliyuncs.com', 'endpoint' => 'ess.us-west-1.aliyuncs.com', 'vpc' => 'ess-vpc.us-west-1.aliyuncs.com'], + ['regionId' => 'us-southeast-1', 'regionName' => 'US(Atlanta)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ess.us-southeast-1.aliyuncs.com', 'endpoint' => 'ess.us-southeast-1.aliyuncs.com', 'vpc' => 'ess-vpc.us-southeast-1.aliyuncs.com'], + ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ess.us-east-1.aliyuncs.com', 'endpoint' => 'ess.us-east-1.aliyuncs.com', 'vpc' => 'ess-vpc.us-east-1.aliyuncs.com'], + ['regionId' => 'na-south-1', 'regionName' => 'Mexico', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ess.na-south-1.aliyuncs.com', 'endpoint' => 'ess.na-south-1.aliyuncs.com', 'vpc' => 'ess-vpc.na-south-1.aliyuncs.com'], + ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ess.eu-west-1.aliyuncs.com', 'endpoint' => 'ess.eu-west-1.aliyuncs.com', 'vpc' => 'ess-vpc.eu-west-1.aliyuncs.com'], + ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ess.eu-central-1.aliyuncs.com', 'endpoint' => 'ess.eu-central-1.aliyuncs.com', 'vpc' => 'ess-vpc.eu-central-1.aliyuncs.com'], + ['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'ess.me-east-1.aliyuncs.com', 'endpoint' => 'ess.me-east-1.aliyuncs.com', 'vpc' => 'ess-vpc.me-east-1.aliyuncs.com'], + ['regionId' => 'me-central-1', 'regionName' => 'Saudi Arabia (Riyadh)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'ess.me-central-1.aliyuncs.com', 'endpoint' => 'ess.me-central-1.aliyuncs.com', 'vpc' => 'ess-vpc.me-central-1.aliyuncs.com'], + ['regionId' => 'ap-south-1', 'regionName' => 'India (Mumbai) Closed', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'ess.ap-south-1.aliyuncs.com', 'endpoint' => 'ess.ap-south-1.aliyuncs.com', 'vpc' => 'ess-vpc.ap-south-1.aliyuncs.com'], + ['regionId' => 'cn-wulanchabu-gic-1', 'regionName' => 'China (Ulanqab) GIC', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ess.cn-wulanchabu-gic-1.aliyuncs.com', 'endpoint' => 'ess.cn-wulanchabu-gic-1.aliyuncs.com', 'vpc' => 'ess-vpc.cn-wulanchabu-gic-1.aliyuncs.com'], + ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-shenzhen-finance-1.aliyuncs.com'], + ['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-shanghai-finance-1.aliyuncs.com'], + ['regionId' => 'cn-north-2-gov-1', 'regionName' => 'Beijing Government Cloud', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-north-2-gov-1.aliyuncs.com'], + ['regionId' => 'cn-heyuan-acdr-1', 'regionName' => 'Heyuan ACDR Auto', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ess.cn-heyuan-acdr-1.aliyuncs.com', 'endpoint' => 'ess.cn-heyuan-acdr-1.aliyuncs.com', 'vpc' => 'ess-vpc.cn-heyuan-acdr-1.aliyuncs.com'], + ['regionId' => 'cn-hangzhou-finance', 'regionName' => 'China East 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-beijing-finance-1', 'regionName' => 'China North 2 Finance (Preview)', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => ''], + ], + 'errorCodes' => [ + ['code' => 'AlbServerGroup.NotExist', 'message' => 'The ServerGroup "%s" do(es) not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'CMSSystemError', 'message' => null, 'http_code' => null, 'description' => 'Request failed'], + ['code' => 'ConsoleSystemError', 'message' => null, 'http_code' => null, 'description' => 'Request failed'], + ['code' => 'CustomMetric.NotFound', 'message' => 'Can not find custom metric of specific dimension.', 'http_code' => 404, 'description' => ''], + ['code' => 'DiskCreatingSnapshot', 'message' => 'The operation is denied due to a snapshot of the specified disk is not completed yet.', 'http_code' => 400, 'description' => ''], + ['code' => 'Duplicate.TagKey', 'message' => 'The Tag.N.Key contain duplicate value.', 'http_code' => 400, 'description' => ''], + ['code' => 'Forbidden.Forbidden', 'message' => null, 'http_code' => null, 'description' => 'The operation is not permitted'], + ['code' => 'Forbidden.RAM', 'message' => null, 'http_code' => null, 'description' => 'The user is not authorized to operate on the specified resource, or this API doesn\'t support RAM.'], + ['code' => 'Forbidden.RiskControl', 'message' => null, 'http_code' => null, 'description' => 'The operation is forbidden by the risk control system'], + ['code' => 'Forbidden.Unauthorized', 'message' => null, 'http_code' => null, 'description' => 'The user has not granted Open API authorization to Auto Scaling.'], + ['code' => 'Forbidden.Unsubscribed', 'message' => null, 'http_code' => null, 'description' => 'The user has not activated Auto Scaling and does not have permission to call this API.'], + ['code' => 'Forbidden.UserVerification', 'message' => null, 'http_code' => null, 'description' => 'No real-name verification'], + ['code' => 'HostNameExhausted', 'message' => 'The HostName resource exhausted, please reset HostName.', 'http_code' => 400, 'description' => 'the begin number in the auto-increment HostName of the scaling configuration exceeds the defined bits.'], + ['code' => 'IDEMPOTENCE_PROCESSING', 'message' => 'The previous request is still processing.', 'http_code' => 400, 'description' => 'The request is in progress.'], + ['code' => 'IDEMPOTENCE_SIGNATURE_MISMATCH', 'message' => 'There is a idempotence signature mismatch between this and last request.', 'http_code' => 400, 'description' => ''], + ['code' => 'IncorrectCapacity.MaxSize', 'message' => null, 'http_code' => null, 'description' => 'The quantity of ECS instances to be added will make the Total Capacity exceed the MaxSize.'], + ['code' => 'IncorrectCapacity.MinSize', 'message' => null, 'http_code' => null, 'description' => 'The quantity of ECS instances to be removed will make the Total Capacity less than the MinSize.'], + ['code' => 'IncorrectCapacity.NoChange', 'message' => null, 'http_code' => null, 'description' => 'The action has not changed the quantity of scaling group instances'], + ['code' => 'IncorrectDBInstanceStatus', 'message' => null, 'http_code' => null, 'description' => 'The specified RDS instance is not in Running status.'], + ['code' => 'IncorrectInstanceStatus', 'message' => null, 'http_code' => null, 'description' => 'The specified ECS instance is not in Running status.'], + ['code' => 'IncorrectLoadBalancerHealthCheck', 'message' => null, 'http_code' => null, 'description' => 'Health check is not enabled for the specified Server Load Balancer instance'], + ['code' => 'IncorrectLoadBalancerHealthCheck', 'message' => 'The current health check type of specified load balancer does not support this action.', 'http_code' => null, 'description' => 'Health check is not enabled for the specified Server Load Balancer instance'], + ['code' => 'IncorrectLoadBalancerStatus', 'message' => null, 'http_code' => null, 'description' => 'The specified Server Load Balancer instance is not in Active status.'], + ['code' => 'IncorrectLoadBalancerStatus', 'message' => 'The current status of the specified load balancer does not support this action.', 'http_code' => null, 'description' => 'The specified Server Load Balancer instance is not in Active status.'], + ['code' => 'IncorrectScalingConfigurationLifecycleState', 'message' => null, 'http_code' => null, 'description' => 'The specified scaling configuration is not in Inactive status.'], + ['code' => 'IncorrectScalingConfigurationLifecycleState', 'message' => 'The current lifecycle state of specified scaling configuration does not support this action.', 'http_code' => null, 'description' => 'The specified scaling configuration is not in Inactive status.'], + ['code' => 'IncorrectScalingGroupStatus', 'message' => null, 'http_code' => null, 'description' => 'The current scaling group does not support this operation (check if the scaling group is in Enabled status).'], + ['code' => 'IncorrectStatus.serverGroup', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => ''], + ['code' => 'IncorrectVSwitchStatus', 'message' => null, 'http_code' => null, 'description' => 'VSwitch unavailable, the instance cannot be created'], + ['code' => 'IncorrectVSwitchStatus', 'message' => 'The current status of virtual switch does not support this operation.', 'http_code' => null, 'description' => 'VSwitch unavailable, the instance cannot be created'], + ['code' => 'InstanceChargeType.NotSupported', 'message' => 'Specific instance charge type "%s" is not supported.', 'http_code' => 400, 'description' => 'When an instance is added to a scaling group and its lifecycle is managed to the scaling group. The billing type of the current instance does not support hosting.'], + ['code' => 'InstanceInUse', 'message' => null, 'http_code' => null, 'description' => 'The specified scaling configuration still has an associated ECS instance.'], + ['code' => 'InstanceType.Mismatch', 'message' => null, 'http_code' => null, 'description' => 'The instance type of the specified scaling configuration does not match the instance type of the current scaling configuration'], + ['code' => 'InsufficientBalance', 'message' => null, 'http_code' => null, 'description' => 'Insufficient user account balance'], + ['code' => 'InternalError', 'message' => null, 'http_code' => null, 'description' => 'The server cannot process the request'], + ['code' => 'InvalidAccessKeyId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'Invalid Access Key'], + ['code' => 'InvalidAction.NotFound', 'message' => 'Specified api is not found, please check your url and method.', 'http_code' => 404, 'description' => ''], + ['code' => 'InvalidDataDiskSnapshotId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified snapshot does not exist'], + ['code' => 'InvalidDataDiskSnapshotId.SizeNotSupported', 'message' => null, 'http_code' => null, 'description' => 'The size of the specified snapshot exceeds the size limit of the disk'], + ['code' => 'InvalidDBInstanceId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified RDS instance does not exist under this user account'], + ['code' => 'InvalidDBInstanceId.RegionMismatch', 'message' => null, 'http_code' => null, 'description' => 'The specified RDS instance and scaling group are in different regions.'], + ['code' => 'InvalidDevice.InUse', 'message' => null, 'http_code' => null, 'description' => 'The data disk mounting point is already in use'], + ['code' => 'InvalidImageId.InstanceTypeMismatch', 'message' => null, 'http_code' => null, 'description' => 'The specified instance type does not allow the use of the specified image'], + ['code' => 'InvalidImageId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified image does not exist under this user account'], + ['code' => 'InvalidImageId.NotFound', 'message' => 'The specified image does not exist.', 'http_code' => null, 'description' => 'The specfied image ID does not exist.'], + ['code' => 'InvalidInstanceId.InstanceTypeMismatch', 'message' => null, 'http_code' => null, 'description' => 'The specified ECS instance does not match the instance type of the scaling configuration.'], + ['code' => 'InvalidInstanceId.InUse', 'message' => null, 'http_code' => null, 'description' => 'The specified ECS instance has been added to another scaling group'], + ['code' => 'InvalidInstanceId.NetworkTypeMismatch', 'message' => null, 'http_code' => null, 'description' => 'The network types of the specified ECS instance and scaling group do not match.'], + ['code' => 'InvalidInstanceId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified ECS instance does not exist under this user account'], + ['code' => 'InvalidInstanceId.RegionMismatch', 'message' => null, 'http_code' => null, 'description' => 'The specified ECS instance and scaling group are in different regions.'], + ['code' => 'InvalidInstanceId.VPCMismatch', 'message' => null, 'http_code' => null, 'description' => 'The specified scaling group and ECS instance to be added are in different VPCs.'], + ['code' => 'InvalidInstanceType.Mismatch', 'message' => 'Instance types don\'t match the specified disk category.', 'http_code' => 403, 'description' => ''], + ['code' => 'InvalidInstanceType.NotAuthorized', 'message' => 'Instance types are not authorized.', 'http_code' => 403, 'description' => ''], + ['code' => 'InvalidInstanceType.NotSupported', 'message' => 'The instance type "%s" is not supported by ess.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidLoadBalancerId.IncorrectAddressType', 'message' => null, 'http_code' => null, 'description' => 'After a VSwitchID is specified, the specified Server Load Balancer instance type must be private network'], + ['code' => 'InvalidLoadBalancerId.IncorrectInstanceNetworkType', 'message' => null, 'http_code' => null, 'description' => 'The network types of the ECS instances in the Server Load Balancer instance and scaling group do not match.'], + ['code' => 'InvalidLoadBalancerId.IncorrectInstanceNetworkType', 'message' => 'The network type of the instance in specified load balancer does not support this action.', 'http_code' => null, 'description' => 'The network types of the ECS instances in the Server Load Balancer instance and scaling group do not match.'], + ['code' => 'InvalidLoadBalancerId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified Server Load Balancer instance does not exist under this user account'], + ['code' => 'InvalidLoadBalancerId.NotFound', 'message' => 'The specified Load Balancer does not exist.', 'http_code' => null, 'description' => 'The specified Server Load Balancer instance does not exist under this user account'], + ['code' => 'InvalidLoadBalancerId.RegionMismatch', 'message' => null, 'http_code' => null, 'description' => 'The specified Server Load Balancer instance and scaling group are in different regions'], + ['code' => 'InvalidLoadBalancerId.VPCMismatch', 'message' => null, 'http_code' => null, 'description' => 'The ECS instances of the specified scaling group\'s Server Load Balancer instance are not in the same VPC as the VSwitchID'], + ['code' => 'InvalidLoadBalancerId.VPCMismatch', 'message' => 'The specified virtual switch and the instance in specified load balancer are not in the same VPC.', 'http_code' => null, 'description' => 'The ECS instances of the specified scaling group\'s Server Load Balancer instance are not in the same VPC as the VSwitchID'], + ['code' => 'InvalidNotificationArn', 'message' => 'The specified param "notificationArn" is invalid.', 'http_code' => 400, 'description' => 'The parameter NotificationArn is invalid.'], + ['code' => 'InvalidOperation.Conflict', 'message' => 'Specific operation may conflicts with other operations, please retry later.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidOperation.GroupDeletionProtection', 'message' => 'The operation is not allowed due to "%s" is protected by deletion protection.', 'http_code' => 403, 'description' => ''], + ['code' => 'InvalidOperation.Suspended', 'message' => 'Specific operation is rejected while "%s" process is suspended.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified value of parameter %s is not valid.', 'http_code' => 400, 'description' => 'The specified value of parameter %s is not valid.'], + ['code' => 'InvalidParameter', 'message' => 'The specified value of parameter "%s" is not valid.', 'http_code' => 400, 'description' => 'The specified value of parameter "%s" is not valid.'], + ['code' => 'InvalidParameter', 'message' => 'The ServerGroupType of "%s" is not supported, only "Instance" ServerGroupType is currently supported.', 'http_code' => 400, 'description' => 'The ServerGroupType of "%s" is not supported, only "Instance" ServerGroupType is currently supported.'], + ['code' => 'InvalidParameter.Conflict', 'message' => 'DesiredCapacity can\'t be less than the number of managed instances in the scaling group.', 'http_code' => 400, 'description' => 'DesiredCapacity can\'t be less than the number of managed instances in the scaling group.'], + ['code' => 'InvalidParameter.Conflict', 'message' => 'MaxSize can\'t be less than the number of managed instances in the scaling group.', 'http_code' => 400, 'description' => 'MaxSize can\'t be less than the number of managed instances in the scaling group.'], + ['code' => 'InvalidParameter.Conflict', 'message' => 'The value of parameter PrivatePoolOptions.MatchCriteria and parameter ResourcePoolOptions are conflict, please use ResourcePoolOptions.', 'http_code' => 400, 'description' => 'The value of parameter PrivatePoolOptions.MatchCriteria and parameter ResourcePoolOptions are conflict, please use ResourcePoolOptions.'], + ['code' => 'InvalidParameter.Conflict', 'message' => 'Only InstanceTypes are supported when ResourcePoolOptions are used.', 'http_code' => 400, 'description' => 'Only InstanceTypes are supported when ResourcePoolOptions are used.'], + ['code' => 'InvalidParameter.Conflict', 'message' => 'The value of parameter ImageId and parameter LaunchTemplateId are conflict.', 'http_code' => 400, 'description' => 'The value of parameter ImageId and parameter LaunchTemplateId are conflict.'], + ['code' => 'InvalidParameter.Conflict', 'message' => 'The value of parameter ImageId and parameter ScalingConfigurationId'."\n" + .'are conflict.', 'http_code' => 400, 'description' => 'Scaling configuration conflicts with image'], + ['code' => 'InvalidParameter.Conflict', 'message' => 'The value of parameter ScalingConfigurationId and parameter InstanceTypeOverrides are conflict.', 'http_code' => 400, 'description' => 'Scaling configuration conflicts with specifying multiple instance types and configuring weights for different instance types.'], + ['code' => 'InvalidParameter.Conflict', 'message' => 'The value of parameter LaunchTemplateId and parameter ScalingConfigurationId are conflict.', 'http_code' => 400, 'description' => 'The scaling configuration conflicts with the startup template.'], + ['code' => 'InvalidParameter.Conflict', 'message' => 'The value of parameter ImageId and parameter ScalingConfigurationId are conflict.', 'http_code' => 400, 'description' => 'The value of parameter ImageId and parameter ScalingConfigurationId are conflict.'], + ['code' => 'InvalidParameter.InvalidParameter', 'message' => null, 'http_code' => null, 'description' => 'Invalid parameter value'], + ['code' => 'InvalidParameter.InvalidParameter.Conflict', 'message' => null, 'http_code' => null, 'description' => 'The specified parameter value causes a conflict'], + ['code' => 'InvalidParameter.TimeZone', 'message' => 'The specified parameter TimeZone is not valid.', 'http_code' => 400, 'description' => 'The specified parameter TimeZone is not valid.'], + ['code' => 'InvalidRamRole.NotFound', 'message' => 'The specified RamRoleName does not exist.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidRegionId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified region does not exist'], + ['code' => 'InvalidResourceId.NotFound', 'message' => 'The specified ResourceIds are not found in our records.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidScalingActivityId.NotFound', 'message' => 'The specified scaling activity does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidScalingConfigurationId.InstanceTypeMismatch', 'message' => null, 'http_code' => null, 'description' => 'The instance type of the specified scaling configuration does not match the instance type of the current scaling configuration'], + ['code' => 'InvalidScalingConfigurationId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified scaling configuration does not exist in the specified scaling group.'], + ['code' => 'InvalidScalingConfigurationId.NotFound', 'message' => 'The specified scaling configuration does not exist.', 'http_code' => null, 'description' => 'The specified scaling configuration does not exist in the specified scaling group.'], + ['code' => 'InvalidScalingConfigurationName.Duplicate', 'message' => null, 'http_code' => null, 'description' => 'This scaling configuration name already exists.'], + ['code' => 'InvalidScalingGroupId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified scaling group does not exist under this user account'], + ['code' => 'InvalidScalingGroupId.NotFound', 'message' => 'The specified scaling group does not exist.', 'http_code' => null, 'description' => 'The specified scaling group does not exist under this user account'], + ['code' => 'InvalidScalingGroupName.Duplicate', 'message' => null, 'http_code' => null, 'description' => 'This scaling group name already exists.'], + ['code' => 'InvalidScalingRuleAri.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified action does not exist under this user account.'], + ['code' => 'InvalidScalingRuleId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified action does not exist under this user account.'], + ['code' => 'InvalidScalingRuleId.NotFound', 'message' => 'The specified scaling rule "%s" does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidScalingRuleName.Duplicate', 'message' => null, 'http_code' => null, 'description' => 'This action name already exists.'], + ['code' => 'InvalidScheduledTaskId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified scheduled task does not exist under this user account'], + ['code' => 'InvalidScheduledTaskId.NotFound', 'message' => 'The specified scheduled task does not exist.', 'http_code' => null, 'description' => 'The specified scheduled task does not exist under this user account'], + ['code' => 'InvalidScheduledTaskName.Duplicate', 'message' => null, 'http_code' => null, 'description' => 'This scheduled task name already exists.'], + ['code' => 'InvalidSecurityGroupId.IncorrectNetworkType', 'message' => null, 'http_code' => null, 'description' => 'The specified security group does not match the network type specified by the scaling group'], + ['code' => 'InvalidSecurityGroupId.IncorrectNetworkType', 'message' => 'The network type of specified Security Group does not support this action.', 'http_code' => null, 'description' => 'The specified security group does not match the network type specified by the scaling group'], + ['code' => 'InvalidSecurityGroupId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified security group does not exist under this user account'], + ['code' => 'InvalidSecurityGroupId.NotFound', 'message' => 'The specified security group does not exist.', 'http_code' => null, 'description' => 'The specified security group ID does not exist.'], + ['code' => 'InvalidSecurityGroupId.VPCMismatch', 'message' => null, 'http_code' => null, 'description' => 'The specified security group and VSwitch do not belong to the same VPC'], + ['code' => 'InvalidSecurityGroupId.VPCMismatch', 'message' => 'The specified security group and the specified virtual switch are not in the same VPC.', 'http_code' => null, 'description' => 'The specified security group and VSwitch do not belong to the same VPC'], + ['code' => 'InvalidServerId.NotFound', 'message' => 'The specified ServerId does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidSnapshot.TooOld', 'message' => null, 'http_code' => null, 'description' => 'This snapshot was created on or before 7/15/2013, which means this call will be rejected.'], + ['code' => 'InvalidSystemDiskCategory.ValueUnauthorized', 'message' => null, 'http_code' => null, 'description' => 'The user does not have permission to create a temporary system disk'], + ['code' => 'InvalidSystemDiskSize.LessThanImageSize', 'message' => 'The specified parameter SystemDisk.Size is less than the image size.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidVSwitchId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified VSwitch does not exist'], + ['code' => 'InvalidVSwitchId.NotFound', 'message' => 'The specified virtual switch does not exist.', 'http_code' => null, 'description' => 'The specified VSwitch does not exist'], + ['code' => 'InvalidVSwitchId.NotFoundSpecifiedVSwitch', 'message' => 'The specified vSwitch(%s) does not exist.', 'http_code' => 404, 'description' => ''], + ['code' => 'LastActivity.NotFinished', 'message' => 'Last activity is not finished', 'http_code' => 400, 'description' => ''], + ['code' => 'LifecycleAction.InProcess', 'message' => 'The specified lifecycleHook you provided has in process lifecycle action.', 'http_code' => 400, 'description' => ''], + ['code' => 'LifecycleActionTokenCompleted', 'message' => 'The specified lifecycleActionToken you provided has been completed.', 'http_code' => 400, 'description' => ''], + ['code' => 'LifecycleActionTokenExpired', 'message' => 'The specified lifecycleActionToken you provided has expired.', 'http_code' => 400, 'description' => ''], + ['code' => 'LifecycleHookIdAndLifecycleActionToken.Invalid', 'message' => 'The specified lifecycleActionToken and lifecycleHookId you provided does not match any in process lifecycle action.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingActiveScalingConfiguration', 'message' => null, 'http_code' => null, 'description' => 'An effective scaling configuration has not been specified in this scaling group'], + ['code' => 'MissingParameter', 'message' => null, 'http_code' => null, 'description' => 'Enter a value for the parameters.'], + ['code' => 'MissingParameter', 'message' => 'The input parameter that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingSecurityToken', 'message' => 'SecurityToken is mandatory for this action.', 'http_code' => 400, 'description' => ''], + ['code' => 'NoSuchVersion', 'message' => null, 'http_code' => null, 'description' => 'Invalid version'], + ['code' => 'NotExist.ResourceGroup', 'message' => 'NotExist.ResourceGroup', 'http_code' => 400, 'description' => ''], + ['code' => 'NotificationConfigurationExist', 'message' => 'The specified notificationConfiguration already exist for the scalingGroup.', 'http_code' => 400, 'description' => 'The specified scaling group event receiving object already exists.'], + ['code' => 'NotificationMetadata.UnsupportedFormat', 'message' => 'metadata for Oos execution only support \'JSON\' format.', 'http_code' => 400, 'description' => ''], + ['code' => 'OperationDenied', 'message' => 'This operation is denied because the specified scaling group does not support this action.', 'http_code' => 400, 'description' => ''], + ['code' => 'PAYFOR.ACCOUNT_MONEY_VALIDATE_ERROR', 'message' => null, 'http_code' => null, 'description' => 'Insufficient agent credit, please contact your agent'], + ['code' => 'PAYFOR.CREDIT_PAY_INSUFFICIENT_BALANCE', 'message' => null, 'http_code' => null, 'description' => 'Insufficient credit, please contact your agent for revisions'], + ['code' => 'PostonlyOrTokenError', 'message' => null, 'http_code' => null, 'description' => ' '], + ['code' => 'PutMetricRuleTargets.Failed', 'message' => 'PutMetricRuleTargets for alarm has failed.', 'http_code' => 400, 'description' => 'Alarm task setting fails to trigger scaling.'], + ['code' => 'QUERY_QUOTA_BOOK_FAILED', 'message' => null, 'http_code' => null, 'description' => 'Credit limit query failed'], + ['code' => 'QuotaExceeded.AfterpayInstance', 'message' => null, 'http_code' => null, 'description' => 'The quota for Pay-As-You-Go ECS instances has been reached'], + ['code' => 'QuotaExceeded.BackendServer', 'message' => 'Backend server quota exceeded in load balancer "%s".', 'http_code' => 400, 'description' => ''], + ['code' => 'QuotaExceeded.DBInstanceSecurityIP', 'message' => null, 'http_code' => null, 'description' => 'The number of IP addresses in the specified access white list for RDS instances has reached the upper limit'], + ['code' => 'QuotaExceeded.EphemeralDiskSize', 'message' => null, 'http_code' => null, 'description' => 'The total temporary data disk capacity exceeds 2T (2008G)'], + ['code' => 'QuotaExceeded.Instance', 'message' => null, 'http_code' => null, 'description' => 'The user\'s ECS instance quota has been reached'], + ['code' => 'QuotaExceeded.LoadBalancer', 'message' => 'LoadBalancer quota exceeded in scalingGroup.', 'http_code' => 400, 'description' => ''], + ['code' => 'QuotaExceeded.PrivateIpAddress', 'message' => null, 'http_code' => null, 'description' => 'All private IP addresses of the VSwitch are already in use.'], + ['code' => 'QuotaExceeded.ScalingConfiguration', 'message' => null, 'http_code' => null, 'description' => 'The user\'s scaling configuration quota has been reached'], + ['code' => 'QuotaExceeded.ScalingGroup', 'message' => null, 'http_code' => null, 'description' => 'The user\'s scaling group quota has been reached'], + ['code' => 'QuotaExceeded.ScalingInstance', 'message' => null, 'http_code' => null, 'description' => 'The quota for Auto Scaling ECS instances has been reached'], + ['code' => 'QuotaExceeded.ScalingRule', 'message' => null, 'http_code' => null, 'description' => 'The user\'s action quota has been reached.'], + ['code' => 'QuotaExceeded.ScheduledTask', 'message' => null, 'http_code' => null, 'description' => 'The user\'s scheduled task quota has been reached'], + ['code' => 'QuotaExceeded.SecurityGroupInstance', 'message' => null, 'http_code' => null, 'description' => 'The ECS instance quota for the specified security group has been reached'], + ['code' => 'QuotaExceeded.VPCInstance', 'message' => null, 'http_code' => null, 'description' => 'The instance quota for this VPC has been reached'], + ['code' => 'QuotaExceeded.VServerGroup', 'message' => 'VServerGroup quota exceeded in the specified scaling group.', 'http_code' => 400, 'description' => ''], + ['code' => 'RAM.UnknownCallerType', 'message' => 'Unknown caller type "%s".', 'http_code' => 403, 'description' => ''], + ['code' => 'RecommendEmpty.DiskTypeNoStock', 'message' => 'The diskTypes are out of usage.', 'http_code' => 403, 'description' => ''], + ['code' => 'RecommendEmpty.InstanceTypeNoStock', 'message' => 'The instanceTypes are out of usage.', 'http_code' => 403, 'description' => ''], + ['code' => 'RecommendEmpty.InstanceTypeNotAuthorized', 'message' => 'The recommend instanceTypes are not authorized.', 'http_code' => 403, 'description' => ''], + ['code' => 'RecommendEmpty.InstanceTypeNotAuthorized', 'message' => 'The recommended instance type is unavailable or does not match the specified disk category.', 'http_code' => 403, 'description' => ''], + ['code' => 'ResourceNotAvailable', 'message' => null, 'http_code' => null, 'description' => 'The specified region does not support Auto Scaling'], + ['code' => 'ResourceNotAvailable.ClassicNetwork', 'message' => null, 'http_code' => null, 'description' => 'The specified zone does not support classic network.'], + ['code' => 'ResourceNotAvailable.ClassicNetwork', 'message' => 'The specified region does not support classic network, or you are the default vpc user.', 'http_code' => 400, 'description' => ''], + ['code' => 'ResourceNotAvailable.ECS', 'message' => null, 'http_code' => null, 'description' => 'The specified ECS instance type or disk type cannot be created in the specified region'], + ['code' => 'ScalingActivityInProgress', 'message' => null, 'http_code' => null, 'description' => 'The scaling group of the specified action has a scaling activity in progress.'], + ['code' => 'ScalingRule.InvalidScalingRuleType', 'message' => 'Specific scaling rule type: %s can not be executed.', 'http_code' => 400, 'description' => ''], + ['code' => 'ScheduledAction.RegionMismatch', 'message' => null, 'http_code' => null, 'description' => 'The specified ScheduledAction does not match the region of the scheduled task'], + ['code' => 'ServiceNotEnabled', 'message' => 'The OwnerId that your Access Key Id associated to has not enabled.', 'http_code' => 403, 'description' => ''], + ['code' => 'ServiceUnavailable', 'message' => null, 'http_code' => null, 'description' => 'The server cannot currently process the request.'], + ['code' => 'ServiceUnavailable', 'message' => 'The request has failed due to a temporary failure of the server.', 'http_code' => 503, 'description' => ''], + ['code' => 'SignatureDoesNotMatch', 'message' => null, 'http_code' => null, 'description' => 'Invalid signature'], + ['code' => 'TemplateMissingParameter.SecurityGroup', 'message' => 'The input parameter "SecurityGroup" that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => ''], + ['code' => 'TemplateVersion.NotNumber', 'message' => 'The input parameter "LaunchTemplateVersion" is supposed to be a string representing the version number.', 'http_code' => 400, 'description' => 'The version of the startup template is invalid.'], + ['code' => 'Throttling', 'message' => null, 'http_code' => null, 'description' => 'You have exceeded the maximum traffic. To increase the limit, submit a ticket.'], + ['code' => 'UnsupportedOperation', 'message' => null, 'http_code' => null, 'description' => 'Invalid interface'], + ['code' => 'UnsupportedOperation', 'message' => 'The specified action is not supported.The specified action is not supported by ECS group.', 'http_code' => 403, 'description' => 'You cannot call the CreateEciScalingConfiguration API to create a scaling configuration for an ECS-type scaling group.'], + ['code' => 'UnsupportedOperation', 'message' => 'There are currently no instances need to refresh.', 'http_code' => 400, 'description' => 'There are no instances in the scaling group that need to be refreshed.'], + ['code' => 'UnsupportedOperation', 'message' => 'The specified action is not supported. RecurrenceValue.', 'http_code' => 403, 'description' => 'The specified action is not supported. RecurrenceValue'], + ['code' => 'UnsupportedOperation', 'message' => 'The specified action is not supported. This ScalingGroup is managed by %s.', 'http_code' => 403, 'description' => 'The specified action is not supported. This ScalingGroup is managed by %s.'], + ['code' => 'UnsupportedOperation', 'message' => 'The specified action is not supported. The specified action is not supported by ECI group.', 'http_code' => 403, 'description' => 'The ECI scaling group does not support the specified operation.'], + ['code' => 'UnsupportedOperation', 'message' => 'The specified action is not supported. Your account has been deleted.', 'http_code' => 403, 'description' => 'Your account has been deleted.'], + ['code' => 'UnsupportedOperation', 'message' => 'The specified action is not supported. The specified action is not supported by weighted group.', 'http_code' => 403, 'description' => 'The weighted scaling group does not support the specified operation.'], + ['code' => 'UnsupportedOperation', 'message' => 'The specified action is not supported. Managed Instance can\'t be attached into ECI ScalingGroup.', 'http_code' => 403, 'description' => 'Managed instances cannot be added to scaling groups of the ECI type.'], + ['code' => 'UnsupportedOperation', 'message' => 'The specified action is not supported. The specified action is not supported for Managed instance.', 'http_code' => 403, 'description' => 'The specified action is not supported. The specified action is not supported for Managed instance.'], + ['code' => 'UnsupportedOperation', 'message' => 'This operation is not supported because the Load Balancer is currently being processed. Please try again later or reduce the call frequency.', 'http_code' => 400, 'description' => 'This operation is not supported because load balancing is in progress. Please try again later or retry less frequently.'], + ['code' => 'UnsupportedOperation', 'message' => 'This operation cannot be performed because a InstanceRefresh task is running.', 'http_code' => 400, 'description' => 'This operation cannot be performed because a InstanceRefresh task is running.'], + ['code' => 'UnsupportedOperation', 'message' => 'The current alarm task is not associated with simple scaling rules, so it does not support the modification of multi metric.', 'http_code' => 403, 'description' => ''], + ['code' => 'UserNotAuthorizeEss', 'message' => null, 'http_code' => null, 'description' => 'ESS should be authorized in RAM to operate user resource.'], + ['code' => 'UserNotAuthorizeEss', 'message' => 'Ess should be authorized in ram to operate user resource.', 'http_code' => 403, 'description' => ''], + ['code' => 'WeightedCapacity.NotFound', 'message' => 'Weighted capacity can not be found for instance type "%s".', 'http_code' => 400, 'description' => ''], + ], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnterStandby'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachVServerGroups'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResources'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateEciScalingConfiguration'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyScalingGroup'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResources'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RebalanceInstances'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'VerifyAuthentication'], + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateScheduledTask'], + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteScheduledTask'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachVServerGroups'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyNotificationConfiguration'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribePatternTypes'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateScalingRule'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScalingConfigurations'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachAlbServerGroups'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveInstances'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachAlbServerGroups'], + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeNotificationTypes'], + ['threshold' => '1800', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ExecuteScalingRule'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScalingInstances'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteLifecycleHook'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScheduledTasks'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyEciScalingConfiguration'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteNotificationConfiguration'], + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLifecycleHooks'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyAlarm'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteAlarm'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachServerGroups'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetGroupDeletionProtection'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScalingActivityDetail'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableAlarm'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagKeys'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'VerifyUser'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAlarms'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachInstances'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScalingGroups'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScalingActivities'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ExitStandby'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeNotificationConfigurations'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachLoadBalancers'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyLifecycleHook'], + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateAlarm'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeScalingRules'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeactivateScalingConfiguration'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnableScalingGroup'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagValues'], + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateNotificationConfiguration'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeElasticStrength'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyScheduledTask'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RecordLifecycleActionHeartbeat'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ScaleWithAdjustment'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteScalingGroup'], + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateScalingConfiguration'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachServerGroups'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRegions'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachDBInstances'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetInstancesProtection'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachLoadBalancers'], + ['threshold' => '1500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CompleteLifecycleAction'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SuspendProcesses'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteEciScalingConfiguration'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyInstanceAttribute'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachInstances'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyScalingConfiguration'], + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLimitation'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateScalingGroup'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteScalingConfiguration'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ResumeProcesses'], + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableScalingGroup'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeEciScalingConfigurations'], + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyScalingRule'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'], + ['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetInstanceHealth'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachDBInstances'], + ['threshold' => '700', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteScalingRule'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateLifecycleHook'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnableAlarm'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ChangeResourceGroup'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLifecycleActions'], + ], + ], + 'ram' => [ + 'productCode' => 'AutoScaling', + 'productName' => 'Auto Scaling', + 'ramCodes' => ['ess'], + 'ramLevel' => 'OPERATION', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'CreateNotificationConfiguration', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateNotificationConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteNotificationConfiguration', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteNotificationConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'SuspendInstanceRefresh', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SuspendInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeLifecycleActions', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeLifecycleActions', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeLifecycleHooks', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeLifecycleHooks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'CreateScalingGroup', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/*'], + ], + ], + ], + [ + 'apiName' => 'AttachLoadBalancers', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachLoadBalancers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteScalingGroup', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'ListTagKeys', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:ListTagKeys', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ModifyLifecycleHook', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyLifecycleHook', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'AttachDBInstances', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachDBInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'CompleteLifecycleAction', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:CompleteLifecycleAction', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'SetGroupDeletionProtection', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SetGroupDeletionProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'CreateAlarm', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeAlertConfiguration', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeAlertConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'ModifyNotificationConfiguration', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyNotificationConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeScalingActivityDetail', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingActivityDetail', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'ExecuteScalingRule', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ExecuteScalingRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'AttachVServerGroups', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachVServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeCapacityHistory', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeCapacityHistory', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeAlarms', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeAlarms', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'ResumeProcesses', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ResumeProcesses', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteScalingRule', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteScalingRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteEciScalingConfiguration', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DeleteEciScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'ModifyAlertConfiguration', - ], - 'DescribeAlertConfiguration' => [ - 'summary' => '查询伸缩组中需要发送消息的伸缩活动状态', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'EnterStandby', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:EnterStandby', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'EnableScalingGroup', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:EnableScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeEciScalingConfigurations', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeEciScalingConfigurations', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'DetachAlbServerGroups', + 'description' => '', 'operationType' => 'get', - 'abilityTreeCode' => '208803', - 'abilityTreeNodes' => [ - 'FEATUREessFY8KDA', + 'ramAction' => [ + 'action' => 'ess:DetachAlbServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', + [ + 'apiName' => 'RemoveInstances', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', + ], + [ + 'apiName' => 'DeleteAlarm', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'ScaleStatuses' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ScaleStatus' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ScaleSuccessful', - ], - ], - ], - ], - ], + [ + 'apiName' => 'DescribeScalingRules', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScaleStatuses\\": {\\n \\"ScaleStatus\\": [\\n \\"ScaleSuccessful\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n ScaleSuccessful\\n","errorExample":""}]', - 'title' => ' DescribeAlertConfiguration', - ], - 'SuspendInstanceRefresh' => [ - 'summary' => '暂停实例刷新任务', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'DescribeUser', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeUser', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'ModifyInstanceAttribute', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyInstanceAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeScalingGroups', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'ModifyAlertConfig', + 'description' => '', 'operationType' => 'update', - 'abilityTreeCode' => '232222', - 'abilityTreeNodes' => [ - 'FEATUREessPV8ZVU', + 'ramAction' => [ + 'action' => 'ess:ModifyAlertConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', + [ + 'apiName' => 'DescribeScheduledTasks', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScheduledTasks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', + ], + [ + 'apiName' => 'DisableScalingGroup', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DisableScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'InstanceRefreshTaskId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ir-a12ds234fasd*****', + ], + [ + 'apiName' => 'EnableAlarm', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:EnableAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], + [ + 'apiName' => 'DescribeScalingInstances', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + [ + 'apiName' => 'AttachAlbServerGroups', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachAlbServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'SuspendInstanceRefresh', - ], - 'ResumeInstanceRefresh' => [ - 'summary' => '恢复暂停中的实例刷新任务', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'DetachDBInstances', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachDBInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'ModifyScalingRule', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyScalingRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'CreateEciScalingConfiguration', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateEciScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeScalingConfigurations', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingConfigurations', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '232223', - 'abilityTreeNodes' => [ - 'FEATUREessPV8ZVU', + [ + 'apiName' => 'DescribeRegions', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', + [ + 'apiName' => 'ApplyScalingGroup', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:ApplyScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', + ], + [ + 'apiName' => 'ModifyScalingGroup', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'InstanceRefreshTaskId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ir-a12ds234fasd*****', + ], + [ + 'apiName' => 'VerifyAuthentication', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], + [ + 'apiName' => 'ModifyAlarm', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + [ + 'apiName' => 'UntagResources', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:UntagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'ResumeInstanceRefresh', - ], - 'CancelInstanceRefresh' => [ - 'summary' => '取消实例刷新任务', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'CreateScheduledTask', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateScheduledTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'DeleteLifecycleHook', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteLifecycleHook', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DetachLoadBalancers', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachLoadBalancers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'DescribeNotificationTypes', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeNotificationTypes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SuspendProcesses', + 'description' => '', 'operationType' => 'update', - 'abilityTreeCode' => '232214', - 'abilityTreeNodes' => [ - 'FEATUREessPV8ZVU', + 'ramAction' => [ + 'action' => 'ess:SuspendProcesses', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', + [ + 'apiName' => 'CreateLifecycleHook', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateLifecycleHook', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', + ], + [ + 'apiName' => 'DisableAlarm', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DisableAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'InstanceRefreshTaskId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ir-aca123sf****', + ], + [ + 'apiName' => 'RecordLifecycleActionHeartbeat', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:RecordLifecycleActionHeartbeat', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], + [ + 'apiName' => 'ModifyEciScalingConfiguration', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyEciScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + [ + 'apiName' => 'ResumeInstanceRefresh', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ResumeInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]', - 'title' => 'CancelInstanceRefresh', - ], - 'DescribeInstanceRefreshes' => [ - 'summary' => '查询实例刷新任务列表', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'DescribeLimitation', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeLimitation', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'DetachServerGroups', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'ScaleWithAdjustment', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ScaleWithAdjustment', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#scalinggroupId}'], + ], + ], + ], + [ + 'apiName' => 'DetachVServerGroups', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachVServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'DeactivateScalingConfiguration', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DeactivateScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'DescribeAlertConfig', + 'description' => '', 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '232225', - 'abilityTreeNodes' => [ - 'FEATUREessACRSW1', + 'ramAction' => [ + 'action' => 'ess:DescribeAlertConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + [ + 'apiName' => 'AttachInstances', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'NextToken', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', + ], + [ + 'apiName' => 'DescribePatternTypes', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ess:DescribePatternTypes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'MaxResults', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'maximum' => '50', - 'example' => '10', - 'default' => '10', + ], + [ + 'apiName' => 'ModifyAlertConfiguration', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyAlertConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'docRequired' => false, - 'example' => 'asg-bp1ffogfdauy0jw0****', + ], + [ + 'apiName' => 'ChangeResourceGroup', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ChangeResourceGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'InstanceRefreshTaskId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ir-adfa12312*****', - ], - 'required' => false, - 'maxItems' => 20, + ], + [ + 'apiName' => 'DescribeElasticStrength', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeElasticStrength', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'NextToken' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'caeba0bbb2be03f84eb48b699f****', - ], - 'MaxResults' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'TotalCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'InstanceRefreshTasks' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'InstanceRefreshTask' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'InstanceRefreshTaskId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ir-1adfa123****', - ], - 'ScalingGroupId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'asg-bp16pbfcr8j9*****', - ], - 'RegionId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'EndTime' => [ - 'description' => '', - 'type' => 'string', - 'example' => '2024-08-22T02:09:00Z', - ], - 'StartTime' => [ - 'description' => '', - 'type' => 'string', - 'example' => '2024-08-22T01:09:00Z', - ], - 'Status' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'InProgress', - ], - 'Detail' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'The task exceeded its maximum run time of one week. So the task failed.', - ], - 'MinHealthyPercentage' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'MaxHealthyPercentage' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '120', - ], - 'DesiredConfiguration' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ImageId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'm-uf6g5noisr****', - ], - 'ScalingConfigurationId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'asc-wz91ibkhfor****', - ], - 'LaunchTemplateId' => [ - 'type' => 'string', - ], - 'LaunchTemplateVersion' => [ - 'type' => 'string', - ], - 'LaunchTemplateOverrides' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'LaunchTemplateOverride' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - 'Containers' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Container' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'type' => 'string', - ], - 'Image' => [ - 'type' => 'string', - ], - 'Commands' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Command' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - 'EnvironmentVars' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'EnvironmentVar' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'type' => 'string', - ], - 'Value' => [ - 'type' => 'string', - ], - 'FieldRefFieldPath' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - 'Args' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Arg' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'FinishedUpdateCapacity' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TotalNeedUpdateCapacity' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'SkipMatching' => [ - 'type' => 'boolean', - ], - 'CheckpointPauseTime' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Checkpoints' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Checkpoint' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Percentage' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + [ + 'apiName' => 'DeleteScalingConfiguration', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f****\\",\\n \\"MaxResults\\": 50,\\n \\"TotalCount\\": 100,\\n \\"InstanceRefreshTasks\\": {\\n \\"InstanceRefreshTask\\": [\\n {\\n \\"InstanceRefreshTaskId\\": \\"ir-1adfa123****\\",\\n \\"ScalingGroupId\\": \\"asg-bp16pbfcr8j9*****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"EndTime\\": \\"2024-08-22T02:09:00Z\\",\\n \\"StartTime\\": \\"2024-08-22T01:09:00Z\\",\\n \\"Status\\": \\"InProgress\\",\\n \\"Detail\\": \\"The task exceeded its maximum run time of one week. So the task failed.\\",\\n \\"MinHealthyPercentage\\": 80,\\n \\"MaxHealthyPercentage\\": 120,\\n \\"DesiredConfiguration\\": {\\n \\"ImageId\\": \\"m-uf6g5noisr****\\",\\n \\"ScalingConfigurationId\\": \\"asc-wz91ibkhfor****\\",\\n \\"LaunchTemplateId\\": \\"lt-2ze5x4mp*****\\",\\n \\"LaunchTemplateVersion\\": \\"Latest\\",\\n \\"LaunchTemplateOverrides\\": {\\n \\"LaunchTemplateOverride\\": [\\n {\\n \\"InstanceType\\": \\"ecs.g7.2xlarge\\"\\n }\\n ]\\n },\\n \\"Containers\\": {\\n \\"Container\\": [\\n {\\n \\"Name\\": \\"name\\",\\n \\"Image\\": \\"registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest\\",\\n \\"Commands\\": {\\n \\"Command\\": [\\n \\"sleep\\"\\n ]\\n },\\n \\"EnvironmentVars\\": {\\n \\"EnvironmentVar\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/local/bin\\",\\n \\"FieldRefFieldPath\\": \\"fieldPath\\"\\n }\\n ]\\n },\\n \\"Args\\": {\\n \\"Arg\\": [\\n \\"100\\"\\n ]\\n }\\n }\\n ]\\n }\\n },\\n \\"FinishedUpdateCapacity\\": 10,\\n \\"TotalNeedUpdateCapacity\\": 20,\\n \\"SkipMatching\\": true,\\n \\"CheckpointPauseTime\\": 30,\\n \\"Checkpoints\\": {\\n \\"Checkpoint\\": [\\n {\\n \\"Percentage\\": 60\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n caeba0bbb2be03f84eb48b699f****\\n 50\\n 100\\n \\n ir-1adfa123****\\n asg-bp16pbfcr8j9*****\\n cn-hangzhou\\n 2024-08-22T02:09:00Z\\n 2024-08-22T01:09:00Z\\n InProgress\\n The task exceeded its maximum run time of one week. So the task failed.\\n 80\\n 120\\n \\n m-uf6g5noisr****\\n asc-wz91ibkhfor****\\n \\n 10\\n 20\\n \\n","errorExample":""}]', - 'title' => 'DescribeInstanceRefreshes', - ], - 'RollbackInstanceRefresh' => [ - 'summary' => '回滚实例刷新任务', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'ReplaceSystemDisk', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:ReplaceSystemDisk', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'CreateScalingRule', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateScalingRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeInstanceRefreshes', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeInstanceRefreshes', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'DescribeNotificationConfigurations', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeNotificationConfigurations', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'StartInstanceRefresh', + 'description' => '', 'operationType' => 'update', - 'abilityTreeCode' => '232220', - 'abilityTreeNodes' => [ - 'FEATUREessPV8ZVU', + 'ramAction' => [ + 'action' => 'ess:StartInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', + [ + 'apiName' => 'RollbackInstanceRefresh', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:RollbackInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', + ], + [ + 'apiName' => 'ExitStandby', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ExitStandby', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'InstanceRefreshTaskId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ir-a12ds234fasd*****', + ], + [ + 'apiName' => 'ListTagResources', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:ListTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'B13527BF-1FBD-4334-A512-20F5E9D3****', - ], - ], + [ + 'apiName' => 'ModifyScalingConfiguration', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyScalingConfiguration', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + [ + 'apiName' => 'CancelInstanceRefresh', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:CancelInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B13527BF-1FBD-4334-A512-20F5E9D3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n B13527BF-1FBD-4334-A512-20F5E9D3****\\n","errorExample":""}]', - 'title' => 'RollbackInstanceRefresh', - ], - 'StartInstanceRefresh' => [ - 'summary' => '启动实例刷新任务', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'AttachServerGroups', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'operationType' => 'write', - 'systemTags' => [ + [ + 'apiName' => 'DetachInstances', + 'description' => '', 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '232212', - 'abilityTreeNodes' => [ - 'FEATUREessPV8ZVU', + 'ramAction' => [ + 'action' => 'ess:DetachInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', + [ + 'apiName' => 'DeleteScheduledTask', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteScheduledTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + [ + 'apiName' => 'ListTagValues', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:ListTagValues', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', + ], + [ + 'apiName' => 'SetInstanceHealth', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SetInstanceHealth', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'MinHealthyPercentage', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', + ], + [ + 'apiName' => 'DescribeScalingActivities', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingActivities', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'MaxHealthyPercentage', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', + ], + [ + 'apiName' => 'VerifyUser', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'DesiredConfiguration', - 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ImageId' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'm-2ze8cqacj7opnf***', - ], - 'ScalingConfigurationId' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'asc-2zed7lqn4ts4****', - ], - 'LaunchTemplateId' => [ - 'type' => 'string', - ], - 'LaunchTemplateVersion' => [ - 'type' => 'string', - ], - 'LaunchTemplateOverrides' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'type' => 'string', - ], - ], - ], - ], - 'Containers' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'type' => 'string', - ], - 'Image' => [ - 'type' => 'string', - ], - 'Commands' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - 'Args' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - 'EnvironmentVars' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'type' => 'string', - ], - 'Value' => [ - 'type' => 'string', - ], - 'FieldRefFieldPath' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - ], - 'required' => false, + ], + [ + 'apiName' => 'TagResources', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:TagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'SkipMatching', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', + ], + [ + 'apiName' => 'RebalanceInstances', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:RebalanceInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'Checkpoints', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Percentage' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - 'maxItems' => 100, + ], + [ + 'apiName' => 'CreateScalingConfiguration', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateScalingConfiguration', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'CheckpointPauseTime', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', + ], + [ + 'apiName' => 'SetInstancesProtection', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SetInstancesProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'InstanceRefreshTaskId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ir-a12ds234fasd*****', - ], - ], + [ + 'apiName' => 'ModifyScheduledTask', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyScheduledTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"InstanceRefreshTaskId\\": \\"ir-a12ds234fasd*****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n ir-a12ds234fasd*****\\n","errorExample":""}]', - 'title' => 'StartInstanceRefresh', - ], - ], - 'endpoints' => [ - [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'ess.cn-zhangjiakou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhengzhou-jva', - 'endpoint' => 'ess.cn-zhengzhou-jva.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'ess.cn-huhehaote.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'ess.cn-wulanchabu.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'cn-nanjing', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'cn-fuzhou', - 'endpoint' => 'ess.cn-fuzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'cn-heyuan', - 'endpoint' => 'ess.cn-heyuan.aliyuncs.com', - ], - [ - 'regionId' => 'cn-guangzhou', - 'endpoint' => 'ess.cn-guangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'ess.cn-chengdu.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wuhan-lr', - 'endpoint' => 'ess.cn-wuhan-lr.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'ess.cn-hongkong.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'ess.ap-northeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-2', - 'endpoint' => 'ess.ap-northeast-2.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'ess.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-2', - 'endpoint' => 'ess.ap-southeast-2.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'ess.ap-southeast-3.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'ess.ap-southeast-5.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-6', - 'endpoint' => 'ess.ap-southeast-6.aliyuncs.com', - ], - [ - 'regionId' => 'us-east-1', - 'endpoint' => 'ess.us-east-1.aliyuncs.com', - ], - [ - 'regionId' => 'us-west-1', - 'endpoint' => 'ess.us-west-1.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'ess.eu-west-1.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'ess.eu-central-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-south-1', - 'endpoint' => 'ess.ap-south-1.aliyuncs.com', - ], - [ - 'regionId' => 'me-east-1', - 'endpoint' => 'ess.me-east-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-7', - 'endpoint' => 'ess.ap-southeast-7.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-finance-1', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'me-central-1', - 'endpoint' => 'ess.me-central-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-heyuan-acdr-1', - 'endpoint' => 'ess.cn-heyuan-acdr-1.aliyuncs.com', - ], - [ - 'regionId' => 'na-south-1', - 'endpoint' => 'ess.na-south-1.aliyuncs.com', - ], - [ - 'regionId' => 'us-southeast-1', - 'endpoint' => 'ess.us-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wulanchabu-gic-1', - 'endpoint' => 'ess.cn-wulanchabu-gic-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-north-2-gov-1', - 'endpoint' => 'ess.aliyuncs.com', ], - [ - 'regionId' => 'cn-zhongwei', - 'endpoint' => 'ess.cn-zhongwei.aliyuncs.com', + 'resourceTypes' => [ + ['validationType' => 'always', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ['validationType' => 'always', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/*'], ], ], ]; diff --git a/data/en_us/ess/2016-07-22/api-docs.php b/data/en_us/ess/2016-07-22/api-docs.php deleted file mode 100644 index cedca68..0000000 --- a/data/en_us/ess/2016-07-22/api-docs.php +++ /dev/null @@ -1,728 +0,0 @@ - '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Ess', - 'version' => '2016-07-22', - ], - 'directories' => [ - [ - 'id' => 63579, - 'title' => null, - 'type' => 'directory', - 'children' => [ - 'DescribeScalingConfigurations', - ], - ], - [ - 'id' => 63589, - 'title' => null, - 'type' => 'directory', - 'children' => [ - 'DetachInstances', - ], - ], - ], - 'components' => [ - 'schemas' => [], - ], - 'apis' => [ - 'DescribeScalingConfigurations' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'default' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'default' => '10', - ], - ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'ScalingConfigurationId.1', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'ScalingConfigurationId.2', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'ScalingConfigurationId.3', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'ScalingConfigurationId.4', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'ScalingConfigurationId.5', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'ScalingConfigurationId.6', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'ScalingConfigurationId.7', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'ScalingConfigurationId.8', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'ScalingConfigurationId.9', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'ScalingConfigurationId.10', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'ScalingConfigurationName.1', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'ScalingConfigurationName.2', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'ScalingConfigurationName.3', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'ScalingConfigurationName.4', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'ScalingConfigurationName.5', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'ScalingConfigurationName.6', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'ScalingConfigurationName.7', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'ScalingConfigurationName.8', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'ScalingConfigurationName.9', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'ScalingConfigurationName.10', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], - 'PageNumber' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'PageSize' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'TotalCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'ScalingConfigurations' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ScalingConfiguration' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CreationTime' => [ - 'type' => 'string', - ], - 'ScalingConfigurationName' => [ - 'type' => 'string', - ], - 'SecurityGroupId' => [ - 'type' => 'string', - ], - 'SystemDiskCategory' => [ - 'type' => 'string', - ], - 'InstanceType' => [ - 'type' => 'string', - ], - 'InternetMaxBandwidthIn' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'InternetMaxBandwidthOut' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'ScalingGroupId' => [ - 'type' => 'string', - ], - 'IoOptimized' => [ - 'type' => 'string', - ], - 'SystemDiskSize' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'LifecycleState' => [ - 'type' => 'string', - ], - 'InternetChargeType' => [ - 'type' => 'string', - ], - 'ScalingConfigurationId' => [ - 'type' => 'string', - ], - 'InstanceGeneration' => [ - 'type' => 'string', - ], - 'ImageId' => [ - 'type' => 'string', - ], - 'DataDisks' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DataDisk' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Category' => [ - 'type' => 'string', - ], - 'SnapshotId' => [ - 'type' => 'string', - ], - 'Device' => [ - 'type' => 'string', - ], - 'Size' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'errorCodes' => [], - 'responseDemo' => null, - ], - 'DetachInstances' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'parameters' => [ - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'InstanceId.1', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], - ], - [ - 'name' => 'InstanceId.2', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'InstanceId.3', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'InstanceId.4', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'InstanceId.5', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'InstanceId.6', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'InstanceId.7', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'InstanceId.8', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'InstanceId.9', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'InstanceId.10', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'InstanceId.11', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'InstanceId.12', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'InstanceId.13', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'InstanceId.14', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'InstanceId.15', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'InstanceId.16', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'InstanceId.17', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'InstanceId.18', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'InstanceId.19', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'InstanceId.20', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'ScalingActivityId' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - 'errorCodes' => [], - 'responseDemo' => null, - ], - ], - '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', - ], - ], -]; diff --git a/data/en_us/ess/2022-02-22/api-docs.php b/data/en_us/ess/2022-02-22/api-docs.php index 2c8d7e0..7266551 100644 --- a/data/en_us/ess/2022-02-22/api-docs.php +++ b/data/en_us/ess/2022-02-22/api-docs.php @@ -1,225 +1,87 @@ '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Ess', - 'version' => '2022-02-22', - ], + 'info' => ['style' => 'RPC', 'product' => 'Ess', 'version' => '2022-02-22'], 'directories' => [ [ - 'id' => 172331, - 'title' => 'Scaling groups', - 'type' => 'directory', 'children' => [ - 'CreateScalingGroup', - 'ModifyScalingGroup', - 'EnableScalingGroup', - 'DisableScalingGroup', - 'SetGroupDeletionProtection', - 'DeleteScalingGroup', - 'DescribeScalingGroups', - 'DescribeScalingGroupDetail', - 'DescribeScalingInstances', - 'DescribeScalingActivities', - 'DescribeScalingActivityDetail', - 'AttachLoadBalancers', - 'DetachLoadBalancers', - 'AttachDBInstances', - 'DetachDBInstances', - 'SuspendProcesses', - 'ResumeProcesses', - 'AttachVServerGroups', - 'DetachVServerGroups', - 'AttachAlbServerGroups', - 'DetachAlbServerGroups', - 'AttachServerGroups', - 'DetachServerGroups', - 'ChangeResourceGroup', - 'ApplyScalingGroup', - 'DescribeElasticStrength', + 'CreateScalingGroup', 'ModifyScalingGroup', 'EnableScalingGroup', 'DisableScalingGroup', 'SetGroupDeletionProtection', 'DeleteScalingGroup', 'DescribeScalingGroups', 'DescribeScalingGroupDetail', 'DescribeScalingInstances', 'DescribeScalingActivities', 'DescribeScalingActivityDetail', 'AttachLoadBalancers', 'DetachLoadBalancers', 'AttachDBInstances', 'DetachDBInstances', 'SuspendProcesses', 'ResumeProcesses', 'AttachVServerGroups', 'DetachVServerGroups', 'AttachAlbServerGroups', + 'DetachAlbServerGroups', 'AttachServerGroups', 'DetachServerGroups', 'DescribeElasticStrength', ], - ], - [ - 'id' => 172353, - 'title' => 'Scaling configurations', 'type' => 'directory', - 'children' => [ - 'CreateScalingConfiguration', - 'DescribeScalingConfigurations', - 'ModifyScalingConfiguration', - 'DeleteScalingConfiguration', - 'CreateEciScalingConfiguration', - 'DescribeEciScalingConfigurations', - 'DescribeEciScalingConfigurationDetail', - 'ModifyEciScalingConfiguration', - 'ApplyEciScalingConfiguration', - 'DeleteEciScalingConfiguration', - 'DescribePatternTypes', - ], + 'title' => 'Scaling groups', ], [ - 'id' => 172361, - 'title' => 'Scaling rules', + 'children' => ['CreateScalingConfiguration', 'DescribeScalingConfigurations', 'ModifyScalingConfiguration', 'DeleteScalingConfiguration', 'CreateEciScalingConfiguration', 'DescribeEciScalingConfigurations', 'ModifyEciScalingConfiguration', 'ApplyEciScalingConfiguration', 'DeleteEciScalingConfiguration', 'DescribeCandidateInstanceType'], 'type' => 'directory', - 'children' => [ - 'CreateScalingRule', - 'ModifyScalingRule', - 'DescribeScalingRules', - 'DeleteScalingRule', - ], + 'title' => 'Scaling configurations', ], [ - 'id' => 172367, - 'title' => 'Scaling tasks', + 'children' => ['CreateScalingRule', 'ModifyScalingRule', 'DescribeScalingRules', 'DeleteScalingRule'], 'type' => 'directory', - 'children' => [ - 'ExecuteScalingRule', - 'ScaleWithAdjustment', - 'AttachInstances', - 'RemoveInstances', - 'DetachInstances', - ], + 'title' => 'Scaling rules', ], [ - 'id' => 172370, - 'title' => 'Scheduled tasks', + 'children' => ['ExecuteScalingRule', 'ScaleWithAdjustment', 'RemoveInstances', 'DetachInstances'], 'type' => 'directory', - 'children' => [ - 'CreateScheduledTask', - 'ModifyScheduledTask', - 'DescribeScheduledTasks', - 'DeleteScheduledTask', - ], + 'title' => 'Scaling tasks', ], [ - 'id' => 172375, - 'title' => 'Event-triggered tasks', + 'children' => ['DescribeScheduledTasks'], 'type' => 'directory', - 'children' => [ - 'CreateAlarm', - 'DescribeAlarms', - 'ModifyAlarm', - 'EnableAlarm', - 'DisableAlarm', - 'DeleteAlarm', - ], + 'title' => 'Scheduled tasks', ], [ - 'id' => 196165, - 'title' => 'Instance refresh', + 'children' => ['CreateAlarm', 'DescribeAlarms', 'ModifyAlarm', 'EnableAlarm', 'DisableAlarm', 'DeleteAlarm'], 'type' => 'directory', - 'children' => [ - 'DescribeInstanceRefreshes', - 'StartInstanceRefresh', - 'CancelInstanceRefresh', - 'RollbackInstanceRefresh', - 'SuspendInstanceRefresh', - 'ResumeInstanceRefresh', - ], + 'title' => 'Event-triggered tasks', ], [ - 'id' => 172382, - 'title' => 'Lifecycle hooks', + 'children' => ['DescribeInstanceRefreshes', 'StartInstanceRefresh'], 'type' => 'directory', - 'children' => [ - 'CreateLifecycleHook', - 'ModifyLifecycleHook', - 'DescribeLifecycleHooks', - 'RecordLifecycleActionHeartbeat', - 'DescribeLifecycleActions', - 'CompleteLifecycleAction', - 'DeleteLifecycleHook', - ], + 'title' => 'Instance refresh', ], [ - 'id' => 172390, - 'title' => 'Event notifications', + 'children' => ['RecordLifecycleActionHeartbeat', 'DescribeLifecycleActions', 'CompleteLifecycleAction'], 'type' => 'directory', - 'children' => [ - 'CreateNotificationConfiguration', - 'ModifyNotificationConfiguration', - 'DescribeNotificationConfigurations', - 'DeleteNotificationConfiguration', - 'DescribeNotificationTypes', - ], + 'title' => 'Lifecycle hooks', ], [ - 'id' => 199238, - 'title' => 'Health diagnosis', + 'children' => ['CreateNotificationConfiguration', 'ModifyNotificationConfiguration', 'DescribeNotificationConfigurations'], 'type' => 'directory', - 'children' => [ - 'CreateDiagnoseReport', - 'DescribeDiagnoseReports', - 'DescribeScalingGroupDiagnoseDetails', - ], + 'title' => 'Event notifications', ], [ - 'id' => 172396, - 'title' => 'Instances', + 'children' => ['DescribeDiagnoseReports', 'DescribeScalingGroupDiagnoseDetails'], 'type' => 'directory', - 'children' => [ - 'EnterStandby', - 'ExitStandby', - 'RebalanceInstances', - 'SetInstanceHealth', - 'SetInstancesProtection', - ], + 'title' => 'Health diagnosis', ], [ - 'id' => 172402, - 'title' => 'Regions', + 'children' => ['EnterStandby', 'ExitStandby', 'RebalanceInstances', 'SetInstanceHealth', 'SetInstancesProtection'], 'type' => 'directory', - 'children' => [ - 'DescribeRegions', - ], + 'title' => 'Instances', ], [ - 'id' => 172404, - 'title' => 'Tags', + 'children' => ['DescribeInstanceCreateAndDeleteStatistics', 'QueryPredictiveValue', 'QueryHistoricalMetric', 'QueryPredictiveTaskInfo', 'QueryPredictiveMetric', 'DeleteDiagnoseReport', 'DescribeScalingActivityStatistics'], 'type' => 'directory', - 'children' => [ - 'TagResources', - 'ListTagResources', - 'UntagResources', - 'ListTagKeys', - 'ListTagValues', - ], + 'title' => 'Other', ], [ - 'id' => 188157, - 'title' => 'Other', - 'type' => 'directory', 'children' => [ - 'VerifyUser', - 'VerifyAuthentication', - 'DescribeLimitation', - 'ModifyInstanceAttribute', - 'DescribeAlertConfiguration', - 'ModifyAlertConfiguration', - 'DescribeInstanceCreateAndDeleteStatistics', - 'QueryPredictiveValue', - 'QueryHistoricalMetric', - 'QueryPredictiveTaskInfo', - 'QueryPredictiveMetric', - 'DeleteDiagnoseReport', - 'DescribeScalingActivityStatistics', + 'ApplyScalingGroup', 'AttachInstances', 'CancelInstanceRefresh', 'ChangeResourceGroup', 'CreateDiagnoseReport', 'CreateLifecycleHook', 'CreateScheduledTask', 'DeleteLifecycleHook', 'DeleteNotificationConfiguration', 'DeleteScheduledTask', 'DescribeAlertConfiguration', 'DescribeEciScalingConfigurationDetail', 'DescribeLifecycleHooks', 'DescribeLimitation', 'DescribeNotificationTypes', 'DescribePatternTypes', 'DescribeRegions', 'ListTagKeys', 'ListTagResources', 'ListTagValues', + 'ModifyAlertConfiguration', 'ModifyInstanceAttribute', 'ModifyLifecycleHook', 'ModifyScheduledTask', 'ResumeInstanceRefresh', 'RollbackInstanceRefresh', 'SuspendInstanceRefresh', 'TagResources', 'UntagResources', 'VerifyAuthentication', 'VerifyUser', ], + 'title' => 'Others', + 'type' => 'directory', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'CreateScalingGroup' => [ - 'summary' => 'Creates a scaling group. You can call the CreateScalingGroup operation to automate the adjustment of computing power of a specific type based on your business requirements and scaling polices.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ApplyEciScalingConfiguration' => [ + 'summary' => 'Applies a scaling configuration of the Elastic Container Instance type. If you want to create and manage scaling configurations of the Elastic Container Instance type by using a configuration file, you can call the ApplyEciScalingConfiguration operation.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -231,1062 +93,950 @@ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '125385', - 'abilityTreeNodes' => [ - 'FEATUREessGIWHSQ', - ], + 'abilityTreeCode' => '212847', + 'abilityTreeNodes' => ['FEATUREessWJGIW5', 'FEATUREessT4M3WE'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupName', + 'name' => 'Content', '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****', - ], + 'allowEmptyValue' => false, + 'schema' => ['description' => 'The content of the configuration file.'."\n", 'type' => 'string', 'required' => true, 'example' => 'apiVersion: apps/v1'."\n" + .'kind: Deployment'."\n" + .'metadata:'."\n" + .' name: nginx-deployment'."\n" + .' labels:'."\n" + .' app: nginx'."\n" + .' spec:'."\n" + .' replicas: 3'."\n" + .' selector:'."\n" + .' matchLabels:'."\n" + .' app: nginx'."\n" + .' template:'."\n" + .' metadata:'."\n" + .' labels:'."\n" + .' app: nginx'."\n" + .' annotations:'."\n" + .' k8s.aliyun.com/eip-bandwidth: 10'."\n" + .' k8s.aliyun.com/eci-with-eip: true'."\n" + .' spec:'."\n" + .' containers:'."\n" + .' - name: nginx'."\n" + .' image: nginx:1.14.2'."\n" + .' ports:'."\n" + .' - containerPort: 80', 'title' => ''], ], [ - 'name' => 'LaunchTemplateId', + 'name' => 'RegionId', '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**** ', - ], + 'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'LaunchTemplateVersion', + 'name' => 'Format', 'in' => 'query', - 'schema' => [ - 'description' => 'The version number of the launch template. Valid values:'."\n" - ."\n" - .'* A fixed template version number.'."\n" - .'* Default: the default template version.'."\n" - .'* Latest: the latest template version.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Default', - ], + 'schema' => ['description' => 'Optional. Set the value to YAML.'."\n", 'type' => 'string', 'required' => false, 'example' => 'YAML', 'title' => ''], ], [ - 'name' => 'InstanceId', + 'name' => 'ScalingGroupId', '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****', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'ScalingConfigurationId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling configuration.'."\n" + ."\n" + .'If you want the system to update a scaling configuration of the Elastic Container Instance type based on a YAML configuration file, you must specify `ScalingConfigurationId`. If you do not specify `ScalingConfigurationId`, the system creates a new scaling configuration based on the YAML configuration file.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'asc-bp1i65jd06v04vdh****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-qingdao', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + 'ScalingConfigurationId' => ['description' => 'The ID of the scaling configuration.'."\n", 'type' => 'string', 'example' => 'asc-bp16har3jpj6fjbx****', 'title' => ''], + ], + ], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ApplyEciScalingConfiguration', + 'description' => '基于YAML配置文件管理ECI类型的伸缩配置时,您需要注意以下事项:'."\n" + ."\n" + .'- 如果指定ECI类型的伸缩配置ID时,系统会基于YAML配置文件更新ECI类型的伸缩配置。'."\n" + .'- 如果未指定ECI类型的伸缩配置ID时,系统会基于YAML配置文件创建对应ECI类型的伸缩配置。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:ApplyEciScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingConfigurationId\\": \\"asc-bp16har3jpj6fjbx****\\"\\n}","type":"json"}]', + ], + 'ApplyScalingGroup' => [ + 'summary' => 'Creates and manages scaling groups by using configuration files. You can call the ApplyScalingGroup operation to create and manage scaling groups by using configuration files with efficiency.', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '206521', + 'abilityTreeNodes' => ['FEATUREessGIWHSQ', 'FEATUREessXN6KX4'], + ], + 'parameters' => [ [ - 'name' => 'MinSize', + 'name' => 'Content', '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', - ], + 'allowEmptyValue' => false, + 'schema' => ['description' => 'The content of the configuration file.'."\n", 'type' => 'string', 'required' => true, 'example' => 'apiVersion: apps/v1'."\n" + .'kind: Deployment'."\n" + .'metadata:'."\n" + .' name: nginx-deployment'."\n" + .' labels:'."\n" + .' app: nginx'."\n" + .' spec:'."\n" + .' replicas: 3'."\n" + .' selector:'."\n" + .' matchLabels:'."\n" + .' app: nginx'."\n" + .' template:'."\n" + .' metadata:'."\n" + .' labels:'."\n" + .' app: nginx'."\n" + .' annotations:'."\n" + .' k8s.aliyun.com/eip-bandwidth: 10'."\n" + .' k8s.aliyun.com/eci-with-eip: true'."\n" + .' spec:'."\n" + .' containers:'."\n" + .' - name: nginx'."\n" + .' image: nginx:1.14.2'."\n" + .' ports:'."\n" + .' - containerPort: 80', 'title' => ''], ], [ - 'name' => 'MaxSize', + 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ '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', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'CC107349-57B7-4405-B1BF-9BF5AF7F****'], + 'ScalingGroupId' => ['description' => 'The ID of the enabled scaling group.'."\n", 'type' => 'string', 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], + ], + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC107349-57B7-4405-B1BF-9BF5AF7F****\\",\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\"\\n}","type":"json"}]', + 'title' => 'ApplyScalingGroup', + 'description' => 'You can call the ApplyScalingGroup operation to create scaling groups of the Elastic Container Instance type with ease. The resources of the scaling groups are defined in Kubernetes Deployment YAML files. You can also call this operation to extend annotations for elastic container instances in Kubernetes Deployment YAML files. For more information, see "Supported annotations" in this topic.'."\n" + ."\n" + .'Mapping between YAML files and scaling groups: You can map the triplet of namespace, kind, and name in a YAML file to a scaling group name. A YAML file and a scaling group have a one-to-one mapping relationship in a region. For example, if you use the Kubernetes Deployment YAML file whose name is NGINX in the default namespace to create a scaling group in a region, the unique name of the mapped scaling group is k8s\\_default\\_Deployment\\_nginx.'."\n" + ."\n" + .'You can use a Kubernetes Deployment YAML file to manage a scaling group based on the following logic:'."\n" + ."\n" + .'* If an existing scaling group has a mapping relationship with your Kubernetes Deployment YAML file, you can update the scaling group by using the YAML file.'."\n" + .'* If no scaling group that has a mapping relationship with your Kubernetes Deployment YAML file exists, you can create a scaling group with ease by using the YAML file.'."\n" + ."\n" + .'1. If you do not specify a virtual private cloud (VPC), vSwitch, security group, or annotation in your Kubernetes Deployment YAML file, the system creates a default VPC that has default vSwitches and uses the default security group ess-default-sg of Auto Scaling. By default, the security group rule allows traffic on Transmission Control Protocol (TCP)-based port 22 and port 3389 and enables Internet Control Message Protocol (ICMP) for IPv4 addresses. If you want to enable other ports or protocols, you can create custom security group rules.'."\n" + .'2. If you want to use a public image, you must enable the Internet access feature and configure the k8s.aliyun.com/eci-with-eip pod annotation to enable the elastic IP address (EIP) feature.'."\n" + .'3. After you call the ApplyScalingGroup operation to apply a Kubernetes Deployment YAML file, the scaling group immediately enters the Enabled state and the scaling configuration immediately enters the Active state. If the number of replicas that you specified in the YAML file is grater than 0, elastic container instances are automatically created.'."\n" + ."\n" + .'### Supported annotations'."\n" + ."\n" + .'For more information about annotations, see [ECI Pod Annotation](~~186939~~).'."\n" + ."\n" + .'|Annotation|Example|Description|'."\n" + .'|---|---|---|'."\n" + .'|k8s.aliyun.com/ess-scaling-group-min-size|1|The minimum size of the scaling group that you want to create. Default value: 0.|'."\n" + .'|k8s.aliyun.com/ess-scaling-group-max-size|20|The maximum size of the scaling group that you want to create. Default value: maximum number of replicas or 30, whichever is greater.|'."\n" + .'|k8s.aliyun.com/eci-ntp-server|100.100.*.*|The IP address of the Network Time Protocol (NTP) server.|'."\n" + .'|k8s.aliyun.com/eci-use-specs|2-4Gi|The specifications of 2 vCPUs and 4 GiB of memory. For more information, see [Create pods by specifying multiple specifications](~~451267~~).|'."\n" + .'|k8s.aliyun.com/eci-vswitch|vsw-bp1xpiowfm5vo8o3c\\*\\*\\*\\*|The ID of the vSwitch. You can specify multiple vSwitches to specify multiple zones.|'."\n" + .'|k8s.aliyun.com/eci-security-group|sg-bp1dktddjsg5nktv\\*\\*\\*\\*|The ID of the security group. Before you configure this annotation, take note of the following requirements:
  • You can specify one or more security groups. You can specify up to five security groups for each scaling group.
  • If you specify multiple security groups, the security groups must belong to the same VPC.
  • If you specify multiple security groups, the security groups must be of the same type.
|'."\n" + .'|k8s.aliyun.com/eci-sls-enable|"false"|If you set the value to false, the log collection feature is disabled.'."\n" + ."\n" + .'If you do not want to use Custom Resource Definition (CRD) for Simple Log Service to collect logs of specific pods, you can configure this annotation for the pods and set the value to false. This prevents resource wastes caused by Logtails created by the system.|'."\n" + .'|k8s.aliyun.com/eci-spot-strategy|SpotAsPriceGo|The bidding policy for preemptible instances. Valid values:
  • SpotWithPriceLimit: The instances are created as preemptible instances with a maximum hourly price. If you set the value to SpotWithPriceLimit, you must configure the k8s.aliyun.com/eci-spot-price-limit annotation.
  • SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is automatically used as the bid price.
|'."\n" + .'|k8s.aliyun.com/eci-spot-price-limit|"0.5"|The maximum hourly price of preemptible instances. This value can be accurate to up to three decimal places.'."\n" + ."\n" + .'This annotation takes effect only when you set the k8s.aliyun.com/eci-spot-strategy annotation to SpotWithPriceLimit.|'."\n" + .'|k8s.aliyun.com/eci-with-eip|"true"|If you set the value to true, an elastic IP address (EIP) is automatically created and bound to each elastic container instance.|'."\n" + .'|k8s.aliyun.com/eci-data-cache-bucket|default|The bucket of data caches. If you want to create a pod based on data caches, you must configure this annotation.|'."\n" + .'|k8s.aliyun.com/eci-data-cache-pl|PL1|The performance level (PL) of the cloud disk that you want to create based on data caches.'."\n" + ."\n" + .'By default, enterprise SSDs (ESSDs) are created. Default value: PL1.|'."\n" + .'|k8s.aliyun.com/eci-data-cache-provisionedIops|"40000"|The provisioned read/write IOPS of the ESSD AutoPL disk. Valid values: 0 to min{50000, 1000 × Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50 × Capacity, 50,000}. For more information, see [ESSD AutoPL disks](~~368372~~).'."\n" + ."\n" + .'If you configure this annotation, the cloud disk that is created based on data caches is of the ESSD AutoPL type.|'."\n" + .'|k8s.aliyun.com/eci-data-cache-burstingEnabled|"true"|Specifies whether the Burst feature is enabled for the ESSD AutoPL disk. For more information, see [ESSD AutoPL disks](~~368372~~).'."\n" + ."\n" + .'If you configure this annotation, the cloud disk that is created based on data caches is of the ESSD AutoPL type.|'."\n" + .'|k8s.aliyun.com/eci-custom-tags|"env:test,name:alice"|The tags that you want to add to each elastic container instance. You can add up to three tags for each elastic container instance. Separate a tag key and a tag value with a colon (:). Separate multiple tags with commas (,).|', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:ApplyScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'operationType' => 'write', + ], + 'AttachAlbServerGroups' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'DefaultCooldown', + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125338', + 'abilityTreeNodes' => ['FEATUREess2GK585'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', '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', - ], + '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' => 'LoadBalancerIds', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of the CLB instances that you want to associate with the scaling group. The value can be a JSON array that contains multiple CLB instance IDs. Separate multiple IDs with commas (,).'."\n" - ."\n" - .'You can associate only a limited number of CLB instances with a scaling group. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check the maximum number of CLB instances that you can associate with a scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["lb-bp1u7etiogg38yvwz****", "lb-bp168cqrux9ai9l7f****", "lb-bp1jv3m9zvj22ufxp****"]', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp18p2yfxow2dloq****'], ], [ - 'name' => 'DBInstanceIds', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of the ApsaraDB RDS instances that you want to associate with the scaling group. The value can be a JSON array that contains multiple ApsaraDB RDS instance IDs. Separate multiple IDs with commas (,).'."\n" - ."\n" - .'You can associate only a limited number of ApsaraDB RDS instances with a scaling group. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check the maximum number of ApsaraDB RDS instances that you can associate with a scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["rm-bp142f86de0t7****", "rm-bp18l1z42ar4o****", "rm-bp1lqr97h4aqk****"]', - ], + 'schema' => ['description' => 'The 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' => 'RemovalPolicies', + '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 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", + 'description' => 'The information about the ALB server groups.'."\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, + '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, ], ], - [ - 'name' => 'VSwitchId', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ '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****', + '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' => '', ], ], - [ - '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', + ], + 'title' => 'AttachAlbServerGroups', + 'summary' => 'Attaches Application Load Balancer (ALB) server groups to a scaling group. To seamlessly adjust the number of instances in response to changes in your business workload or to maintain the uninterrupted accessibility of your application, you can call the AttachAlbServerGroups operation. By attaching ALB server groups to your scaling group, this operation enables Auto Scaling to automatically tailor your computing capacity to your business needs. Furthermore, it optimizes traffic routing by dynamically allocating incoming requests based on current workload patterns, which significantly improves the stability and performance of your application.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachAlbServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-2ze6wxj8vsohn6j9****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'AttachDBInstances' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125394', + 'abilityTreeNodes' => ['FEATUREessJZ6DNF'], + ], + 'parameters' => [ [ - 'name' => 'HealthCheckType', + 'name' => 'ScalingGroupId', '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', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1avr6ensitts3w****'], ], [ - 'name' => 'ScalingPolicy', + 'name' => 'ForceAttach', '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', - ], + '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.'."\n" - ."\n" - .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The 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' => 'OnDemandBaseCapacity', + 'name' => 'DBInstances', 'in' => 'query', + 'style' => 'repeatList', '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', + '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' => 'OnDemandPercentageAboveBaseCapacity', + 'name' => 'RegionId', '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', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'], ], [ - 'name' => 'SpotInstanceRemedy', + 'name' => 'AttachMode', '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', - ], + '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' => 'CompensateWithOnDemand', + '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' => [ - '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', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + ], + 'description' => '', + ], + ], + ], + 'title' => 'AttachDBInstances', + 'summary' => 'Associates one or more ApsaraDB RDS instances with a scaling group.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachDBInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'AttachInstances' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'SpotInstancePools', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125356', + 'abilityTreeNodes' => ['FEATUREessBFHJ1B'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', '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', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'], ], [ - 'name' => 'DesiredCapacity', + 'name' => 'Entrusted', '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', - ], + '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' => 'GroupDeletionProtection', + 'name' => 'InstanceIds', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to enable deletion protection for the scaling group. Valid values:'."\n" + 'description' => 'The IDs of the ECS instances, elastic container instances, non-Alibaba Cloud instances, or instances in Economical Mode.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the ECS instance, elastic container instance, non-Alibaba Cloud instance, or instance in Economical Mode.'."\n" ."\n" - .'* 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" + .'Sample IDs:'."\n" ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', + .'* 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, - 'example' => 'true', + 'maxItems' => 100, ], ], [ - 'name' => 'GroupType', + 'name' => 'LoadBalancerWeights', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The type of the instances that are managed by the scaling group. Valid values:'."\n" + 'description' => 'The weight of an ECS instance or elastic container instance as a backend server. You can use this parameter to specify weights for multiple instances at the same time.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The weight of an ECS instance or elastic container instance as a backend server. Valid values: 1 to 100.'."\n" ."\n" - .'* ECS: ECS instances.'."\n" - .'* ECI: elastic container instances.'."\n" + .'> You cannot specify this parameter for subscription instances and instances in Economical Mode.'."\n" ."\n" - .'Default value: ECS.'."\n", - 'type' => 'string', + .'Default value: 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50'], 'required' => false, - 'example' => 'ECS', + 'maxItems' => 100, ], ], [ - 'name' => 'ContainerGroupId', + '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' => [ - 'description' => 'The ID of the elastic container instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'eci-uf6fonnghi50u374****', + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.'."\n", 'type' => 'string', 'example' => 'asa-bp1crxor24s28xf1****'], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + 'description' => '', ], ], + ], + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], + ], + ], + 'title' => 'AttachInstances', + 'summary' => 'Adds instances to a scaling group to provide services or restarts Elastic Compute Service (ECS) instances stopped in Economical Mode to provide services. You can call the AttachInstances operation to add ECS instances, elastic container instances, or third-party instances managed by Alibaba Cloud to your scaling group to provide services. You can also call this operation to restart ECS instances stopped in Economical Mode in your scaling group to provide services.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1crxor24s28xf1****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'AttachLoadBalancers' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'VSwitchIds', + '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 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", + '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 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****', - ], + 'items' => ['description' => 'The ID of the load balancer that you want to attach to the scaling group.'."\n" + ."\n" + .'> In each call, you can attach up to five load balancers to a scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'lb-2zeur05gfs**** '."\n"], 'required' => false, - 'maxItems' => 8, + 'maxItems' => 5, ], ], [ - 'name' => 'LifecycleHooks', + 'name' => 'LoadBalancerConfigs', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The lifecycle hooks.'."\n", + 'description' => 'The configurations of the classic load balancer (CLB, formerly known as SLB) instance.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The lifecycle hook.'."\n", + 'description' => '', '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', - ], + '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' => 100, + 'maxItems' => 20, ], ], - [ - 'name' => 'VServerGroups', - 'in' => 'query', - 'style' => 'repeatList', + ], + 'responses' => [ + 200 => [ '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, + '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'], ], - 'required' => false, - 'maxItems' => 100, + 'description' => '', ], ], - [ - '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, + ], + 'title' => 'AttachLoadBalancers', + 'summary' => 'Attaches load balancers to a scaling group. Auto Scaling supports the attachment of load balancers to scaling groups. Load balancers help distribute the access traffic to the instances in scaling groups, which effectively improves the service performance of the scaling groups. You can call the AttachLoadBalancers operation to attach one or more load balancers to your scaling group.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachLoadBalancers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, - 'maxItems' => 21, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp140qd7mak8k63f****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'AttachServerGroups' => [ + 'summary' => 'Attaches server groups to a scaling group. To seamlessly adjust the number of instances in response to changes in your business workload or to maintain the uninterrupted accessibility of your application, you can call the AttachServerGroups operation. By attaching Application Load Balancer (ALB), Network Load Balancer (NLB), or Gateway Load Balancer (GWLB) server groups to your scaling group, this operation enables Auto Scaling to automatically tailor your computing capacity to your business needs. Furthermore, it optimizes traffic routing by dynamically allocating incoming requests based on current workload patterns, which significantly improves the stability and performance of your application.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'LaunchTemplateOverrides', + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '166342', + 'abilityTreeNodes' => ['FEATUREess2GK585'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Details of the instance types that you specify by using the Extended Configurations feature of the launch template.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the instance type that you specify by using the Extended Configurations feature of the launch template.'."\n", - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => 'The instance type that you want to use to override the instance type that is specified in the launch template.'."\n" - ."\n" - .'If you want to scale instances based on the weighted capacities of the instances, you must specify both the InstanceType and WeightedCapacity parameters.'."\n" - ."\n" - .'> This parameter is available only if you specify the LaunchTemplateId parameter.'."\n" - ."\n" - .'You can use the InstanceType parameter to specify only instance types that are available for purchase.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.c5.xlarge '."\n", - ], - 'WeightedCapacity' => [ - 'description' => 'The weight of the instance type. The weight specifies the capacity of an instance of the specified instance type in the scaling group. If you want to scale instances based on the weighted capacities of the instances, you must specify the WeightedCapacity parameter after you specify the InstanceType parameter.'."\n" - ."\n" - .'A higher weight specifies that a smaller number of instances of the specified instance type are required to meet the expected capacity requirement.'."\n" - ."\n" - .'Performance metrics, such as the number of vCPUs and the memory size of each instance type, may vary. You can specify different weights for different instance types based on your business requirements.'."\n" - ."\n" - .'Example:'."\n" - ."\n" - .'* Current capacity: 0'."\n" - .'* Expected capacity: 6'."\n" - .'* Capacity of ecs.c5.xlarge: 4'."\n" - ."\n" - .'To meet the expected capacity requirement, Auto Scaling must create and add two ecs.c5.xlarge instances.'."\n" - ."\n" - .'> The capacity of the scaling group cannot exceed the sum of the maximum number of instances that is specified by the MaxSize parameter and the maximum weight of the instance types.'."\n" - ."\n" - .'Valid values of the WeightedCapacity parameter: 1 to 500.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '4', - ], - 'SpotPriceLimit' => [ - 'description' => 'The maximum bid price of the instance type that is specified by the `InstanceType` parameter. You can specify 1 to 10 instance types by using the Extended Configurations feature of the launch template.'."\n" - ."\n" - .'> This parameter is available only if you specify the `LaunchTemplateId` parameter.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '0.025', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'AlbServerGroups', + 'name' => 'ScalingGroupId', '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, - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp1fo0dbtsbmqa9h****', 'title' => ''], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], + ], + [ + 'name' => 'ForceAttach', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to add the existing Elastic Compute Service (ECS) instances or elastic container instances (ECI) in the scaling group to the server group. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], ], [ 'name' => 'ServerGroups', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information about the server groups.'."\n" - ."\n" - .'> You cannot use AlbServerGroups and ServerGroups to specify the same server group.'."\n", + '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' => 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', - ], + 'ServerGroupId' => ['description' => 'The ID of the server group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'sgp-5yc3bd9lfyh*****', 'title' => ''], + 'Type' => ['description' => 'The type of the server group. Valid Values:'."\n" + ."\n" + .'* ALB'."\n" + .'* NLB'."\n" + .'* GWLB'."\n", 'type' => 'string', 'required' => true, 'example' => 'ALB', 'title' => ''], + 'Weight' => ['description' => 'The weight of an ECS or ECI instance as a backend server of the server group. Valid values: 0 to 100'."\n" + ."\n" + .'If you assign a higher weight to an instance, the instance is allocated a larger proportion of access requests. If the weight is 0, the ECS or ECI instance does not receive access requests.'."\n" + ."\n" + .'> For ALB and NLB types, this parameter is required. GWLB type cannot be set.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port used by ECS or ECI instances after being added as backend servers to the server group.'."\n" + ."\n" + .'Valid values: 1 to 65535.'."\n" + ."\n" + .'> For ALB and NLB types, this parameter is required. GWLB type cannot set this parameter and the default value is 6081.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], - 'required' => false, + 'required' => true, 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'AzBalance', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ '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', + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity. During the scaling activity, the server group is attached to the scaling group and the existing ECS instances or elastic container instances in the scaling group are added to the server group.'."\n" + ."\n" + .'> This parameter is returned only if you set ForceAttach to true.'."\n", 'type' => 'string', 'example' => 'asa-bp1c9djwrgxjyk31****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - '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', + ], + 'title' => 'AttachServerGroups', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1c9djwrgxjyk31****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'AttachVServerGroups' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - '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', - ], + 'AK' => [], ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125332', + 'abilityTreeNodes' => ['FEATUREess2GK585'], + ], + 'parameters' => [ [ - 'name' => 'SyncAlarmRuleToCms', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '> This parameter is unavailable.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + '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' => 'MaxInstanceLifetime', + 'name' => 'ScalingGroupId', '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', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'], ], [ - 'name' => 'CustomPolicyARN', + 'name' => 'ClientToken', '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', - ], + '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' => 'ResourceGroupId', + 'name' => 'ForceAttach', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group to which you want to add the scaling group.'."\n" - ."\n" - .'> If you specify this parameter, new scaling groups are added to the specified resource group. If you do not specify this parameter, new scaling groups are added to the default resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-123******', - ], + 'schema' => ['description' => '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' => 'LoadBalancerConfigs', + 'name' => 'VServerGroups', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The load balancer configurations.'."\n", + 'description' => 'The information about the vServer groups.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The CLB instance configurations.'."\n", + 'description' => 'Details of the vServer groups.'."\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', + 'VServerGroupAttributes' => [ + 'description' => 'The attributes of the vServer group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the vServer group attributes.'."\n", + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => ['description' => 'The ID of the vServer group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'lb-bp1u7etiogg38yvwz****'], + 'Weight' => ['description' => 'The weight of an ECS instance or elastic container instance as a backend server. Valid values: 0 to 100.'."\n" + ."\n" + .'Default value: 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100'], + 'Port' => ['description' => 'The port number over which Auto Scaling adds ECS instances or elastic container instances to the new vServer group. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22'], + ], + 'required' => false, + ], 'required' => false, - 'example' => '10', + 'maxItems' => 100, ], + 'LoadBalancerId' => ['description' => 'The ID of the CLB instance to which the new vServer group belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rsp-bp1jp1rge**** '."\n"], ], 'required' => false, ], - 'required' => false, - 'maxItems' => 20, + 'required' => true, + 'maxItems' => 100, ], ], - [ - 'name' => 'HealthCheckTypes', - 'in' => 'query', - 'style' => 'repeatList', + ], + 'responses' => [ + 200 => [ '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', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], - 'required' => false, - 'maxItems' => 100, + 'description' => '', ], ], - [ - '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, + ], + 'title' => 'AttachVServerGroups', + 'summary' => 'Attaches vServer groups to a scaling group. After a Classic Load Balancer (CLB) instance is attached to your scaling group, the instances in the scaling group are automatically added as backend servers of the CLB instance. These servers then handle requests forwarded by the CLB instance, streamlining the processing of incoming traffic. To direct varying access requests to separate backend servers or to distribute requests based on domain names or URLs, you can call the AttachVServerGroups operation. This operation enables the addition of multiple vServer groups, allowing for efficient management of various backend server configurations tailored to your routing preferences.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachVServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, - 'maxItems' => 5, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'CancelInstanceRefresh' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ [ - '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', - ], + 'AK' => [], ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '234868', + 'abilityTreeNodes' => ['FEATUREessPV8ZVU'], + ], + 'parameters' => [ [ - 'name' => 'CapacityOptions', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => 'The capacity options.'."\n", - 'type' => 'object', - 'properties' => [ - 'OnDemandBaseCapacity' => [ - 'description' => 'The minimum number of pay-as-you-go instances required in the scaling group. When the number of pay-as-you-go instances drops below the value of this parameter, Auto Scaling preferentially creates pay-as-you-go instances. Valid values: 0 to 1000.'."\n" - ."\n" - .'If you set `MultiAZPolicy` to `COMPOSABLE`, the default value is 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - ], - 'OnDemandPercentageAboveBaseCapacity' => [ - 'description' => 'The percentage of pay-as-you-go instances in the excess instances when the minimum number of pay-as-you-go instances is reached. `OnDemandBaseCapacity` specifies the minimum number of pay-as-you-go instances that must be contained in the scaling group. Valid values: 0 to 100.'."\n" - ."\n" - .'If you set `MultiAZPolicy` to `COMPOSABLE`, the default value is 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], - 'CompensateWithOnDemand' => [ - 'description' => 'Specifies whether to automatically create pay-as-you-go ECS instances to reach the required number of ECS instances when preemptible ECS instances cannot be created due to high prices or insufficient inventory of resources. This parameter takes effect when you set `MultiAZPolicy` to `COST_OPTIMIZED`. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'SpotAutoReplaceOnDemand' => [ - 'description' => 'Specifies whether to replace pay-as-you-go instances with preemptible instances. If you specify `CompensateWithOnDemand`, it may result in a higher percentage of pay-as-you-go instances compared to the value of `OnDemandPercentageAboveBaseCapacity`. In this scenario, Auto Scaling will try to deploy preemptible instances to replace the surplus pay-as-you-go instances. When `CompensateWithOnDemand` is specified, Auto Scaling creates pay-as-you-go instances if there are not enough preemptible instance types. To avoid keeping these pay-as-you-go ECS instances for long periods, Auto Scaling tries to replace them with preemptible instances as soon as enough of preemptible instance types become available. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'PriceComparisonMode' => [ - 'description' => 'The cost comparison method. Valid values:'."\n" - ."\n" - .'* PricePerUnit: Prices are compared based on the price per instance capacity.'."\n" - ."\n" - .' Capacity is determined by the weights assigned to instance types in the scaling group. If no weight is specified, a default weight of 1 is used, meaning each instance is assigned a capacity of 1.'."\n" - ."\n" - .'* PricePerVCpu: Prices are compared based on the price per vCPU.'."\n" - ."\n" - .'Default value: PricePerUnit.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PricePerUnit', - ], - ], - 'required' => false, - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****'], ], [ - 'name' => 'BalanceMode', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'title' => '负载均衡模式', - 'description' => 'The zone balancing mode. This mode takes effect only when the zone balancing mode is enabled. Valid values:'."\n" - ."\n" - .'* BalancedBestEffort: If a resource fails to be created in a zone, it is downgraded to another zone to ensure best-effort delivery of the resource.'."\n" - .'* BalancedOnly: If a resource fails to be created in a zone, it is not downgraded to another zone. The scale-out activity is partially successful to avoid excessive imbalance of resources in different zones.'."\n" - ."\n" - .'Default value: BalancedBestEffort.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'BalancedBestEffort', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'AutoRebalance', + 'name' => 'InstanceRefreshTaskId', 'in' => 'query', - 'schema' => [ - 'title' => '自动重新平衡设置', - 'description' => 'Whether to enable automatic rebalancing for the scaling group. This takes effect only when BalancedOnly is enabled for the scaling group. Valid values:'."\n" - ."\n" - .'* false: Auto rebalancing is disabled for the scaling group.'."\n" - .'* true: If Auto rebalancing is enabled, the scaling group automatically detects the capacity of the zone. If the capacity of the zone is unbalanced, the scaling group actively scales out the zone and re-balances the capacity of the zone.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The ID of the instance refresh task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ir-aca123sf****'], ], ], 'responses' => [ @@ -1294,2980 +1044,1693 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asg-bp14wlu85wrpchm0****', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], + 'description' => '', ], ], ], - 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'ResourceNotAvailable.VPCNetwork', - 'errorMessage' => 'The specified zone does not support vpc network or sold out.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'CancelInstanceRefresh', + 'summary' => 'Cancels an instance refresh task. Take note that instances whose configurations were already updated by running an instance refresh task remain intact even after you cancel the task.', + 'description' => '* You cannot call this operation to cancel instance refresh tasks that are being rolled back.'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:CancelInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], ], - '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', - ], + 'ChangeResourceGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '125326', - 'abilityTreeNodes' => [ - 'FEATUREessXN6KX4', - ], + 'abilityTreeCode' => '163908', + 'abilityTreeNodes' => ['FEATUREessGIWHSQ'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group that you want to modify.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp1ffogfdauy0jw0****', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ScalingGroupName', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the scaling group. The name of each scaling group must be unique in a region. The name must be 2 to 64 characters in length and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter or a digit.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalinggroup****', - ], + 'schema' => ['description' => 'The resource type. Set the value to scalinggroup.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scalinggroup'], ], [ - 'name' => 'MinSize', + 'name' => 'ResourceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of ECS instances or elastic container instances that must be contained in the scaling group. If the total number of instances in the scaling group is less than the value of MinSize, Auto Scaling proactively adds instances to the scaling group to ensure that the total number aligns with the minimum threshold.'."\n" - ."\n" - .'> The value of MinSize must be less than or equal to the value of MaxSize.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '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' => 'MaxSize', + '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' => [ - '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', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****'], + ], ], ], - [ - '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', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\"\\n}","type":"json"}]', + 'title' => 'ChangeResourceGroup', + 'summary' => 'Changes a resource group. Resource groups are a means to categorize and manage cloud resources, such as scaling groups, based on specific objectives, permissions, or ownership. In large, multifaceted organizations that manage numerous projects and users, this feature adopts a tiered management approach, simplifying management tasks and improving the effectiveness and oversight of resource allocation. You can call the ChangeResourceGroup operation to move your scaling groups from one resource group to another resource group, which facilitates streamlined monitoring and management within the context of the new group. This operation eliminates the need for repetitive and time-consuming cross-service resource queries, thereby enhancing operational efficiency.', + 'description' => '* A resource is an entity of cloud services that you create on Alibaba Cloud. For example, a scaling group is a resource.'."\n" + .'* A resource group serves as a powerful organizational tool within your Alibaba Cloud account, enabling you to manage and monitor multiple resources collectively. It effectively addresses complexities surrounding resource categorization and permission control under a single Alibaba Cloud account, thereby enhancing management efficiency and control. For more information, see [What is resource management?](~~94475~~)'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ChangeResourceGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + ], + 'CompleteLifecycleAction' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'RemovalPolicies', + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125379', + 'abilityTreeNodes' => ['FEATUREessKFTMD6'], + ], + 'parameters' => [ + [ + 'name' => 'LifecycleHookId', '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, - ], + 'schema' => ['description' => 'The ID of the lifecycle hook.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ash-bp14g3ee6bt3sc98****'], ], [ - 'name' => 'ActiveScalingConfigurationId', + 'name' => 'LifecycleActionToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the active scaling configuration in the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asc-bp17pelvl720x5ub****', - ], + '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' => 'HealthCheckType', + 'name' => 'LifecycleActionResult', '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', - ], + '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' => 'LaunchTemplateId', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the launch template that is used by Auto Scaling to create instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => ' lt-m5e3ofjr1zn1aw7****', - ], + 'schema' => ['description' => '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' => 'LaunchTemplateVersion', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The version number of the launch template. Valid values:'."\n" - ."\n" - .'* A fixed template version number.'."\n" - .'* Default: The default template version is always used.'."\n" - .'* Latest: The latest template version is always used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Default', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'], ], - [ - 'name' => 'OnDemandBaseCapacity', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ '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', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE****'], + ], ], ], - [ - 'name' => 'OnDemandPercentageAboveBaseCapacity', - 'in' => 'query', - 'schema' => [ - 'description' => 'The expected percentage of pay-as-you-go instances in the excess instances when the minimum number of pay-as-you-go instances reaches the requirement. Valid values: 0 to 100.'."\n" - ."\n" - .'If you set the `MultiAZPolicy` parameter to `COMPOSABLE` Policy, the default value is 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', + ], + 'title' => 'CompleteLifecycleAction', + 'summary' => 'Ends the timeout period of a lifecycle hook ahead of schedule. If you have created a lifecycle hook for your scaling group, you can call the CompleteLifecycleAction operation to end the timeout period of the lifecycle hook ahead of schedule based on your business requirements.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:CompleteLifecycleAction', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE****\\"\\n}","type":"json"}]', + ], + 'CreateAlarm' => [ + 'summary' => 'Creates event-triggered tasks. If your business encounters unexpected traffic surges or has no specific patterns, you can call the CreateAlarm operation to create an event-triggered task and associate a CloudMonitor metric with the task. This allows you to dynamically adjust the number of Elastic Compute Service (ECS) instances or elastic container instances in your scaling group and keep updated on the real-time metric data, which facilitates cloud resource management and maintenance.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - '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', - ], + 'AK' => [], ], + ], + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125363', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], + ], + 'parameters' => [ [ - 'name' => 'CompensateWithOnDemand', + 'name' => 'RegionId', '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', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'SpotInstancePools', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of instance types that you specify. Auto Scaling creates preemptible instances of multiple instance types that are provided at the lowest price. Valid values: 0 to 10.'."\n" - ."\n" - .'If you set the `MultiAZPolicy` parameter to `COMPOSABLE` Policy, the default value is 2.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], + 'schema' => ['description' => 'The name of the event-triggered task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TestAlarmTask', 'title' => ''], ], [ - 'name' => 'DesiredCapacity', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The expected number of ECS instances or elastic container instances in the scaling group. Auto Scaling maintains the expected number of ECS instances or elastic container instances in the scaling group. Make sure that you adhere to the following rule when specifying this parameter: Value of MaxSize ≥ Value of DesiredCapacity ≥ Value of MinSize'."\n" - ."\n" - .'> If you re-enable the Expected Number of Instances feature, you must specify a value for `DesiredCapacity` again.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - ], + 'schema' => ['description' => 'The description of the event-triggered task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Test alarm task.', 'title' => ''], ], [ - 'name' => 'GroupDeletionProtection', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable deletion protection for the scaling group. Valid values:'."\n" - ."\n" - .'* true: enables deletion protection for the scaling group. This way, the scaling group cannot be deleted.'."\n" - .'* false: disables deletion protection for the scaling group.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The scaling group ID of the event-triggered task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'MultiAZPolicy', + 'name' => 'MetricName', 'in' => 'query', - 'schema' => [ - 'description' => 'The scaling policy for the multi-zone scaling group that contains ECS instances. Valid values:'."\n" - ."\n" - .'* PRIORITY: ECS instances are scaled based on the vSwitch priority. The first vSwitch specified by using the VSwitchIds parameter has the highest priority. Auto Scaling preferentially scales instances in the zone where the vSwitch that has the highest priority resides. If the scaling fails, Auto Scaling scales instances in the zone where the vSwitch that has the next highest priority resides.'."\n" - .'* COST_OPTIMIZED: During a scale-out activity, Auto Scaling preferentially creates ECS instances of the instance type that has the lowest unit price of vCPU. During a scale-in activity, Auto Scaling preferentially removes ECS instances of the instance types that have the highest unit price of vCPU. Auto Scaling preferentially creates preemptible instances when preemptible instance types are specified in the scaling configuration. You can use the `CompensateWithOnDemand` parameter to specify whether to automatically create pay-as-you-go instances when Auto Scaling fails to create preemptible instances.'."\n" - ."\n" - .'> The `COST_OPTIMIZED` setting takes effect only when multiple instance types are specified or at least one instance type is specified for preemptible instances.'."\n" - ."\n" - .'* BALANCE: ECS instances are evenly distributed across zones that are specified in the scaling group. If ECS instances are unevenly distributed among zones due to insufficient resources, you can call the RebalanceInstance operation to evenly distribute the instances among the zones.'."\n" - .'* COMPOSABLE: You can flexibly combine the preceding policies based on your business requirements.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PRIORITY', - ], + 'schema' => ['description' => 'The metric name. The valid values of this parameter vary based on the metric type.'."\n" + ."\n" + .'* If you set MetricType to custom, the valid values are the metrics that you have.'."\n" + ."\n" + .'* If you set MetricType to system, this parameter has the following valid values:'."\n" + ."\n" + .' * CpuUtilization: the CPU utilization. Unit: %.'."\n" + .' * ConcurrentConnections: the number of concurrent connections.'."\n" + .' * IntranetTx: the outbound traffic over an internal network. Unit: KB/min.'."\n" + .' * IntranetRx: the inbound traffic over an internal network. Unit: KB/min.'."\n" + .' * VpcInternetTx: the outbound traffic over a virtual private cloud (VPC). Unit: KB/min.'."\n" + .' * VpcInternetRx: the inbound traffic over a VPC. Unit: KB/min.'."\n" + .' * SystemDiskReadBps: the number of bytes read from the system disk per second.'."\n" + .' * SystemDiskWriteBps: the number of bytes written to the system disk per second.'."\n" + .' * SystemDiskReadOps: the read IOPS of the system disk. Unit: counts/s.'."\n" + .' * SystemDiskWriteOps: the write IOPS of the system disk. Unit: counts/s.'."\n" + .' * CpuUtilizationAgent: the CPU utilization. Unit: %.'."\n" + .' * GpuUtilizationAgent: the GPU utilization. Unit: %.'."\n" + .' * GpuMemoryFreeUtilizationAgent: the idle GPU memory usage. Unit: %.'."\n" + .' * GpuMemoryUtilizationAgent: the GPU memory usage. Unit: %.'."\n" + .' * MemoryUtilization: the memory usage. Unit: %.'."\n" + .' * LoadAverage: the average system load.'."\n" + .' * TcpConnection: the total number of TCP connections.'."\n" + .' * TcpConnection: the number of established TCP connections.'."\n" + .' * PackagesNetOut: the number of packets sent by the internal network interface controller (NIC). Unit: counts/s.'."\n" + .' * PackagesNetIn: the number of packets received by the internal NIC. Unit: counts/s.'."\n" + .' * PackagesNetOut: the number of packets sent by the public NIC. Unit: counts/s.'."\n" + .' * PackagesNetIn: the number of packets received by the public NIC. Unit: counts/s.'."\n" + .' * EciPodCpuUtilization: the CPU utilization. Unit: %.'."\n" + .' * EciPodMemoryUtilization: the memory usage. Unit: %.'."\n" + .' * LoadBalancerRealServerAverageQps: the queries per second (QPS) of an instance.'."\n" + ."\n" + .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization', 'title' => ''], ], [ - 'name' => 'VSwitchIds', + 'name' => 'MetricType', '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, - ], + 'schema' => ['description' => 'The metric type. Valid values:'."\n" + ."\n" + .'* system: system metrics of CloudMonitor.'."\n" + .'* custom: custom metrics that are reported to CloudMonitor.'."\n", 'type' => 'string', 'required' => false, 'example' => 'system', 'default' => 'system', 'title' => ''], ], [ - 'name' => 'LaunchTemplateOverrides', + 'name' => 'Period', '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, - ], + 'schema' => ['description' => 'The statistical period of the metric data. Unit: seconds. Valid values:'."\n" + ."\n" + .'* 15'."\n" + .'* 60'."\n" + .'* 120'."\n" + .'* 300'."\n" + .'* 900'."\n" + ."\n" + .'> You can set this parameter to 15 seconds only for scaling groups of the ECS type.'."\n" + ."\n" + .'Default value: 300.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'default' => '300', 'title' => ''], ], [ - 'name' => 'MaxInstanceLifetime', + 'name' => 'Statistics', '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', - ], + 'schema' => ['description' => 'The statistical method of the metric data. Valid values:'."\n" + ."\n" + .'* Average: calculates the average value of the metric data.'."\n" + .'* Minimum: calculates the minimum value of the metric data.'."\n" + .'* Maximum: calculates the maximum value of the metric data.'."\n" + ."\n" + .'Default value: Average.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Average', 'default' => 'Average', 'title' => ''], ], [ - 'name' => 'AzBalance', + 'name' => 'Threshold', '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', - ], + 'schema' => ['description' => 'The threshold of the metric value. If the threshold is reached the specified number of times within the specified period, a scaling rule is executed.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '80.0', 'title' => ''], ], [ - 'name' => 'AllocationStrategy', + 'name' => 'ComparisonOperator', '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', - ], + 'schema' => ['description' => 'The operator that you want to use to compare the metric value and the threshold. Valid values:'."\n" + ."\n" + .'* If the metric value is greater than or equal to the threshold, set the value to >=.'."\n" + .'* If the metric value is less than or equal to the metric threshold, set the value to <=.'."\n" + .'* If the metric value is greater than the metric threshold, set the value to >.'."\n" + .'* If the metric value is less than the metric threshold, set the value to <.'."\n" + ."\n" + .'Default value: >=.'."\n", 'type' => 'string', 'required' => false, 'example' => '>=', 'default' => '>=', 'title' => ''], ], [ - 'name' => 'SpotAllocationStrategy', + 'name' => 'EvaluationCount', 'in' => 'query', - 'schema' => [ - 'description' => 'The allocation policy of preemptible instances. You can use this parameter to individually specify the allocation policy of preemptible instances. This parameter takes effect only when you set the `MultiAZPolicy` parameter to `COMPOSABLE`. Valid values:'."\n" - ."\n" - .'* priority: Auto Scaling selects instance types based on the specified order to create the required number of preemptible instances.'."\n" - .'* lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPUs to create the required number of preemptible instances.'."\n" - ."\n" - .'Default value: priority.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lowestPrice', - ], + 'schema' => ['description' => 'The number of consecutive times that the threshold must be reached before a scaling rule is executed. For example, if you set this parameter to 3, the average CPU utilization must reach or exceed 80% three times in a row before the scaling rule is executed.'."\n" + ."\n" + .'Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'default' => '3', 'title' => ''], ], [ - 'name' => 'CustomPolicyARN', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ARN of the custom scaling policy (Function). This parameter takes effect only when you specify CustomPolicy as the first step of the instance removal policy.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name', - ], + 'schema' => ['description' => 'The ID of the application group to which the custom metric belongs. If you set the MetricType parameter to custom, you must specify this parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4055401', 'title' => ''], ], [ - 'name' => 'DisableDesiredCapacity', + 'name' => 'Effective', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The effective period of the event-triggered task. By default, the event-triggered task is in effect all the time.'."\n" + ."\n" + .'This parameter follows the cron expression format. The default format is `X X X X X ?`. In the format:'."\n" + ."\n" + .'* X: a placeholder for a field, which represents seconds, minutes, hours, days, and months in sequence. X can be a definite value or a special character that has logical meaning. For information about the valid values of X, see [Cron expression](~~25907~~).'."\n" + .'* ?: No value is specified.'."\n" + ."\n" + .'> By default, this parameter value is specified in **UTC+8**. You can specify the time zone in the `TZ=+yy` format before a cron expression. y indicates the time zone. For example, `TZ=+00 * * 1-2 * * ?` specifies that the event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.'."\n" + ."\n" + .'Sample values:'."\n" + ."\n" + .'* ` * * * * * ? `: The event-triggered task is in effect all the time.'."\n" + .'* ` * * 17-18 * * ? `: The event-triggered task is in effect between 17:00 and 18:59 (UTC+8) every day.'."\n" + .'* `TZ=+00 * * 1-2 * * ?`: The event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TZ=+00 * * 1-2 * * ?', 'title' => ''], ], [ - 'name' => 'ScalingPolicy', + 'name' => 'AlarmActions', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:1406926****:scalingrule/asr-bp163l21e07uhn****', 'title' => ''], 'required' => false, - 'example' => 'recycle', + 'maxItems' => 5, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'HealthCheckTypes', + 'name' => 'Dimensions', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The health check mode of the scaling group.'."\n" - ."\n" - .'> You can specify multiple values for this parameter to enable multiple health check options at the same time. If you specify HealthCheckType, this parameter is ignored.'."\n", + 'description' => 'The metric dimensions.'."\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" + '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 `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" + .'* If you set MetricType to custom, you can specify this parameter based on your business requirements.'."\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" + .'* If you set MetricType to system, this parameter has the following 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" + .' * user_id: the ID of your Alibaba Cloud account.'."\n" + .' * scaling_group: the scaling group that you want to monitor by using the event-triggered task.'."\n" + .' * device: the NIC type.'."\n" + .' * state: the status of the TCP connection.'."\n", 'type' => 'string', 'required' => false, 'example' => 'device', 'title' => ''], + 'DimensionValue' => ['description' => 'The dimension value of the metric. The valid values of this parameter vary based on the value of Dimensions.DimensionKey.'."\n" ."\n" - .'* true'."\n" - .'* false'."\n" + .'* If you set MetricType to custom, you can specify this parameter based on your business requirements.'."\n" ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'PriceComparisonMode' => [ - 'description' => 'The price comparison mode. Valid values:'."\n" + .'* If you set MetricType to system, this parameter has the following valid values:'."\n" ."\n" - .'* PricePerUnit: compares prices based on capacity.'."\n" + .' * user_id: The system specifies the value.'."\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" + .' * scaling_group: The system specifies the value.'."\n" ."\n" - .'* PricePerVCpu: compares prices based on the price per vCPU.'."\n" + .' * device: You can set this parameter to eth0 or eth1.'."\n" ."\n" - .'Default value: PricePerUnit.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PricePerUnit', + .' * For instances of the classic network type, eth0 specifies the internal NIC. Only one eth0 NIC exists on each instance that resides in VPCs.'."\n" + .' * For instances of the classic network type, eth1 specifies the public NIC.'."\n" + ."\n" + .' * state: You can set this parameter to TCP_TOTAL or ESTABLISHED.'."\n" + ."\n" + .' * TCP_TOTAL specifies the total number of TCP connections.'."\n" + .' * ESTABLISHED specifies the number of TCP connections that are established.'."\n", 'type' => 'string', 'required' => false, 'example' => 'eth0', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, + 'maxItems' => 5, + 'title' => '', + 'example' => '', ], ], [ - 'name' => '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', + 'name' => 'Expressions', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information about the instance types that you want to extend in the launch template.'."\n", + 'description' => 'The information about the multi-metric alert rules.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'Details of the instance types that are specified in the extended configurations of the launch template.'."\n", + 'description' => 'The expressions that are specified in the multi-metric alert rule.'."\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', - ], + 'MetricName' => ['description' => 'The names of the metrics in the multi-metric alert rule. The valid values of this parameter vary based on the metric type.'."\n" + ."\n" + .'* If you set MetricType to custom, the valid values are the metrics that you have.'."\n" + ."\n" + .'* If you set MetricType to system, this parameter has the following valid values:'."\n" + ."\n" + .' * CpuUtilization: the CPU utilization. Unit: %.'."\n" + .' * ConcurrentConnections: the number of concurrent connections.'."\n" + .' * IntranetTx: the outbound traffic over an internal network. Unit: KB/min.'."\n" + .' * IntranetRx: the inbound traffic over an internal network. Unit: KB/min.'."\n" + .' * VpcInternetTx: the outbound traffic over a VPC. Unit: KB/min.'."\n" + .' * VpcInternetRx: the inbound traffic over a VPC. Unit: KB/min.'."\n" + .' * SystemDiskReadBps: the number of bytes read from the system disk per second.'."\n" + .' * SystemDiskWriteBps: the number of bytes written to the system disk per second.'."\n" + .' * SystemDiskReadOps: the read IOPS of the system disk. Unit: counts/s.'."\n" + .' * SystemDiskWriteOps: the write IOPS of the system disk. Unit: counts/s.'."\n" + .' * CpuUtilizationAgent: the CPU utilization. Unit: %.'."\n" + .' * GpuUtilizationAgent: the GPU utilization. Unit: %.'."\n" + .' * GpuMemoryFreeUtilizationAgent: the idle GPU memory usage. Unit: %.'."\n" + .' * GpuMemoryUtilizationAgent: the GPU memory usage. Unit: %.'."\n" + .' * MemoryUtilization: the memory usage. Unit: %.'."\n" + .' * LoadAverage: the average system load.'."\n" + .' * TcpConnection: the total number of TCP connections.'."\n" + .' * TcpConnection: the number of established TCP connections.'."\n" + .' * PackagesNetOut: the number of packets sent by the internal NIC. Unit: counts/s.'."\n" + .' * PackagesNetIn: the number of packets received by the internal NIC. Unit: counts/s.'."\n" + .' * PackagesNetOut: the number of packets sent by the public NIC. Unit: counts/s.'."\n" + .' * PackagesNetIn: the number of packets received by the public NIC. Unit: counts/s.'."\n" + .' * EciPodCpuUtilization: the CPU utilization. Unit: %.'."\n" + .' * EciPodMemoryUtilization: the memory usage. Unit: %.'."\n" + .' * LoadBalancerRealServerAverageQps: the QPS of an instance.'."\n" + ."\n" + .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization', 'title' => ''], + 'ComparisonOperator' => ['description' => 'The operator that you want to use to compare the metric value and the threshold in the multi-metric alert rule. Valid values:'."\n" + ."\n" + .'* If the metric value is greater than or equal to the threshold, set the value to >=.'."\n" + .'* If the metric value is less than or equal to the metric threshold, set the value to <=.'."\n" + .'* If the metric value is greater than the metric threshold, set the value to >.'."\n" + .'* If the metric value is less than the metric threshold, set the value to <.'."\n" + ."\n" + .'Default value: >=.'."\n", 'type' => 'string', 'required' => false, 'example' => '>=', 'title' => ''], + 'Period' => ['description' => 'The statistical period of the metric data in the multi-metric alert rule. Unit: seconds. Valid values:'."\n" + ."\n" + .'* 15'."\n" + .'* 60'."\n" + .'* 120'."\n" + .'* 300'."\n" + .'* 900'."\n" + ."\n" + .'> You can set this parameter to 15 seconds only for scaling groups of the ECS type.'."\n" + ."\n" + .'Default value: 300.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '900', 'title' => ''], + 'Statistics' => ['description' => 'The method that you want to use to aggregate the metric data in the multi-metric alert rule. Valid values:'."\n" + ."\n" + .'* Average: the average value.'."\n" + .'* Minimum: the minimum value'."\n" + .'* Maximum: the maximum value'."\n" + ."\n" + .'Default value: Average.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Average', 'title' => ''], + 'Threshold' => ['description' => 'The threshold of the metric value in the multi-metric alert rule. If the threshold is reached the specified number of times within the statistical period, a scaling rule is executed.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '40.0', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'RegionId', + 'name' => 'ExpressionsLogicOperator', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The relationship between the trigger conditions in the multi-metric alert rule. Valid values:'."\n" + ."\n" + .'* `&&`: An alert is triggered only if all metrics in the multi-metric alert rule meet the trigger conditions. In this case, an alert is triggered only if the results of all trigger conditions that are specified in the multi-metric alert rule are `true`.'."\n" + .'* `||`: An alert is triggered if one of the metrics in the multi-metric alert rule meets the trigger conditions.'."\n" + ."\n" + .'Default value: `&&`.'."\n", 'type' => 'string', 'required' => false, 'example' => '&&', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'AlarmTaskId' => ['description' => 'The ID of the event-triggered task.'."\n", 'type' => 'string', 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], - 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"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" + '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" - .' **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" + .'* 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 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" + .' * 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" - .' * 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', + .'> user_id and scaling_group are automatically populated. You need to only specify device and state. For more information, see `Dimensions.DimensionKey` and `Dimensions.DimensionValue` in the "Request parameters" section of this topic.'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'operationType' => 'write', + ], + 'CreateDiagnoseReport' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125389', - 'abilityTreeNodes' => [ - 'FEATUREessUCEVTM', - ], + '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-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1f2f6oxc2*******'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The request ID.'."\n", + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + '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\\": \\"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', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0189C6CB-07BA-5AFE-B533-D93892324774\\",\\n \\"ReportId\\": \\"dr-uf6enpbnri1xhcy9qc7s\\"\\n}","type":"json"}]', + 'title' => 'CreateDiagnoseReport', + 'summary' => 'Creates a diagnostic report.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateDiagnoseReport', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'CreateEciScalingConfiguration' => [ + 'summary' => 'Creates a scaling configuration of the Elastic Container Instance type. Auto Scaling uses the scaling configuration as a template to create elastic container instances to meet your business requirements during scale-out events.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125350', - 'abilityTreeNodes' => [ - 'FEATUREessF87COY', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125325', + 'abilityTreeNodes' => ['FEATUREessWJGIW5'], ], 'parameters' => [ [ - 'name' => 'GroupDeletionProtection', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable deletion protection for the scaling group. Valid values:'."\n" - ."\n" - .'* true: enables deletion protection. In this case, you cannot delete the scaling group by using the Auto Scaling console or calling an API operation. You must disable deletion protection before you can delete the scaling group.'."\n" - .'* false: disables deletion protection.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => true, - 'example' => 'true', - ], + 'schema' => ['description' => 'The ID of the scaling group to which the scaling configuration belongs.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'ScalingConfigurationName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + 'schema' => ['description' => 'The name of the scaling configuration. The name must be 2 to 64 characters in length and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter or a digit.'."\n" + ."\n" + .'The name of the scaling configuration must be unique in a scaling group within a region. If you do not specify this parameter, the value of ScalingConfigurationId is used.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'scalingconfig****', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => '> This parameter is unavailable for use.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'desc', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CCC29E24-3AEC-4F2C-8A14-78B14FA738B7', - ], - ], - 'description' => '', - ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the security group to which elastic container instances belong. Elastic container instances that belong to the same security group can communicate with each other.'."\n" + ."\n" + .'If you do not specify a security group, the system uses the default security group in the region that you selected. Make sure that the inbound rules of the security group contain the protocols and port numbers of the containers that you want to expose. If you do not have a default security group in the region, the system creates a default security group, and then adds the container protocols and port numbers that you specified to the inbound rules of the security group.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'sg-uf66jeqopgqa9hdn****', 'title' => ''], ], - ], - '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' => [], + 'name' => 'ContainerGroupName', + 'in' => 'query', + 'schema' => ['description' => 'The name series of elastic container instances.'."\n" + ."\n" + .'If you want to use an ordered instance name, specify the value for this parameter in the following format: name_prefix\\[begin_number,bits]name_suffix.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'nginx-test-(AUTO_INCREMENT)[0,3]', 'title' => ''], ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '125373', - 'abilityTreeNodes' => [ - 'FEATUREess909XOL', + [ + 'name' => 'RestartPolicy', + 'in' => 'query', + 'schema' => ['description' => 'The restart policy of elastic container instances. Valid values:'."\n" + ."\n" + .'* Always: always restarts elastic container instances.'."\n" + .'* Never: never restarts elastic container instances.'."\n" + .'* OnFailure: restarts elastic container instances upon failures.'."\n" + ."\n" + .'Default value: Always.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'Cpu', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The number of vCPUs per elastic container instance.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], ], [ - 'name' => 'ForceDelete', + 'name' => 'Memory', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enforce the deletion of the scaling group, including the removal of the current ECS instances or elastic container instances from the scaling group and their subsequent release, even if the scaling group is actively undergoing scaling activities. Valid values:'."\n" - ."\n" - .'* true: enforces the deletion of the scaling group. In this case, the scaling group first enters the Disabled state, ceasing acceptance of new scaling requests. Auto Scaling awaits the conclusion of all ongoing scaling activities in the scaling group before it automatically removes the current ECS instances or elastic container instances from the scaling group and enforces the deletion operation. Note that manually added instances are merely removed from the scaling group, whereas auto-provisioned instances are removed and deleted.'."\n" - ."\n" - .'* false: does not enforce the deletion of the scaling group. The scaling group will be disabled and then deleted once all the following requirements are satisfied:'."\n" - ."\n" - .' * The scaling group has no ongoing scaling activities.'."\n" - .' * The scaling group contains no ECS instances or elastic container instances (Total Capacity=0).'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The memory size per elastic container instance. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2.0', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-uf66jeqopgqa9hdn****', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - ], - 'description' => '', - ], + [ + 'name' => 'DnsPolicy', + 'in' => 'query', + 'schema' => ['description' => 'The Domain Name System (DNS) policy. Valid values:'."\n" + ."\n" + .'* None: uses the DNS that is specified by DnsConfig.'."\n" + .'* Default: uses the DNS that is specified for the runtime environment.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Default', 'title' => ''], ], - ], - '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' => [], + 'name' => 'EnableSls', + 'in' => 'query', + 'schema' => ['description' => '> This parameter is unavailable for use.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '125357', - 'abilityTreeNodes' => [ - 'FEATUREess7569XW', + [ + 'name' => 'ImageSnapshotId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the image cache.'."\n", 'type' => 'string', 'required' => false, 'example' => 'imc-2zebxkiifuyzzlhl****', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'RamRoleName', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The name of the instance Resource Access Management (RAM) role. Elastic container instances and Elastic Compute Service (ECS) instances can share the same RAM role. For more information, see [RAM roles](~~61175~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'RamTestRole', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'TerminationGracePeriodSeconds', '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', - ], + 'schema' => ['description' => 'The buffer time during which a program handles operations before the program stops. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '60', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'AutoMatchImageCache', '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', - ], + 'schema' => ['description' => 'Specifies whether to automatically match the image cache. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'GroupType', + 'name' => 'Ipv6AddressCount', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of instances that are managed by the scaling group. Valid values:'."\n" - ."\n" - .'* ECS: Elastic Compute Service (ECS) instances.'."\n" - .'* ECI: elastic container instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ECS', - ], + 'schema' => ['description' => 'The number of IPv6 addresses.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'ScalingGroupIds', + 'name' => 'ActiveDeadlineSeconds', + 'in' => 'query', + 'schema' => ['description' => 'The validity period of the scaling configuration. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''], + ], + [ + 'name' => 'SpotStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The instance bidding policy. Valid values:'."\n" + ."\n" + .'* NoSpot: The instances are created as pay-as-you-go instances.'."\n" + .'* SpotWithPriceLimit: The instances are preemptible instances for which you can specify the maximum hourly price.'."\n" + .'* SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is used as the bid price.'."\n" + ."\n" + .'Default value: NoSpot.'."\n", 'type' => 'string', 'required' => false, 'example' => 'SpotWithPriceLimit', 'title' => ''], + ], + [ + 'name' => 'SpotPriceLimit', + 'in' => 'query', + 'schema' => ['description' => 'The maximum hourly price of preemptible elastic container instances. The value can be accurate to three decimal places.'."\n" + ."\n" + .'If you set SpotStrategy to SpotWithPriceLimit, you must specify SpotPriceLimit.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.025', 'title' => ''], + ], + [ + 'name' => 'AutoCreateEip', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to automatically create elastic IP addresses (EIPs) and bind the EIPs to elastic container instances.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'EipBandwidth', + 'in' => 'query', + 'schema' => ['description' => 'The EIP bandwidth. Default value: 5. Unit: Mbit/s.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000000', 'minimum' => '0', 'example' => '5', 'title' => ''], + ], + [ + 'name' => 'HostName', + 'in' => 'query', + 'schema' => ['description' => 'The hostname series of elastic container instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + ], + [ + 'name' => 'IngressBandwidth', + 'in' => 'query', + 'schema' => ['description' => 'The maximum inbound bandwidth. Unit: bit/s.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '1024000', 'title' => ''], + ], + [ + 'name' => 'EgressBandwidth', + 'in' => 'query', + 'schema' => ['description' => 'The maximum outbound bandwidth. Unit: bit/s.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '1024000', 'title' => ''], + ], + [ + 'name' => 'CpuOptionsCore', + 'in' => 'query', + 'schema' => ['description' => 'The number of physical CPU cores. You can specify this parameter for specific instance types. For more information, see [Specify CPU options](~~197781~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '0', 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'CpuOptionsThreadsPerCore', + 'in' => 'query', + 'schema' => ['description' => 'The number of threads per core. You can specify this parameter for specific instance types. A value of 1 specifies that Hyper-Threading is disabled. For more information, see [Specify CPU options](~~197781~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'EphemeralStorage', + 'in' => 'query', + 'schema' => ['description' => 'The size of the temporary storage space. By default, an Enterprise SSD (ESSD) of performance level 1 (PL1) is used. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5000', 'minimum' => '0', 'example' => '20', 'title' => ''], + ], + [ + 'name' => 'LoadBalancerWeight', + 'in' => 'query', + 'schema' => ['description' => 'The load balancing weight of each elastic container instance. Valid values: 1 to 100.'."\n" + ."\n" + .'Default value: 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], + ], + [ + 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the scaling groups that you want to query.'."\n" + 'description' => 'The tags of elastic container instances. Tags must be specified as key-value pairs. You can specify up to 20 tags for each elastic container instance. When you specify Key and Value, take note of the following items:'."\n" ."\n" - .'The IDs of inactive scaling groups are not included in the query results, and no error is returned.'."\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 ID of the scaling group that you want to query.'."\n" + 'description' => 'The tag of the elastic container instance. Tags must be specified as key-value pairs. You can specify up to 20 tags for each elastic container instance. When you specify Key and Value, take note of the following items:'."\n" ."\n" - .'The IDs of inactive scaling groups are not displayed in the query results, and no error is returned.'."\n", - 'type' => 'string', + .'* A tag key can be up to 64 characters in length. The key cannot start with `acs:` or `aliyun` or contain `http://` or `https://`. You cannot specify an empty string as a tag key.'."\n" + .'* A tag value can be up to 128 characters in length. The value cannot start with `acs:` or `aliyun` or contain `http://` or `https://`. You can specify an empty string as a tag value.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the elastic container instance.'."\n" + ."\n" + .'The tag key cannot be an empty string. The tag key can be up to 128 characters in length. It cannot start with `acs:` or `aliyun` or contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'version', 'title' => ''], + 'Value' => ['description' => 'The tag value of the elastic container instance.'."\n" + ."\n" + .'The tag value can be an empty string. The tag value can be up to 128 characters in length. It cannot start with `acs:` and cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => '3', 'title' => ''], + ], 'required' => false, - 'example' => 'asg-bp14wlu85wrpchm0****', + 'title' => '', ], 'required' => false, - 'maxItems' => 20, + 'maxItems' => 21, + 'title' => '', ], ], [ - 'name' => 'ScalingGroupNames', + 'name' => 'ImageRegistryCredentials', '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", + 'description' => 'The image repositories.'."\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', + 'description' => 'The image repository.'."\n", + 'type' => 'object', + 'properties' => [ + 'Password' => ['description' => 'The password of the image repository.'."\n", 'type' => 'string', 'required' => false, 'example' => 'yourpassword '."\n", 'title' => ''], + 'Server' => ['description' => 'The endpoint of the image repository.'."\n", 'type' => 'string', 'required' => false, 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com', 'title' => ''], + 'UserName' => ['description' => 'The username of the image repository.'."\n", 'type' => 'string', 'required' => false, 'example' => 'yourusername '."\n", 'title' => ''], + ], 'required' => false, - 'example' => 'scalinggroup**** '."\n", + 'title' => '', ], '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******', + 'maxItems' => 11, + 'title' => '', ], ], [ - 'name' => 'Tags', + 'name' => 'Containers', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags of the scaling group.'."\n", + 'description' => 'The containers per elastic container instance.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The tag of the scaling group.'."\n", + 'description' => 'The monitoring data of containers.'."\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', + 'ReadinessProbe.TimeoutSeconds' => ['description' => 'The timeout limit for a readiness probe to be complete. Unit: seconds. Default value: 1. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], + 'ReadinessProbe.SuccessThreshold' => ['description' => 'The minimum count of consecutive successes that must occur for a readiness probe to be classified as successful. Default value: 1. Set the value to 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'SecurityContext.Capability.Add' => [ + 'description' => 'The permissions that you want to grant to the processes in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" + ."\n" + .'> To use NET_RAW, you must submit a ticket.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The permission that you want to grant to the process in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" + ."\n" + .'> To use NET_RAW, submit a ticket.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NET_ADMIN', 'title' => ''], 'required' => false, - 'example' => 'Finance '."\n", + 'maxItems' => 100, + 'title' => '', ], - ], - '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" + 'ReadinessProbe.TcpSocket.Port' => ['description' => 'The port detected by TCP sockets for readiness probing.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8000', 'title' => ''], + 'ReadinessProbe.HttpGet.Scheme' => ['description' => 'The protocol type of HTTP GET requests for readiness probing. Valid values:'."\n" + ."\n" + .'* HTTP'."\n" + .'* HTTPS'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'LivenessProbe.PeriodSeconds' => ['description' => 'The interval at which liveness probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], + 'Ports' => [ + 'description' => 'The ports.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The port.'."\n", + 'type' => 'object', + 'properties' => [ + 'Protocol' => ['description' => 'The type of the protocol. Valid values:'."\n" ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', + .'* TCP.'."\n" + .'* UDP'."\n", 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''], + 'Port' => ['description' => 'The port. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + ], + 'SecurityContext.ReadOnlyRootFilesystem' => ['description' => 'Specifies whether the root file system on which the container runs is read-only.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'EnvironmentVars' => [ + 'description' => 'The environment variables.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The environment variable.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable. The name can be 1 to 128 characters in length and can contain letters, underscores (\\_), and digits. It cannot start with a digit. Specify the value in the \\[0-9a-zA-Z] format.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PATH', 'title' => ''], + 'Value' => ['description' => 'The value of the environment variable. The value can be up to 256 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/local/bin '."\n", 'title' => ''], + 'FieldRefFieldPath' => ['description' => '> This parameter is unavailable for use.'."\n", 'type' => 'string', 'required' => false, 'example' => 'fieldPath', 'title' => ''], ], - 'ScalingPolicy' => [ - 'description' => 'The instance reclaim mode of the scaling group. Valid values:'."\n" + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'maxItems' => 301, + 'title' => '', + ], + 'LivenessProbe.TcpSocket.Port' => ['description' => 'The port detected by TCP sockets for liveness probing.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8000', 'title' => ''], + 'Tty' => ['description' => 'Specifies whether to enable interaction. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'If the command is a /bin/bash command, set the value to true.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'WorkingDir' => ['description' => 'The working directory of the container.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/local/ '."\n", 'title' => ''], + 'LivenessProbe.HttpGet.Scheme' => ['description' => 'The protocol type of HTTP GET requests for liveness probing. Valid values:'."\n" + ."\n" + .'* HTTP'."\n" + .'* HTTPS'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'ReadinessProbe.HttpGet.Port' => ['description' => 'The port over which you want to send HTTP GET requests for readiness probing.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8080', 'title' => ''], + 'Args' => [ + 'description' => 'The startup arguments of the container. You can specify up to 10 arguments.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The startup argument of the container. You can specify up to 10 arguments.'."\n", 'type' => 'string', 'required' => false, 'example' => '100', 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + ], + 'Gpu' => ['description' => 'The number of GPUs per container.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'ReadinessProbe.InitialDelaySeconds' => ['description' => 'The number of seconds that elapse from the startup of the container to the start time of a readiness probe. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'Stdin' => ['description' => 'Specifies whether the container allocates buffer resources to standard input streams during its active runtime. If you do not specify this parameter, an end-of-file (EOF) error occurs when standard input streams in the container are read.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Memory' => ['description' => 'The memory size that you want to allocate to the container. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''], + 'Name' => ['description' => 'The name of the container image.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nginx '."\n", 'title' => ''], + 'Image' => ['description' => 'The image in the container.'."\n", 'type' => 'string', 'required' => false, 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', 'title' => ''], + 'LivenessProbe.InitialDelaySeconds' => ['description' => 'The number of seconds that elapse from the startup of the container to the start time of a liveness probe. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], + 'VolumeMounts' => [ + 'description' => 'The volume mounts of the container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The volume mount of the container.'."\n", + 'type' => 'object', + 'properties' => [ + 'MountPropagation' => ['description' => 'The mount propagation setting. Mount propagation enables volume sharing from one container to other containers within the same pod or to containers across separate pods on the same node. Valid values:'."\n" ."\n" - .'* recycle: economical mode.'."\n" - .'* release: release mode.'."\n" - .'* forcerelease: forced release mode.'."\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" - .'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" + .'Default value: None.'."\n", 'type' => 'string', 'required' => false, 'example' => 'None', 'title' => ''], + 'MountPath' => ['description' => 'The directory in which the container mounts the volume.'."\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" + .'> Data in this directory is overwritten by data on the volume. Specify this parameter with caution.'."\n", 'type' => 'string', 'required' => false, 'example' => '/pod/data', 'title' => ''], + 'ReadOnly' => ['description' => 'Specifies whether the volume is read-only. Valid values:'."\n" ."\n" - .'* 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" + .'* true'."\n" + .'* false'."\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', + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Name' => ['description' => 'The volume name. The value of this parameter is the same as the value of Volumes.Name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'default-volume1 '."\n", 'title' => ''], + 'SubPath' => ['description' => 'The volume subdirectory.'."\n", 'type' => 'string', 'required' => false, 'example' => 'data2/ '."\n", 'title' => ''], ], - 'ActiveScalingConfigurationId' => [ - 'description' => 'The ID of the active scaling configuration in the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asc-bp1et2qekq3ojr33****', + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + ], + 'LivenessProbe.FailureThreshold' => ['description' => 'The minimum count of consecutive failures that must occur for a liveness probe to be classified as failed.'."\n" + ."\n" + .'Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'ReadinessProbe.Exec.Commands' => [ + 'description' => 'The commands executed in the container when using the command line to perform the health check.', + 'type' => 'array', + 'items' => ['description' => 'The command.', 'type' => 'string', 'required' => false, 'example' => 'cat/tmp/healthy', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + ], + 'ReadinessProbe.FailureThreshold' => ['description' => 'The minimum count of consecutive failures that must occur for a readiness probe to be classified as failed. Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'ImagePullPolicy' => ['description' => 'The image pulling policy. Valid values:'."\n" + ."\n" + .'* Always: Each time instances are created, image pulling is performed.'."\n" + .'* IfNotPresent: Image pulling is performed based on your business requirements. On-premises images are used by default. If no on-premises images are available, images are pulled from remote sources.'."\n" + .'* Never: Image pulling is not performed. On-premises images are always used. Image pulling is not performed.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], + 'StdinOnce' => ['description' => 'Specifies whether standard input streams remain connected during multiple sessions if Stdin is set to true.'."\n" + ."\n" + .'If you set StdinOnce to true, standard input streams are connected after the container is started, and remain idle until a client is connected to receive data. After the client is disconnected, streams are also disconnected and remain disconnected until the container is restarted.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Cpu' => ['description' => 'The number of vCPUs per container.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.25', 'title' => ''], + 'LivenessProbe.HttpGet.Port' => ['description' => 'The port over which you want to send HTTP GET requests for liveness probing.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8888', 'title' => ''], + 'LivenessProbe.HttpGet.Path' => ['description' => 'The path to which you want to send HTTP GET requests for liveness probing.'."\n", 'type' => 'string', 'required' => false, 'example' => '/healthyz '."\n", 'title' => ''], + 'LivenessProbe.SuccessThreshold' => ['description' => 'The minimum count of consecutive successes that must occur for a liveness probe to be classified as successful. Default value: 1. Set the value to 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'ReadinessProbe.PeriodSeconds' => ['description' => 'The interval at which readiness probes are performed. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'LivenessProbe.TimeoutSeconds' => ['description' => 'The timeout limit for a liveness probe to be complete. Unit: seconds. Default value: 1. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'Commands' => [ + 'description' => 'The commands that you want to run by using the CLI for liveness probing within the container.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The command that you want to run by using the CLI for liveness probing within the container.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sleep', 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + ], + 'SecurityContext.RunAsUser' => ['description' => 'The ID of the user that runs the container.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''], + 'ReadinessProbe.HttpGet.Path' => ['description' => 'The path to which you want to send HTTP GET requests for readiness probing.'."\n", 'type' => 'string', 'required' => false, 'example' => '/healthz '."\n", 'title' => ''], + 'LivenessProbe.Exec.Commands' => [ + 'description' => 'The commands executed in the container when using the command line to perform the health check.', + 'type' => 'array', + 'items' => ['description' => 'The command.', 'type' => 'string', 'required' => false, 'example' => 'cat/tmp/healthy', 'title' => ''], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + ], + 'LifecyclePostStartHandlerHttpGetHost' => ['description' => 'The IP address of the host to which you want to send HTTP GET requests to configure the postStart callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetPort' => ['description' => 'The port over which you want to send HTTP GET requests to configure the postStart callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5050', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetPath' => ['description' => 'The path to which you want to send HTTP GET requests to configure the postStart callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetScheme' => ['description' => 'The protocol type of HTTP GET requests that you want to send to configure the postStart callback function. Valid values:'."\n" + ."\n" + .'* HTTP'."\n" + .'* HTTPS'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTPS', 'title' => ''], + 'LifecyclePostStartHandlerExecs' => [ + 'description' => 'The commands that you want to run by using the CLI to configure the postStart callback function within the container.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The command that you want to run by using the CLI to configure the postStart callback function within the container.'."\n", 'type' => 'string', 'required' => false, 'example' => '["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + ], + 'LifecyclePostStartHandlerTcpSocketHost' => ['description' => 'The IP address of the host detected by the TCP sockets that you want to use to configure the postStart callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePostStartHandlerTcpSocketPort' => ['description' => 'The port detected by the TCP sockets that you want to use to configure the postStart callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetHost' => ['description' => 'The IP address of the host to which you want to send HTTP GET requests to configure the preStop callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetPort' => ['description' => 'The port over which you want to send HTTP GET requests to configure the preStop callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '88', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetPath' => ['description' => 'The path to which you want to send HTTP GET requests to configure the preStop callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetScheme' => ['description' => 'The protocol type of the HTTP GET requests that you want to send to configure the preStop callback function. Valid values:'."\n" + ."\n" + .'* HTTP'."\n" + .'* HTTPS'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'LifecyclePreStopHandlerExecs' => [ + 'description' => 'The commands that you want to run by using the CLI to configure the preStop callback function within the container.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The command that you want to run by using the CLI to configure the preStop callback function within the container.'."\n", 'type' => 'string', 'required' => false, 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + ], + 'LifecyclePreStopHandlerTcpSocketHost' => ['description' => 'The IP address of the host detected by the TCP sockets that you want to use to configure the preStop callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePreStopHandlerTcpSocketPort' => ['description' => 'The port detected by the TCP sockets that you want to use to configure the preStop callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '90', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'docRequired' => true, + 'maxItems' => 21, + 'title' => '', + ], + ], + [ + 'name' => 'Volumes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The volumes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The volume.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the Host directory. Examples: File, Directory, and Socket.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ConfigFileVolume', 'title' => ''], + 'DiskVolume.DiskSize' => ['description' => 'The size of the volume. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '15', 'title' => ''], + 'NFSVolume.Path' => ['description' => 'The path to the NFS volume.'."\n", 'type' => 'string', 'required' => false, 'example' => '/share '."\n", 'title' => ''], + 'FlexVolume.FsType' => ['description' => 'The type of the file system that you want to mount. The default value is determined by the script of FlexVolume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ext4 '."\n", 'title' => ''], + 'DiskVolume.FsType' => ['description' => 'The type of the disk volume. We recommend that you specify `FlexVolume.FsType` instead of DiskVolume.FsType.'."\n", 'type' => 'string', 'required' => false, 'example' => 'xfs', 'title' => ''], + 'HostPathVolume.Type' => ['description' => 'The type of host directory. For example: File, Directory, Socket, etc.', 'type' => 'string', 'required' => false, 'example' => 'Directory', 'title' => ''], + 'NFSVolume.ReadOnly' => ['description' => 'Specifies whether the permissions on the NFS volume are read-only. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'HostPathVolume.Path' => ['description' => 'The absolute path on the host.'."\n", 'type' => 'string', 'required' => false, 'example' => '/xx/xx/path '."\n", 'title' => ''], + 'FlexVolume.Options' => ['description' => 'The options of the FlexVolume object. Each option is a key-value pair in a JSON string.'."\n" + ."\n" + .'For example, if you use FlexVolume to mount a disk, specify the value in the `{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"} format`.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}', 'title' => ''], + 'FlexVolume.Driver' => ['description' => 'The name of the FlexVolume driver.'."\n", 'type' => 'string', 'required' => false, 'example' => 'flexvolume', 'title' => ''], + 'ConfigFileVolumeDefaultMode' => ['description' => 'The default permissions on the ConfigFile volume.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0644', 'title' => ''], + 'NFSVolume.Server' => ['description' => 'The endpoint of the NFS server.'."\n", 'type' => 'string', 'required' => false, 'example' => '3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com', 'title' => ''], + 'DiskVolume.DiskId' => ['description' => 'The ID of the disk volume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'd-xx '."\n", 'title' => ''], + 'Name' => ['description' => 'The name of the volume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'default-volume1 '."\n", 'title' => ''], + 'EmptyDirVolume.Medium' => ['description' => 'The storage medium of the emptyDir volume. By default, this parameter is left empty. In this case, the emptyDir volume uses the file system of the node as the storage medium. A value of memory specifies that the emptyDir volume uses the memory as the storage medium.'."\n", 'type' => 'string', 'required' => false, 'example' => 'memory', 'title' => ''], + 'ConfigFileVolumeConfigFileToPaths' => [ + 'description' => 'The paths to the configuration files.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The path to the configuration file.'."\n", + 'type' => 'object', + 'properties' => [ + 'Path' => ['description' => 'The name of the environment variable.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PATH', 'title' => ''], + 'Mode' => ['description' => 'The permissions on the configuration file.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0644', 'title' => ''], + 'Content' => ['description' => 'The content of the configuration file (32 KB).'."\n", 'type' => 'string', 'required' => false, 'example' => 'bGl1bWk= '."\n", 'title' => ''], ], - 'GroupType' => [ - 'description' => 'The type of instances that are managed by the scaling group.'."\n", - 'type' => 'string', - 'example' => 'ECS', + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'maxItems' => 90, + 'title' => '', + ], + 'EmptyDirVolume.SizeLimit' => ['description' => 'The size of the emptyDir volume. The value contains a unit. We recommend that you use Gi or Mi as the unit.'."\n", 'type' => 'string', 'required' => false, 'example' => '256Mi', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + ], + ], + [ + 'name' => 'InitContainers', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The init containers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The init container.'."\n", + 'type' => 'object', + 'properties' => [ + 'InitContainerEnvironmentVars' => [ + 'description' => 'The environment variables of the init container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The environment variable of the init container.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable. The name can be 1 to 128 characters in length and can contain letters, underscores (\\_), and digits. It cannot start with a digit. Specify the value in the `[0-9a-zA-Z]` format.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Path '."\n", 'title' => ''], + 'Value' => ['description' => 'The value of the environment variable. The value can be up to 256 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/bin/ '."\n", 'title' => ''], + 'FieldRefFieldPath' => ['description' => '> This parameter is unavailable for use.'."\n", 'type' => 'string', 'required' => false, 'example' => 'path', 'title' => ''], ], - '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" + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'maxItems' => 301, + 'title' => '', + ], + 'SecurityContext.Capability.Adds' => [ + 'description' => 'The permissions that you want to grant to the processes in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n" + ."\n" + .'> To use NET_RAW, submit a ticket.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The permissions that you want to grant to the process in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n" + ."\n" + .'> To use NET_RAW, submit a ticket.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NET_ADMIN', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + ], + 'Image' => ['description' => 'The image of the init container.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nginx', 'title' => ''], + 'InitContainerPorts' => [ + 'description' => 'The ports of init containers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The port of the init container.'."\n", + 'type' => 'object', + 'properties' => [ + 'Protocol' => ['description' => 'The protocol type. Valid values:'."\n" ."\n" - .' **'."\n" + .'* TCP'."\n" + .'* UDP'."\n", 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''], + 'Port' => ['description' => 'The port number. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + ], + 'InitContainerVolumeMounts' => [ + 'description' => 'The volume mounts of the init container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The volume mount of the init container.'."\n", + 'type' => 'object', + 'properties' => [ + 'MountPropagation' => ['description' => 'The mount propagation settings of the volume. Mount propagation enables volume sharing from one container to other containers within the same pod or to containers across separate pods on the same node. Valid values:'."\n" ."\n" - .' **Note** The COST_OPTIMIZED setting takes effect only if your scaling configuration contains multiple instance types or contains preemptible instance types.'."\n" + .'* None: Subsequent mounts executed on the volume or its subdirectories do not propagate to the volume.'."\n" + .'* HostToCotainer: Subsequent mounts executed on the volume or its subdirectories propagate to the volume.'."\n" + .'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed on the volume or its subdirectories propagate to the volume. All volume mounts executed on the container not only propagate back to the underlying host but also to all containers across every pod that uses the same volume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'None', 'title' => ''], + 'MountPath' => ['description' => 'The directory to which the init container mounts the volume. The data stored in this directory is overwritten by the data on the volume. Specify this parameter with caution.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/share/', 'title' => ''], + 'ReadOnly' => ['description' => 'Specifies whether the mount path is read-only.'."\n" ."\n" - .'* 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', + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Name' => ['description' => 'The name of the volume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test-empty '."\n", 'title' => ''], + 'SubPath' => ['description' => 'The subdirectory of the volume. The pod can mount different directories of the same volume to different subdirectories of init containers.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/sub/', 'title' => ''], ], + 'required' => false, + 'title' => '', ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + ], + 'SecurityContext.ReadOnlyRootFilesystem' => ['description' => 'Specifies whether the root file system on which the init container runs is read-only. Valid value: true.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'ImagePullPolicy' => ['description' => 'The image pulling policy.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], + 'Cpu' => ['description' => 'The number of vCPUs per init container.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''], + 'WorkingDir' => ['description' => 'The working directory of the init container.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/local '."\n", 'title' => ''], + 'Commands' => [ + 'description' => 'The startup commands of the init container.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The startup command of the init container.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sleep'."\n", 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + ], + 'Args' => [ + 'description' => 'The startup arguments of the init container. You can specify up to 10 arguments.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The startup argument of the init container. You can specify up to 10 arguments.'."\n", 'type' => 'string', 'required' => false, 'example' => '100', 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', ], + 'SecurityContext.RunAsUser' => ['description' => 'The ID of the user that runs the init container.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '587', 'title' => ''], + 'Gpu' => ['description' => 'The number of GPUs per init container.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'Memory' => ['description' => 'The memory size per init container. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], + 'Name' => ['description' => 'The name of the init container.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test-init '."\n", 'title' => ''], ], + 'required' => false, + 'title' => '', ], + 'required' => false, + 'maxItems' => 21, + 'title' => '', ], ], - ], - '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', + 'name' => 'DnsConfigNameServers', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The IP addresses of the DNS servers.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The IP address of the DNS server.'."\n", 'type' => 'string', 'required' => false, 'example' => '172.10.*.**'."\n", 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', ], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'DnsConfigSearchs', 'in' => 'query', - 'allowEmptyValue' => false, + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', + 'description' => 'The search domains of the DNS servers.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The search domain of the DNS server.'."\n", 'type' => 'string', 'required' => false, 'example' => 'svc.local.kubenetes'."\n", 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', ], ], [ - 'name' => 'OutputFormat', + 'name' => 'DnsConfigOptions', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The output format. Set the value to yaml.'."\n", - 'type' => 'string', + 'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The option. Each option is a name-value pair. The value in the name-value pair is optional.'."\n", + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The variable value of the option.'."\n", 'type' => 'string', 'required' => false, 'example' => 'value '."\n", 'title' => ''], + 'Name' => ['description' => 'The variable name of the option.'."\n", 'type' => 'string', 'required' => false, 'example' => 'name', 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], 'required' => false, - 'example' => 'yaml', + 'maxItems' => 20, + 'title' => '', + ], + ], + [ + 'name' => 'HostAliases', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The custom hostnames of the containers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The custom hostname of the container.'."\n", + 'type' => 'object', + 'properties' => [ + 'Ip' => ['description' => 'The IP address of the container that you want to add.'."\n", 'type' => 'string', 'required' => false, 'example' => '1.1.1.1'."\n", 'title' => ''], + 'Hostnames' => [ + 'description' => 'The hostnames of the containers that you want to add.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The hostname of the container that you want to add.'."\n", 'type' => 'string', 'required' => false, 'example' => 'hehe.com', 'title' => ''], + 'required' => false, + 'maxItems' => 51, + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + ], + ], + [ + 'name' => 'SecurityContextSysctls', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The system information of the security context in which the elastic container instance runs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The system information of the security context in which the elastic container instance runs.'."\n", + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The variable value of the security context in which the elastic container instance runs.'."\n", 'type' => 'string', 'required' => false, 'example' => '65536', 'title' => ''], + 'Name' => ['description' => 'The variable name of the security context in which the container group runs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'kernel.msgmax'."\n", 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'maxItems' => 11, + 'title' => '', + ], + ], + [ + 'name' => 'NtpServers', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The endpoints of the Network Time Protocol (NTP) servers.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The endpoint of the NTP server.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ntp.cloud.aliyuncs.com', 'title' => ''], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + ], + ], + [ + 'name' => 'AcrRegistryInfos', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The Container Registry Enterprise Edition instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The Container Registry Enterprise Edition instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'Domains' => [ + 'description' => 'The domain names of the Container Registry Enterprise Edition instances. By default, all domain names are displayed. Separate multiple domain names with commas (,).'."\n", + 'type' => 'array', + 'items' => ['description' => 'The domain name of the Container Registry Enterprise Edition instance. By default, all domain names are displayed. Separate multiple domain names with commas (,).'."\n", 'type' => 'string', 'required' => false, 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com '."\n", 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + ], + 'InstanceName' => ['description' => 'The name of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'acr-test'."\n", 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cri-nwj395hgf6f3**** '."\n", 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing '."\n", 'title' => ''], + ], + 'required' => false, + 'title' => '', + ], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + ], + ], + [ + 'name' => 'CostOptimization', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the Cost Optimization feature. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'InstanceFamilyLevel', + 'in' => 'query', + 'schema' => ['description' => 'The level of the instance family. You can specify this parameter to match the available instance types. This parameter takes effect only if you set `CostOptimization` to true. Valid values:'."\n" + ."\n" + .'* EntryLevel: entry level (shared instance types). Instance types of this level are the most cost-effective, but may not ensure stable computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" + .'* EnterpriseLevel: enterprise level. Instance types of this level provide stable performance and dedicated resources, and are suitable for business scenarios that require high stability. For more information, see [Overview of instance families](~~25378~~).'."\n" + .'* CreditEntryLevel: credit-based entry level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview](~~59977~~) of burstable instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'EnterpriseLevel', 'title' => ''], + ], + [ + 'name' => 'InstanceTypes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The ECS instance types that you want to use to create elastic container instances. You can specify up to five ECS instance types.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ECS instance type that you want to use to create elastic container instances. You can specify up to five ECS instance types. For more information, see [Specify ECS instance types to create an elastic container instance](~~114664~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], + 'required' => false, + 'maxItems' => 10, + 'title' => '', ], ], + [ + 'name' => 'DataCacheBucket', + 'in' => 'query', + 'schema' => ['description' => 'The bucket that you want to use to store data caches.'."\n", 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], + ], + [ + 'name' => 'DataCachePL', + 'in' => 'query', + 'schema' => ['description' => 'The PL of the cloud disk that you want to use to store data caches. We recommend that you use ESSDs. Valid values:'."\n" + ."\n" + .'* PL0: An ESSD can provide up to 10,000 random read/write IOPS.'."\n" + .'* PL1: An ESSD can provide up to 50,000 random read/write IOPS.'."\n" + .'* PL2: An ESSD can provide up to 100,000 random read/write IOPS.'."\n" + .'* PL3: An ESSD can provide up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'Default value: PL1.'."\n" + ."\n" + .'> For more information about ESSDs, see [ESSDs](~~122389~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'PL1', 'title' => ''], + ], + [ + 'name' => 'DataCacheProvisionedIops', + 'in' => 'query', + 'schema' => ['description' => 'The provisioned IOPS of the ESSD AutoPL disk that you want to use to store data caches. Valid values: 0 to min{50,000, 1,000 × *Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50 × *Capacity, 50,000}.'."\n" + ."\n" + .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '40000', 'title' => ''], + ], + [ + 'name' => 'DataCacheBurstingEnabled', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the performance burst feature when ESSD AutoPL disks are used to store data caches. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n" + ."\n" + .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'GpuDriverVersion', + 'in' => 'query', + 'schema' => ['description' => 'The version of the GPU driver. Valid values:'."\n" + ."\n" + .'* tesla=470.82.01 (default)'."\n" + .'* tesla=525.85.12'."\n" + ."\n" + .'> You can switch the GPU driver version only for a few Elastic Compute Service (ECS) instance types. For more information, see [Specify GPU-accelerated ECS instance types to create an elastic container instance](~~2579486~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'tesla=525.85.12', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - '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', - ], + 'ScalingConfigurationId' => ['description' => 'The ID of the elastic container instance (container group).'."\n", 'type' => 'string', 'example' => 'eci-uf6fonnghi50u374****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '89945DD3-9072-47D0-A318-353284CF****', 'title' => ''], ], - 'description' => '', + 'title' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"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', + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'Forbidden.RiskControl', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'CreateEciScalingConfiguration', + 'description' => '伸缩配置用来指定弹性扩张时使用的ECI实例模板。'."\n" + ."\n" + .'参数Cpu和Memory用于指定CPU和内存定义实例规格的范围,弹性伸缩会结合IO优化、可用区等因素确定可用实例规格集合,并根据价格排序为您创建价格最低的实例。该方式仅适用于伸缩组的扩缩容策略为成本优化策略,且伸缩配置未指定实例规格的场景。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateEciScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingConfigurationId\\": \\"eci-uf6fonnghi50u374****\\",\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CF****\\"\\n}","type":"json"}]', + ], + 'CreateLifecycleHook' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '125341', - 'abilityTreeNodes' => [ - 'FEATUREessPMOEEX', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '125396', + 'abilityTreeNodes' => ['FEATUREessZQ2TYX'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1eyv4qn8ssgv43****'], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'LifecycleHookName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + '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' => 'ScalingConfigurationId', + 'name' => 'LifecycleTransition', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asc-bp1i65jd06v04vdh****', - ], + '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' => 'HealthStatus', + 'name' => 'DefaultResult', 'in' => 'query', - 'schema' => [ - 'description' => 'The health status of the ECS instance in the scaling group. If an ECS instance is not in the Running state, the instance is considered unhealthy. Valid values:'."\n" - ."\n" - .'* Healthy'."\n" - .'* Unhealthy'."\n" - ."\n" - .'Auto Scaling automatically removes unhealthy ECS instances from the scaling group and then releases the automatically created instances among the unhealthy instances.'."\n" - ."\n" - .'Unhealthy ECS instances that are manually added to the scaling group are released based on the management mode of the lifecycles of the instances. If the lifecycles of the ECS instances are not managed by the scaling group, Auto Scaling removes the instances from the scaling group but does not release the instances. If the lifecycles of the ECS instances are managed by the scaling group, Auto Scaling removes the instances from the scaling group and releases the instances.'."\n" - ."\n" - .'> Make sure that you have sufficient balance within your Alibaba Cloud account. If your Alibaba Cloud account has an overdue payment, all pay-as-you-go ECS instances, including preemptible instances, may be stopped or even released. For information about how the status of ECS instances changes when you have an overdue payment in your Alibaba Cloud account, see [Overdue payments](~~170589~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Healthy', - ], + 'schema' => ['description' => 'The 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' => 'LifecycleState', + 'name' => 'HeartbeatTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The lifecycle status of the ECS instance in the scaling group. Valid values:'."\n" - ."\n" - .'* InService: The ECS instance is added to the scaling group and provides services as expected.'."\n" - .'* Pending: The ECS instance is being added to the scaling group. When an ECS instance is being added to the scaling group, Auto Scaling also adds the instance to the backend server groups of the attached load balancers and adds the private IP address of the instance to the IP address whitelists of the attached ApsaraDB RDS instances.'."\n" - .'* Pending:Wait: The ECS instance is waiting to be added to the scaling group. If a scale-out lifecycle hook is in effect, the ECS instance remains in the Pending:Wait state until the timeout period for the lifecycle hook expires.'."\n" - .'* Protected: The ECS instance is protected. Protected ECS instances can continue to provide services as expected, but Auto Scaling does not manage the lifecycles of the ECS instances. You must manually manage the lifecycles of the ECS instances.'."\n" - .'* Standby: The ECS instance is on standby. Standby ECS instances do not provide services as expected, and the weights of the ECS instances as backend servers are reset to zero. Auto Scaling does not manage the lifecycles of the ECS instances. Therefore, you must manually manage the lifecycles of the ECS instances.'."\n" - .'* Stopped: The ECS instance is stopped. Stopped ECS instances no longer provide services.'."\n" - .'* Removing: The ECS instance is being removed from the scaling group. When an ECS instance is being removed from the scaling group, Auto Scaling also removes the instance from the backend server groups of the attached load balancers and removes the private IP address of the instance from the IP address whitelists of the attached ApsaraDB RDS instances.'."\n" - .'* Removing:Wait: The ECS instance is waiting to be removed from the scaling group. If a scale-in lifecycle hook is in effect, the ECS instance remains in the Removing:Wait state until the timeout period for the lifecycle hook expires.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'InService', - ], + 'schema' => ['description' => 'The 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' => 'CreationType', + 'name' => 'NotificationMetadata', 'in' => 'query', - 'schema' => [ - 'description' => 'The instance creation method. Valid values:'."\n" - ."\n" - .'* AutoCreated: The ECS instances are created by Auto Scaling based on the instance configuration source.'."\n" - .'* Attached: The ECS instances are manually added to the scaling group.'."\n" - .'* Managed: The Alibaba Cloud-managed third-party instances are manually added to the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AutoCreated', - ], + 'schema' => ['description' => 'The 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' => 'PageNumber', + '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' => [ - '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', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'LifecycleHookId' => ['description' => 'The ID of the lifecycle hook.'."\n", 'type' => 'string', 'example' => 'ash-bp1at9ufhmcf9cmy****'], + ], + 'description' => '', + ], + ], + ], + 'title' => 'CreateLifecycleHook', + 'summary' => 'Creates one or more lifecycle hooks in a scaling group. A lifecycle hook allows you to execute custom actions like sending notifications or automating script execution at critical stages (such as instance startup and termination) in the lifecycle of an instance. Implementing the lifecycle hook feature allows for finer control and management of instances. For example, you can verify configurations, set up custom tasks, or back up data on your instances when lifecycle hooks take effect, thus enhancing the flexibility and reliability of application deployment.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateLifecycleHook', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"LifecycleHookId\\": \\"ash-bp1at9ufhmcf9cmy****\\"\\n}","type":"json"}]', + ], + 'CreateNotificationConfiguration' => [ + 'summary' => 'Creates a notification rule. You can call the CreateNotificationConfiguration operation to create a notification rule to stay informed about scaling events or resource changes. This helps you learn about the dynamic status of your scaling group in real time and further automates the management of scaling events.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'PageSize', + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125368', + 'abilityTreeNodes' => ['FEATUREess6E26FJ', 'FEATUREessFY8KDA'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Maximum value: 100.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], ], [ - 'name' => 'ScalingActivityId', + 'name' => 'NotificationArn', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asa-bp1c9djwrgxjyk31****', - ], + 'schema' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. The following list describes the value formats of this parameter:'."\n" + ."\n" + .'* If you specify CloudMonitor as the notification recipient, specify the value in the `acs:ess:{region-id}:{account-id}:cloudmonitor` format.'."\n" + .'* If you specify an SMQ queue as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:queue/{queuename}` format.'."\n" + .'* If you specify an SMQ topic as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:topic/{topicname}` format.'."\n" + ."\n" + .'The variables in the preceding formats have the following meanings:'."\n" + ."\n" + .'* `region-id`: the region ID of the scaling group.'."\n" + .'* `account-id`: the ID of the Alibaba Cloud account.'."\n" + .'* `queuename`: the name of the SMQ queue.'."\n" + .'* `topicname`: the name of the SMQ topic.'."\n", 'type' => 'string', 'required' => true, 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****', 'title' => ''], ], [ - 'name' => 'InstanceIds', + 'name' => 'NotificationTypes', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the ECS instances.'."\n" + 'description' => 'The notification types. Specify multiple IDs in the repeated list form.'."\n" ."\n" - .'The IDs of inactive instances are not displayed in the query result, and no errors are returned.'."\n", + .'You can call the DescribeNotificationTypes operation to query the values of this parameter.'."\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, + 'items' => ['description' => 'The notification type. Specify multiple IDs in the repeated list form.'."\n" + ."\n" + .'You can call the DescribeNotificationTypes operation to query the values of this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', 'title' => ''], + 'required' => true, + 'maxItems' => 12, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'CreationTypes', + 'name' => 'RegionId', '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, - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], ], [ - 'name' => 'LifecycleStates', + 'name' => 'TimeZone', '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, - ], + 'schema' => ['description' => 'The time zone of the notification. Specify the value in UTC. For example, a value of UTC+8 specifies that the time is 8 hours ahead of Coordinated Universal Time, and a value of UTC-7 specifies that the time is 7 hours behind Coordinated Universal Time.'."\n", 'type' => 'string', 'required' => false, 'example' => 'UTC+8', 'title' => ''], + ], + [ + 'name' => 'MessageEncoding', + 'in' => 'query', + 'schema' => ['description' => 'The codec for the content of message notifications. Valid values:'."\n" + ."\n" + .'- PlainText: No encoding; messages are transmitted in plaintext.'."\n" + .'- Base64: Messages are encoded in Base64.'."\n" + ."\n" + .'Default value: Base64.'."\n" + .'> This parameter applies only to MNS notification objects.', 'type' => 'string', 'required' => false, 'example' => 'PlainText', 'title' => ''], ], ], 'responses' => [ @@ -4275,4671 +2738,3564 @@ '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**', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B13527BF-1FBD-4334-A512-20F5E9D3****\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalSpotCount\\": 4,\\n \\"TotalCount\\": 1,\\n \\"ScalingInstances\\": [\\n {\\n \\"CreationTime\\": \\"2020-05-18T03:11Z\\",\\n \\"LoadBalancerWeight\\": 50,\\n \\"LaunchTemplateId\\": \\"lt-m5e3ofjr1zn1aw7****\\",\\n \\"InstanceId\\": \\"i-bp109k5j3dum1ce6****\\",\\n \\"SpotStrategy\\": \\"SpotWithPriceLimit\\",\\n \\"LaunchTemplateVersion\\": \\"1\\",\\n \\"HealthStatus\\": \\"Healthy\\",\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\",\\n \\"WarmupState\\": \\"NoNeedWarmup\\",\\n \\"LifecycleState\\": \\"InService\\",\\n \\"CreationType\\": \\"AutoCreated\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"ScalingConfigurationId\\": \\"asc-bp1i65jd06v04vdh****\\",\\n \\"Entrusted\\": true,\\n \\"WeightedCapacity\\": 4,\\n \\"CreatedTime\\": \\"2020-05-18T03:11:39Z\\",\\n \\"ScalingActivityId\\": \\"asa-bp1c9djwrgxjyk31****\\",\\n \\"ScalingInstanceId\\": \\"asi-j6cj1gcte640ekhb****\\",\\n \\"PrivateIpAddress\\": \\"1**.2*.1**.2**\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeScalingInstances', - ], - 'DescribeScalingActivities' => [ - 'summary' => 'Queries scaling activities. You can call the DescribeScalingActivities operation to query the results of scaling activities triggered by scheduled tasks, event-triggered tasks, or manual execution of scaling rules. For example, you can query the status and cause of a scaling activity. You can also query the total number of instances after a scaling activity is complete.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'CreateNotificationConfiguration', + 'description' => '- You can configure message notifications to be received by CloudMonitor system events, Message Service (formerly MNS) queues, or Message Service (formerly MNS) topics. When specified scaling events or resource changes occur in a scaling group, automatic scaling notifies CloudMonitor or Message Service (formerly MNS).'."\n" + .'- Different event notifications within the same scaling group cannot share the same accepter.'."\n" + ."\n" + .' For example, different event notifications cannot simultaneously use the same CloudMonitor configuration, the same MNS topic, or the same MNS queue.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateNotificationConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'CreateScalingConfiguration' => [ + 'summary' => 'Creates an ECS-type scaling configuration for a scaling group by calling the CreateScalingConfiguration operation and specifying information such as the scaling group ID, instance type, and instance image.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '125358', - 'abilityTreeNodes' => [ - 'FEATUREessACRSW1', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125374', + 'abilityTreeNodes' => ['FEATUREessWJGIW5'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ScalingGroupId', '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', - ], + 'schema' => ['description' => 'The ID of the scaling group to which the scaling configuration belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'ImageId', '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', - ], + 'schema' => ['description' => 'The ID of the image file used for automatic creation of instances.', 'type' => 'string', 'required' => false, 'example' => 'centos6u5_64_20G_aliaegis****.vhd', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'ImageName', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Maximum value: 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'maximum' => '50', - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'The name of the image file. Image names are unique within a region. If you set ImageId, ImageName is ignored.'."\n" + ."\n" + .'You cannot use ImageName to specify images from Alibaba Cloud Marketplace.', 'type' => 'string', 'required' => false, 'example' => 'image****', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'InstanceType', '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****', - ], + 'schema' => ['description' => 'The instance type of the ECS instance. For more information, see [Instance families](~~25378~~).', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], ], [ - 'name' => 'StatusCode', + 'name' => 'Cpu', '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', - ], + 'schema' => ['description' => 'The number of vCPUs. Unit: cores.'."\n" + ."\n" + .'Specifying both CPU and Memory defines the range of instance types. For example, CPU=2 and Memory=16 defines all instance types with 2 vCPUs and 16 GiB of memory. Auto Scaling determines the set of available instance types based on factors such as I/O optimization and zone, and creates instances with the lowest price sorted by price.'."\n" + .'> This range configuration takes effect only in cost optimization mode when no instance type is specified in the scaling configuration.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], ], [ - 'name' => 'ScalingActivityIds', + 'name' => 'Memory', '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, - ], + 'schema' => ['description' => 'The memory size. Unit: GiB.'."\n" + ."\n" + .'Specifying both CPU and Memory defines the range of instance types. For example, CPU=2 and Memory=16 defines all instance types with 2 vCPUs and 16 GiB of memory. Auto Scaling determines the set of available instance types based on factors such as I/O optimization and zone, and creates instances with the lowest price sorted by price.'."\n" + ."\n" + .'> This range configuration takes effect only in cost optimization mode when no instance type is specified in the scaling configuration.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '16', 'title' => ''], ], [ - 'name' => 'InstanceRefreshTaskId', + 'name' => 'DeploymentSetId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance refresh task. If you specify this parameter, this operation returns the list of scaling activities associated with the instance refresh task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ir-a12ds234fasd*****', - ], + 'schema' => ['description' => 'The ID of the deployment set to which the ECS instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'ds-bp1frxuzdg87zh4pz****', 'title' => ''], ], - ], - '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' => '', - ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the security group to which the ECS instance belongs. ECS instances in the same security group can access each other.', 'type' => 'string', 'required' => false, 'example' => 'sg-280ih****', 'title' => ''], ], - ], - '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', + 'name' => 'IoOptimized', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the instance is an I/O optimized instance. Valid values:'."\n" + ."\n" + .'none: non-I/O optimized instance.'."\n" + .'optimized: I/O optimized instance.'."\n" + ."\n" + .'The default value for retired instance types is none. The default value for other instance types is optimized.', 'type' => 'string', 'required' => false, 'example' => 'optimized', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingActivityId', + 'name' => 'InternetChargeType', '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' => '', - ], + 'schema' => ['description' => 'The billing method for network usage. Valid values:'."\n" + ."\n" + .'- PayByBandwidth: pay-by-bandwidth. The value of InternetMaxBandwidthOut is used as the fixed bandwidth value.'."\n" + ."\n" + .'- PayByTraffic: pay-by-traffic. The value of InternetMaxBandwidthOut is used as the maximum bandwidth. Billing is based on the actual network traffic.'."\n" + ."\n" + .'If this parameter is not specified, the default value is PayByBandwidth for the classic network and PayByTraffic for VPCs.', 'type' => 'string', 'required' => false, 'example' => 'PayByTraffic', 'title' => ''], ], - ], - '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":"\\n B13527BF-1FBD-4334-A512-20F5E9D3FB4D\\n asa-bp1c9djwrgxjyk31****\\n new ECS instances \\\\\\"i-bp16t2cgmiiymeqv****\\\\\\" are created.\\n","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', + 'name' => 'InternetMaxBandwidthIn', + 'in' => 'query', + 'schema' => ['description' => 'The maximum inbound public bandwidth. Unit: Mbit/s. Valid values:'."\n" + ."\n" + .'- If the maximum outbound public bandwidth is less than or equal to 10 Mbit/s: 1 to 10. Default value: 10.'."\n" + .'- If the maximum outbound public bandwidth is greater than 10 Mbit/s: 1 to the value of `InternetMaxBandwidthOut`. Default value: the value of `InternetMaxBandwidthOut`.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'InternetMaxBandwidthOut', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp1avr6ensitts3w****', - ], + 'schema' => ['description' => 'The maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 0 to 100.'."\n" + ."\n" + .'Default value: 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'ForceAttach', + 'name' => 'SystemDisk.Category', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to add the existing instances in the scaling group as backend servers of the load balancer. Valid values:'."\n" - ."\n" - .'* true: If you set this parameter to `true`, the attachment of the load balancer entails the addition of the existing instances in the scaling group to the backend server groups of the load balancer.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** If a load balancer is currently attached to your scaling group, and you only want to add the instances in your scaling group to the backend server groups of the load balancer, you can call this operation again and set ForceAttach request to true.'."\n" - ."\n" - .'* false: If you set this parameter to false, the attachment of the load balancer does not entail the addition of the existing instances in the scaling group to the backend server groups of the load balancer.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'The category of the system cloud disk. Valid values:'."\n" + ."\n" + .'- cloud: basic cloud disk.'."\n" + ."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + ."\n" + .'- cloud_ssd: standard SSD.'."\n" + ."\n" + .'- ephemeral_ssd: local SSD.'."\n" + ."\n" + .'- cloud_essd: enhanced SSD (ESSD).'."\n" + ."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.'."\n" + ."\n" + .'This parameter cannot be specified together with `SystemDiskCategories`. If neither this parameter nor `SystemDiskCategories` is specified, the default value is used:'."\n" + ."\n" + .'- For I/O optimized instances, the default value is cloud_efficiency.'."\n" + .'- For non-I/O optimized instances, the default value is cloud.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssd', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'SystemDisk.Size', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" - ."\n" - .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The size of the system cloud disk. Unit: GiB. Valid values:'."\n" + ."\n" + .'- Basic cloud disk: 20 to 500.'."\n" + .'- ESSD:'."\n" + .' - PL0: 1 to 2048.'."\n" + .' - PL1: 20 to 2048.'."\n" + .' - PL2: 461 to 2048.'."\n" + .' - PL3: 1261 to 2048.'."\n" + .'- ESSD AutoPL cloud disk: 1 to 2048.'."\n" + .'- Other cloud disk types: 20 to 2048.'."\n" + ."\n" + .'The value of this parameter must be greater than or equal to max{1, ImageSize}.'."\n" + ."\n" + .'Default value: max{40, ImageSize}.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], ], [ - 'name' => 'Async', + 'name' => 'SystemDisk.DiskName', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to attach the CLB instance to the scaling group in an asynchronous manner. If you attach the CLB instance from the scaling group in an asynchronous manner, the call is successful only after all operations are successful. If a specific operation fails, the call fails. We recommend that you set this parameter to true. Valid values:'."\n" - ."\n" - .'* true: attaches the CLB instance to the scaling group in an asynchronous manner. In this case, the ID of the scaling activity is returned.'."\n" - .'* false: does not attach the CLB instance to the scaling group in an asynchronous manner.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The name of the system cloud disk. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (_), and hyphens (-). The name must start with a letter or a Chinese character and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssdSystem', 'title' => ''], ], [ - 'name' => 'LoadBalancers', + 'name' => 'SystemDisk.Description', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the load balancers that you want to attach to the scaling group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the load balancer that you want to attach to the scaling group.'."\n" - ."\n" - .'> In each call, you can attach up to five load balancers to a scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-2zeur05gfs**** '."\n", - ], - 'required' => false, - 'maxItems' => 5, - ], + 'schema' => ['description' => 'The description of the system cloud disk. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Test system disk.', 'title' => ''], ], [ - 'name' => 'LoadBalancerConfigs', + 'name' => 'SystemDisk.AutoSnapshotPolicyId', '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' => '', - ], + 'schema' => ['description' => 'The ID of the automatic snapshot policy applied to the system cloud disk.', 'type' => 'string', 'required' => false, 'example' => 'sp-bp12m37ccmxvbmi5****', 'title' => ''], ], - ], - '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', + 'name' => 'SystemDisk.PerformanceLevel', + 'in' => 'query', + 'schema' => ['description' => 'The performance level (PL) of the system cloud disk when the disk is an ESSD. Valid values:'."\n" + ."\n" + .'- PL0: a single disk can deliver up to 10,000 random read/write IOPS.'."\n" + ."\n" + .'- PL1: a single disk can deliver up to 50,000 random read/write IOPS.'."\n" + ."\n" + .'- PL2: a single disk can deliver up to 100,000 random read/write IOPS.'."\n" + ."\n" + .'- PL3: a single disk can deliver up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'Default value: PL1.', 'type' => 'string', 'required' => false, 'example' => 'PL0', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'ScalingConfigurationName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp1ffogfdauy0jw0****', - ], + 'schema' => ['description' => 'The name of the scaling configuration. The name must be 2 to 64 characters in length and can contain letters, digits, underscores (_), hyphens (-), and periods (.). The name must start with a digit, letter, or Chinese character.'."\n" + ."\n" + .'The scaling configuration name must be unique within a scaling group in the same region. If you do not specify this parameter, the scaling configuration ID is used by default.', 'type' => 'string', 'required' => false, 'example' => 'scalingconfig****', 'title' => ''], ], [ - 'name' => 'ForceDetach', + 'name' => 'LoadBalancerWeight', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove Elastic Compute Service (ECS) instances in the scaling group from the backend server groups of the load balancer. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'The weight of the ECS instance as a backend server of the associated load balancing instance. Valid values: 1 to 100.'."\n" + ."\n" + .'Default value: 50.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The tags of the ECS instance. Tags are specified as key-value pairs. You can specify up to 20 tags. The following limits apply to Key and Value:'."\n" + .' '."\n" + .'- Key can be up to 64 characters in length and cannot start with aliyun or acs:, or contain `http://` or `https://`. Key cannot be an empty string.'."\n" + .'- Value can be up to 128 characters in length and cannot start with aliyun or acs:, or contain `http://` or `https://`. Value can be an empty string.', 'type' => 'string', 'required' => false, 'example' => '{"key1":"value1","key2":"value2", ... "key5":"value5"}', 'title' => ''], ], [ - 'name' => 'Async', + 'name' => 'UserData', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to detach the CLB instance from the scaling group in an asynchronous manner. If you detach the CLB instance from the scaling group in an asynchronous manner, the call is successful only after all operations are successful. If a specific operation fails, the call fails. We recommend that you set this parameter to true.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* true: detaches the CLB instance from the scaling group in an asynchronous manner. In this case, the ID of the scaling activity is returned.'."\n" - .'* false: does not detach the CLB instance from the scaling group in an asynchronous manner.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The user data of the ECS instance. The data must be Base64-encoded. The maximum size of the raw data before encoding is 32 KB.', 'type' => 'string', 'required' => false, 'example' => 'ZWNobyBoZWxsbyBlY3Mh', 'title' => ''], ], [ - 'name' => 'LoadBalancers', + 'name' => 'KeyPairName', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the CLB instances. You can specify up to five instance IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of the CLB instances. You can specify up to five instance IDs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-2zeur05gfs**** '."\n", - ], - 'required' => true, - 'maxItems' => 5, - ], + 'schema' => ['description' => 'The name of the key pair used to log on to the ECS instance. '."\n" + .' '."\n" + .'- For Windows instances, this parameter is ignored and is empty by default. '."\n" + .'- For Linux instances, password-based logon is disabled during initialization.', 'type' => 'string', 'required' => false, 'example' => 'KeyPairTest', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'RamRoleName', '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****', - ], - ], - ], + 'schema' => ['description' => 'The name of the RAM role associated with the ECS instance. The RAM role name is provided and maintained by Resource Access Management (RAM). You can call ListRoles to query available RAM roles.', 'type' => 'string', 'required' => false, 'example' => 'ramrole****', 'title' => ''], ], - ], - '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' => [], + 'name' => 'SecurityEnhancementStrategy', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable security hardening. Valid values:'."\n" + ."\n" + .'- Active: enables security hardening. This value is applicable only to public images.'."\n" + .'- Deactive: disables security hardening. This value is applicable to all image types.', 'type' => 'string', 'required' => false, 'example' => 'Active', 'title' => ''], ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125394', - 'abilityTreeNodes' => [ - 'FEATUREessJZ6DNF', + [ + 'name' => 'InstanceName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the ECS instance that is automatically created by using this scaling configuration.', 'type' => 'string', 'required' => false, 'example' => 'instance****', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'HostName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1avr6ensitts3w****', - ], + 'schema' => ['description' => 'The hostname of the ECS instance. A period (.) or hyphen (-) cannot be used as the first or last character, and consecutive periods (.) or hyphens (-) are not allowed. Naming conventions vary by instance type:'."\n" + ."\n" + .'- Windows instances: The hostname must be 2 to 15 characters in length and can contain letters, digits, and hyphens (-). The hostname cannot contain periods (.) or be composed entirely of digits.'."\n" + .'- Other instances (such as Linux): The hostname must be 2 to 64 characters in length and can contain multiple periods (.). Each segment between two periods (.) can contain letters, digits, and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'host****', 'title' => ''], ], [ - 'name' => 'ForceAttach', + 'name' => 'SpotStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to add the private IP addresses of all ECS instances in the scaling group to the IP address whitelist of the ApsaraDB RDS instance that you want to attach to the scaling group. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'The preemption policy for pay-as-you-go instances. Valid values:'."\n" + .' '."\n" + .'- NoSpot: a regular pay-as-you-go instance.'."\n" + .'- SpotWithPriceLimit: a spot instance with a user-defined maximum hourly price.'."\n" + .'- SpotAsPriceGo: a spot instance priced at the market price at the time of purchase.'."\n" + ."\n" + .'Default value: NoSpot.', 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'PasswordInherit', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests.'."\n" - ."\n" - .'The token can only contain ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure the idempotence of a request](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'Specifies whether to use the password preset in the image. To use this parameter, make sure that a password is configured for the image. Valid values:'."\n" + ."\n" + .'- true: uses the password preset in the image.'."\n" + .'- false: does not use the password preset in the image.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'DBInstances', + 'name' => 'Password', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the ApsaraDB RDS instances that you want to attach to the scaling group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the ApsaraDB RDS instance that you want to attach to the scaling group.'."\n" - ."\n" - .'> You can attach up to five ApsaraDB RDS instances to a scaling group at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rm-bp12cy3**** '."\n", - ], - 'required' => true, - 'maxItems' => 5, - ], + 'schema' => ['description' => 'The password of the ECS instance. The password must be 8 to 30 characters in length and must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. The following special characters are supported:'."\n" + ."\n" + .'\\`()` ~!@#$%^&*-_+=\\|{}[]:;\'<>,.?/`'."\n" + ."\n" + .'For Windows instances, the password cannot start with a forward slash (/).'."\n" + ."\n" + .'> If you specify the Password parameter, use HTTPS to send the request to avoid password leaks.', 'type' => 'string', 'required' => false, 'example' => '123abc****', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The ID of the resource group to which the ECS instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-resource****', 'title' => ''], ], [ - 'name' => 'AttachMode', + 'name' => 'HpcClusterId', 'in' => 'query', - 'schema' => [ - 'description' => 'The mode in which you want to attach the database to the scaling group. Valid values:'."\n" - ."\n" - .'* SecurityIp: adds the private IP addresses of scaled out ECS instances to the IP address whitelist of the database. Take note that you can choose this mode only when the database that you want to attach is an ApsaraDB RDS instance.'."\n" - .'* SecurityGroup: adds the security group of the scaling configuration based on which ECS instances are created in the scaling group to the security group whitelist of the database for registration.'."\n" - ."\n" - .'Default value: SecurityIp.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SecurityIp', - ], + 'schema' => ['description' => 'The ID of the HPC cluster to which the ECS instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'hpc-clusterid', 'title' => ''], ], [ - 'name' => 'Type', + 'name' => 'InstanceDescription', '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', + 'schema' => ['description' => 'The description of the ECS instance. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Test instance.', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'ForceDetach', + 'name' => 'Ipv6AddressCount', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove the private IP addresses of the existing instances in the scaling group from the IP address whitelist of the ApsaraDB RDS instance. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'The number of randomly generated IPv6 addresses allocated to the elastic network interface (ENI).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'CreditSpecification', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" - ."\n" - .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The running pattern of the burstable instance. Valid values:'."\n" + ."\n" + .'- Standard: standard mode.'."\n" + ."\n" + .'- Unlimited: unlimited mode.'."\n" + ."\n" + .'For more information, see the performance mode section in [Overview of burstable instances](~~59977~~).', 'type' => 'string', 'required' => false, 'example' => 'Standard', 'title' => ''], ], [ - 'name' => 'DBInstances', + 'name' => 'ImageFamily', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the ApsaraDB RDS instances. You can specify up to five ApsaraDB RDS instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of the ApsaraDB RDS instances. You can specify up to five ApsaraDB RDS instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rm-bp12cy3**** '."\n", - ], - 'required' => true, - 'maxItems' => 5, - ], + 'schema' => ['description' => 'The name of the image family. If you set this parameter, the latest available image in the specified image family is used to create instances. If you set `ImageId`, you cannot set this parameter.', 'type' => 'string', 'required' => false, 'example' => 'hangzhou-daily-update', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'ZoneId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The zone ID of the ECS instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-g', 'title' => ''], ], [ - 'name' => 'RemoveSecurityGroup', + 'name' => 'DedicatedHostId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove the security group. This parameter takes effect only if you set `AttachMode` to `SecurityGroup`. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - 'description' => '', - ], + 'schema' => ['description' => 'Specifies whether to create the ECS instance on a dedicated host. Because dedicated hosts do not support the creation of spot instances, the SpotStrategy and SpotPriceLimit settings in the request are automatically ignored when DedicatedHostId is specified.'."\n" + ."\n" + .'You can call DescribeDedicatedHosts to query the list of dedicated host IDs.', 'type' => 'string', 'required' => false, 'example' => 'dh-bp67acfmxazb4p****', 'title' => ''], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'DetachDBInstances', - ], - 'SuspendProcesses' => [ - 'summary' => 'Suspends scaling processes. This operation empowers you to selectively pause distinct scaling processes within a particular scaling group, enabling you to carry out alternative tasks and achieve more granular management over your scaling operations.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125380', - 'abilityTreeNodes' => [ - 'FEATUREess4ZDI6R', + 'name' => 'Affinity', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the instance on a dedicated host is associated with the dedicated host. Valid values:'."\n" + ."\n" + .'- default: the instance is not associated with the dedicated host. When an instance that has the economical mode enabled is restarted, the instance may be placed on another dedicated host in the automatic deployment resource pool if the original dedicated host has insufficient available resources.'."\n" + ."\n" + .'- host: the instance is associated with the dedicated host. When an instance that has the economical mode enabled is restarted, the instance remains on the original dedicated host. If the original dedicated host has insufficient available resources, the instance fails to restart.'."\n" + ."\n" + .'Default value: default.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'Tenancy', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp15oubotmrq11xe****', - ], + 'schema' => ['description' => 'Specifies whether to create the instance on a dedicated host. Valid values:'."\n" + ."\n" + .'- default: creates a non-dedicated host instance.'."\n" + ."\n" + .'- host: creates a dedicated host instance. If you do not specify DedicatedHostId, Alibaba Cloud automatically selects a dedicated host for the instance.'."\n" + ."\n" + .'Default value: default.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'SchedulerOptions', '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****', - ], + 'style' => 'json', + 'schema' => ['description' => 'The scheduler options.', 'type' => 'object', 'required' => false, 'example' => '["testManagedPrivateSpaceId****"]', 'title' => ''], ], [ - 'name' => 'Processes', + 'name' => 'PrivatePoolOptions.MatchCriteria', '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, - ], + 'schema' => ['description' => 'The private pool option for instance startup. After an elasticity assurance or capacity reservation takes effect, a private pool is generated for instances to use at startup. Valid values:'."\n" + ."\n" + .'- Open: open mode. The system automatically matches open private pools. If no matching private pool is available, public pool resources are used. You do not need to set the PrivatePoolOptions.Id parameter in this mode.'."\n" + ."\n" + .'- Target: specified mode. A specified private pool is used to start the instance. If the specified private pool is unavailable, the instance fails to start. In this mode, you must specify the private pool ID, which means the PrivatePoolOptions.Id parameter is required.'."\n" + ."\n" + .'- None: none mode. Private pools are not used for instance startup.', 'type' => 'string', 'required' => false, 'example' => 'Open', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'PrivatePoolOptions.Id', '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' => '', - ], + 'schema' => ['description' => 'The private pool ID, which is the ID of the elasticity assurance or capacity reservation.', 'type' => 'string', 'required' => false, 'example' => 'eap-bp67acfmxazb4****', 'title' => ''], ], - ], - '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', + 'name' => 'SpotDuration', + 'in' => 'query', + 'schema' => ['description' => 'The protection period of the spot instance. Unit: hours. Valid values:'."\n" + ."\n" + .'- 1: After the instance is created, Alibaba Cloud ensures that the instance is not automatically released within 1 hour. After 1 hour, the system automatically compares the bid price with the market price and checks the resource inventory to determine whether to retain automatic release the instance.'."\n" + .'- 0: After the instance is created, Alibaba Cloud does not ensure that the instance runs for 1 hour. The system automatically compares the bid price with the market price and checks the resource inventory to determine whether to retain automatic release the instance.'."\n" + ."\n" + .'> Alibaba Cloud sends an ECS system event notification 5 minutes before the instance is released. Spot instances are billed by second. We recommend that you select an appropriate protection period based on the expected task execution duration.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'SpotInterruptionBehavior', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp15oubotmrq11xe****', - ], + 'schema' => ['description' => 'The interruption mode of the spot instance. Only terminate (default) is supported, which directly releases the instance.', 'type' => 'string', 'required' => false, 'example' => 'Terminate', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'InstanceTypes', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests.'."\n" + 'description' => 'The instance types. If InstanceTypes is specified, InstanceType is ignored.'."\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', + .'If an instance cannot be created based on a higher-priority instance type, Auto Scaling automatically selects the next-priority instance type to create the instance.', + 'type' => 'array', + 'items' => ['description' => 'The instance types. If InstanceTypes is specified, InstanceType is ignored.'."\n" + ."\n" + .'If an instance cannot be created based on a higher-priority instance type, Auto Scaling automatically selects the next-priority instance type to create the instance.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Processes', + 'name' => 'InstanceTypeOverrides', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Details of the processes that you want to resume.'."\n", + 'description' => 'The information about the specified instance types.', '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', + 'description' => 'The information about the specified instance types.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'If you want the scaling group to scale based on the capacity of instance types, specify both this parameter and WeightedCapacity.'."\n" + ."\n" + .'This parameter specifies ECS instance type and overrides ECS instance type in the launch template. You can specify N instance types to extend the launch template to support N instance types. Valid values of N: 1 to 20.'."\n" + ."\n" + .'> This parameter takes effect only when the LaunchTemplateId parameter specifies a launch template.'."\n" + ."\n" + .'Valid values of InstanceType: instance types that are available for purchase.', 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.xlarge', 'title' => ''], + 'WeightedCapacity' => ['description' => 'If you want to specify the capacity of instance types in the scaling configuration, specify this parameter after you specify InstanceTypeOverrides.InstanceType.'."\n" + ."\n" + .'This parameter specifies the weight of the instance type, which represents the capacity of a single instance of this type in the scaling group. A larger weight means fewer instances of this type are required to meet the expected capacity.'."\n" + ."\n" + .'Because instance types differ in the number of vCPUs, memory size, and other performance metrics, you can configure different weights for different instance types based on your requirements.'."\n" + ."\n" + .' Example:'."\n" + ."\n" + .'- Current capacity: 0.'."\n" + .'- Expected number of instances: 6.'."\n" + .'- Capacity of ecs.c5.xlarge: 4.'."\n" + ."\n" + .'To meet the expected capacity, the scaling group scales out 2 ecs.c5.xlarge instances.'."\n" + ."\n" + .'> During scale-out, the capacity of the scaling group cannot exceed the sum of the maximum capacity (MaxSize) and the maximum weight of the instance types.'."\n" + ."\n" + .'Valid values of WeightedCapacity: 1 to 500.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], + ], 'required' => false, - 'example' => 'ScaleIn', + 'title' => '', + 'example' => '', ], - 'required' => true, - 'maxItems' => 100, + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'RegionId', + 'name' => 'DataDisks', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request'."\n", - 'type' => 'string', - 'example' => 'E38EB733-D714-4658-8A5F-0688AB68****', + 'description' => 'The collection of data cloud disk information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of data cloud disk information.', + 'type' => 'object', + 'properties' => [ + 'PerformanceLevel' => ['description' => 'The performance level (PL) of the data cloud disk when the disk is an ESSD. Valid values:'."\n" + ."\n" + .'- PL0: a single disk can deliver up to 10,000 random read/write IOPS.'."\n" + .'- PL1: a single disk can deliver up to 50,000 random read/write IOPS.'."\n" + .'- PL2: a single disk can deliver up to 100,000 random read/write IOPS.'."\n" + .'- PL3: a single disk can deliver up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'> For information about how to select an ESSD performance level, see [ESSDs](~~122389~~).', 'type' => 'string', 'required' => false, 'example' => 'PL0', 'title' => ''], + 'AutoSnapshotPolicyId' => ['description' => 'The ID of the automatic snapshot policy applied to the data cloud disk.', 'type' => 'string', 'required' => false, 'example' => 'sp-bp19nq9enxqkomib****', 'title' => ''], + 'Encrypted' => ['description' => 'Specifies whether to encrypt the data cloud disk. Valid values:'."\n" + ."\n" + .'- true: encrypts the data cloud disk.'."\n" + .'- false: does not encrypt the data cloud disk.'."\n" + ."\n" + .'Default value: false.', 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''], + 'Description' => ['description' => 'The description of the data cloud disk. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Test data disk. '."\n", 'title' => ''], + 'SnapshotId' => ['description' => 'The ID of the snapshot used to create the data cloud disk. If this parameter is specified, DataDisks.Size is ignored, and the size of the created disk is the size of the specified snapshot.'."\n" + ."\n" + .'If the snapshot was created on or before July 15, 2013, the call is rejected and the error message InvalidSnapshot.TooOld is returned.', 'type' => 'string', 'required' => false, 'example' => 's-280s7****', 'title' => ''], + 'Categories' => [ + 'description' => 'The disk types of the data cloud disk. If the disk type with a higher priority cannot be used, Auto Scaling automatically tries the next-priority disk type to create the data cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance property of a basic cloud disk created together with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.'."\n" + .'- cloud_regional_disk_auto: regional ESSD.'."\n" + ."\n" + .'> If you specify this parameter, you cannot specify `DataDisks.Category` at the same time.', + 'type' => 'array', + 'items' => ['description' => 'The disk types of the data cloud disk. If the disk type with a higher priority cannot be used, Auto Scaling automatically tries the next-priority disk type to create the data cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance property of a basic cloud disk created together with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.'."\n" + .'- cloud_regional_disk_auto: regional ESSD.'."\n" + ."\n" + .'> If you specify this parameter, you cannot specify `DataDisks.Category` at the same time.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', + ], + 'Size' => ['description' => 'The size of the data cloud disk. Unit: GiB. Valid values:'."\n" + ."\n" + .'- cloud: 5 to 2000.'."\n" + .'- cloud_efficiency: 20 to 32768.'."\n" + .'- cloud_essd: 20 to 32768.'."\n" + .'- ephemeral_ssd: 5 to 800.'."\n" + ."\n" + .'If this parameter is specified, the disk size must be greater than or equal to the snapshot size (the snapshot is specified by SnapshotId).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'Device' => ['description' => 'The mount point of the data cloud disk. If you do not specify this parameter, the mount point is allocated by the system by default during automatic creation of the ECS instance. The mount points range from /dev/xvdb to /dev/xvdz.', 'type' => 'string', 'required' => false, 'example' => '/dev/xvdb', 'title' => ''], + 'DiskName' => ['description' => 'The name of the data cloud disk. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (_), and hyphens (-). The name must start with a letter or a Chinese character and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssdData', 'title' => ''], + 'Category' => ['description' => 'The category of the data cloud disk. Valid values:'."\n" + ."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance property of a basic cloud disk created together with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.'."\n" + .'- cloud_regional_disk_auto: regional ESSD.'."\n" + ."\n" + .'This parameter cannot be specified together with DataDisk.Categories. If neither this parameter nor DataDisk.Categories is specified, the default value is used:'."\n" + .'- For I/O optimized instances, the default value is cloud_efficiency.'."\n" + .'- For non-I/O optimized instances, the default value is cloud.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssd', 'title' => ''], + 'DeleteWithInstance' => ['description' => 'Specifies whether to release the data cloud disk when the instance is released. Valid values:'."\n" + ."\n" + .'- true: releases the data cloud disk when the instance is released.'."\n" + .'- false: retains the data cloud disk when the instance is released.'."\n" + ."\n" + .'This parameter can be set only for independent cloud disks (DataDisks.Category is set to cloud, cloud_efficiency, cloud_ssd, or cloud_essd). Otherwise, an error is returned.'."\n" + ."\n" + .'Default value: true.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'KMSKeyId' => ['description' => 'The ID of the KMS key for the data cloud disk.', 'type' => 'string', 'required' => false, 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'title' => ''], + 'ProvisionedIops' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metric of the data cloud disk.'."\n" + ."\n" + .'> IOPS (Input/Output Operations Per Second) measures the number of read/write (output/input) operations that block storage can process per second.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100', 'title' => ''], + 'BurstingEnabled' => ['description' => 'Specifies whether to enable the burst (performance burst) feature for the system cloud disk. Valid values:'."\n" + ."\n" + .'- true: enables the feature.'."\n" + .'- false: does not enable the feature. '."\n" + .'> This parameter is supported only when `SystemDisk.Category` is set to `cloud_auto`.'."\n" + ."\n" + .'For more information, see [ESSD AutoPL cloud disks](~~368372~~).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], - '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****', + 'required' => false, + 'maxItems' => 16, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ClientToken', + 'name' => 'SpotPriceLimits', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" - ."\n" - .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', + 'description' => 'The collection of billing information for spot instances.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of billing information for spot instances.', + 'type' => 'object', + 'properties' => [ + 'PriceLimit' => ['description' => 'The bid price for the spot instance. This parameter takes effect when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type of the spot instance. This parameter takes effect when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ForceAttach', + 'name' => 'SecurityGroupIds', 'in' => 'query', + 'style' => 'repeatList', '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" + 'description' => 'The IDs of the security groups to which the ECS instance is added. For more information, see the security group section in [Limits](~~25412~~).'."\n" ."\n" - .'* true'."\n" - .'* false'."\n" + .'> You cannot specify both SecurityGroupId and SecurityGroupIds.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of the security groups to which the ECS instance is added. For more information, see the security group section in [Limits](~~25412~~).'."\n" ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', + .'> You cannot specify both SecurityGroupId and SecurityGroupIds.', 'type' => 'string', 'required' => false, 'example' => 'sg-bp18kz60mefs****', 'title' => ''], 'required' => false, - 'example' => 'false', - 'default' => 'false', + 'maxItems' => 16, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'VServerGroups', + 'name' => 'InstancePatternInfos', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information about the vServer groups.'."\n", + 'description' => 'The collection of intelligent configuration information used to filter instance types that meet the requirements.', 'type' => 'array', 'items' => [ - 'description' => 'Details of the vServer groups.'."\n", + 'description' => 'The collection of intelligent configuration information used to filter instance types that meet the requirements.', 'type' => 'object', 'properties' => [ - 'VServerGroupAttributes' => [ - 'description' => 'The attributes of the vServer group.'."\n", + 'Cores' => ['description' => 'The number of vCPU cores of the instance type in intelligent configuration mode, used to filter instance types that meet the requirements. For more information, see [Instance families](~~25378~~).'."\n" + ."\n" + .'Note the following information:'."\n" + ."\n" + .'- The InstancePatternInfos parameter applies only to scaling groups whose network type is VPC.'."\n" + ."\n" + .'- You must specify both InstancePatternInfos.Cores and InstancePatternInfos.Memory for the InstancePatternInfos parameter.'."\n" + ."\n" + .'- If you have specified instance types by using the InstanceType or InstanceTypes parameter, Auto Scaling preferentially uses the specified instance types for scale-out. If the specified instance types are out of stock, Auto Scaling uses the instance type with the lowest price among the instance types that match the InstancePatternInfos parameter values for scale-out.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'InstanceFamilyLevel' => ['description' => 'The level of the instance family, used to filter instance types that meet the requirements. This parameter takes effect when `CostOptimization` is enabled. Valid values:'."\n" + ."\n" + .'- EntryLevel: entry level, which refers to shared instance types. These instance types are more cost-effective but cannot guarantee stable computing performance. They are suitable for scenarios with low CPU utilization. For more information, see [Shared instance families](~~108489~~).'."\n" + .'- EnterpriseLevel: enterprise level. These instance types provide stable performance and dedicated resources, and are suitable for scenarios that require high stability. For more information, see [Instance families](~~25378~~).'."\n" + .'- CreditEntryLevel: credit-based entry level, which refers to burstable instances. These instance types use CPU credits to ensure computing performance and are suitable for scenarios with low average CPU utilization and occasional bursts. For more information, see [Overview of burstable instances](~~59977~~).', 'type' => 'string', 'required' => false, 'example' => 'EnterpriseLevel', 'title' => ''], + 'MaxPrice' => ['description' => 'The maximum hourly price for pay-as-you-go or spot instances in intelligent configuration mode, used to filter instance types that meet the requirements.'."\n" + ."\n" + .'> This parameter is required when SpotStrategy is set to SpotWithPriceLimit. In other cases, this parameter is optional.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2', 'title' => ''], + 'Memory' => ['description' => 'The memory size of the instance type in intelligent configuration mode. Unit: GiB. This parameter is used to filter instance types that meet the requirements.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'ExcludedInstanceTypes' => [ + 'description' => 'The instance types to exclude. You can use wildcard characters (*) to exclude a single instance type or an entire instance family. Examples:'."\n" + ."\n" + .'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n" + .'- ecs.c6.*: excludes the entire c6 instance family.', 'type' => 'array', - 'items' => [ - 'description' => '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, - ], + 'items' => ['description' => 'The instance types to exclude. You can use wildcard characters (*) to exclude a single instance type or an entire instance family. Examples:'."\n" + ."\n" + .'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n" + .'- ecs.c6.*: excludes the entire c6 instance family.', 'type' => 'string', 'required' => false, 'example' => 'ecs.n1.small/ecs.n1.*/*7*', 'title' => ''], 'required' => false, 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + 'Architectures' => [ + 'description' => 'The architecture types of the instance type. Valid values:'."\n" + ."\n" + .'- X86: X86 computing.'."\n" + .'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n" + .'- BareMental: ECS Bare Metal Instance server.'."\n" + .'- Arm: Arm computing.'."\n" + ."\n" + .'Default value: all architecture types are included.', + 'type' => 'array', + 'items' => ['description' => 'The architecture types of the instance type. Valid values:'."\n" + ."\n" + .'- X86: X86 computing.'."\n" + .'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n" + .'- BareMental: ECS Bare Metal Instance server.'."\n" + .'- Arm: Arm computing.'."\n" + ."\n" + .'Default value: all architecture types are included.', 'type' => 'string', 'required' => false, 'example' => 'X86', 'title' => ''], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', + ], + 'BurstablePerformance' => ['description' => 'Specifies whether to include burstable instance types. Valid values:'."\n" + ."\n" + .'- Exclude: excludes burstable instance types.'."\n" + .'- Include: includes burstable instance types.'."\n" + .'- Required: includes only burstable instance types.'."\n" + ."\n" + .'Default value: Include.', 'type' => 'string', 'required' => false, 'example' => 'Include', 'title' => ''], + 'InstanceTypeFamilies' => [ + 'description' => 'The instance families to query. N indicates that you can specify multiple instance families. Valid values of N: 1 to 10.', + 'type' => 'array', + 'items' => ['description' => 'The instance families to query. N indicates that you can specify multiple instance families. Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', + ], + 'MinimumCpuCoreCount' => ['description' => 'The minimum number of vCPU cores of the instance type.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MaximumCpuCoreCount' => ['description' => 'The maximum number of vCPU cores of the instance type.'."\n" + ."\n" + .'> MaximumCpuCoreCount cannot exceed 4 times the value of MinimumCpuCoreCount.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], + 'GpuSpecs' => [ + 'description' => 'The GPU type.', + 'type' => 'array', + 'items' => ['description' => 'The GPU type.', 'type' => 'string', 'required' => false, 'example' => 'NVIDIA V100', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', + ], + 'InstanceCategories' => [ + 'description' => 'The instance categorization. Valid values:'."\n" + ."\n" + .'> N specifies that you can set multiple instance categories. Valid values of N: 1 to 10.'."\n" + ."\n" + .'- General-purpose: general-purpose'."\n" + .'- Compute-optimized: compute-optimized'."\n" + .'- Memory-optimized: memory-optimized'."\n" + .'- Big data: big data'."\n" + .'- Local SSDs: local SSD'."\n" + .'- High Clock Speed: high frequency'."\n" + .'- Enhanced: enhanced'."\n" + .'- Shared: shared'."\n" + .'- Compute-optimized with GPU: GPU computing'."\n" + .'- Visual Compute-optimized: visual compute-optimized'."\n" + .'- Heterogeneous Service: heterogeneous service'."\n" + .'- Compute-optimized with FPGA: FPGA-accelerated compute-optimized'."\n" + .'- Compute-optimized with NPU: NPU-accelerated compute-optimized'."\n" + .'- ECS Bare Metal: Elastic Compute Service Bare Metal server'."\n" + .'- High Performance Compute: high-performance computing (HPC)', + 'type' => 'array', + 'items' => ['description' => 'The instance categorization. Valid values:'."\n" + ."\n" + .'> N specifies that you can set multiple instance type categories. Valid values of N: 1 to 10.'."\n" + ."\n" + .'- General-purpose: general-purpose'."\n" + .'- Compute-optimized: compute-optimized'."\n" + .'- Memory-optimized: memory-optimized'."\n" + .'- Big data: big data'."\n" + .'- Local SSDs: local SSD'."\n" + .'- High Clock Speed: high frequency'."\n" + .'- Enhanced: enhanced'."\n" + .'- Shared: shared'."\n" + .'- Compute-optimized with GPU: GPU computing'."\n" + .'- Visual Compute-optimized: visual compute-optimized'."\n" + .'- Heterogeneous Service: heterogeneous service'."\n" + .'- Compute-optimized with FPGA: FPGA-accelerated compute-optimized'."\n" + .'- Compute-optimized with NPU: NPU-accelerated compute-optimized'."\n" + .'- ECS Bare Metal: Elastic Compute Service Bare Metal server'."\n" + .'- High Performance Compute: high-performance computing (HPC)', 'type' => 'string', 'required' => false, 'example' => 'Compute-optimized with GPU', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', ], - 'LoadBalancerId' => [ - 'description' => 'The ID of the CLB instance to which the new vServer group belongs.'."\n", - 'type' => 'string', + 'CpuArchitectures' => [ + 'description' => 'The CPU architectures of the instance. Valid values:'."\n" + ."\n" + .'> N indicates that you can specify multiple CPU architectures. Valid values of N: 1 to 2.'."\n" + ."\n" + .'- X86.'."\n" + .'- ARM.', + 'type' => 'array', + 'items' => ['description' => 'The CPU architectures of the instance. Valid values:'."\n" + ."\n" + .'> N indicates that you can specify multiple CPU architectures. Valid values of N: 1 to 2.'."\n" + ."\n" + .'- X86.'."\n" + .'- ARM.', 'type' => 'string', 'required' => false, 'example' => 'X86', 'title' => ''], 'required' => false, - 'example' => 'rsp-bp1jp1rge**** '."\n", + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', ], + 'PhysicalProcessorModels' => [ + 'description' => 'The processor models of the instance. N indicates that you can specify multiple processor models. Valid values of N: 1 to 10.'."\n" + .'[_single.params', + 'type' => 'array', + 'items' => ['description' => 'The processor models of the instance. N indicates that you can specify multiple processor models. Valid values of N: 1 to 10.'."\n" + .'[_single.params', 'type' => 'string', 'required' => false, 'example' => 'Intel Xeon(Ice Lake) Platinum 8369B', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', + ], + 'MinimumEniQuantity' => ['description' => 'The minimum number of elastic network interfaces (ENIs) that can be attached to an instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MinimumEniPrivateIpAddressQuantity' => ['description' => 'The minimum number of IPv4 addresses that can be assigned to a single elastic network interface (ENI) of an instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MinimumEniIpv6AddressQuantity' => ['description' => 'The minimum number of IPv6 addresses that can be assigned to a single elastic network interface (ENI) of an instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'MinimumInitialCredit' => ['description' => 'The minimum initial vCPU credits for burstable instances (t5 and t6).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12', 'title' => ''], + 'MinimumBaselineCredit' => ['description' => 'The minimum baseline vCPU computing performance of burstable instances (t5 and t6), which is the sum of all vCPUs.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12', 'title' => ''], + 'MinimumMemorySize' => ['description' => 'The minimum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'MaximumMemorySize' => ['description' => 'The maximum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'MinimumGpuAmount' => ['description' => 'The minimum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MaximumGpuAmount' => ['description' => 'The maximum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], - 'required' => true, - 'maxItems' => 100, + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'SystemDiskCategories', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - 'description' => '', + 'description' => 'The multiple disk types for the system cloud disk. If the disk type with a higher priority is unavailable, Auto Scaling automatically tries the disk type with the next priority to create the system cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: Enterprise SSD (ESSD).'."\n" + ."\n" + .'> If you specify this parameter, you cannot specify `SystemDisk.Category` at the same time.', + 'type' => 'array', + 'items' => ['description' => 'The multiple disk types for the system cloud disk. If the disk type with a higher priority is unavailable, Auto Scaling automatically tries the disk type with the next priority to create the system cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: Enterprise SSD (ESSD).'."\n" + ."\n" + .'> If you specify this parameter, you cannot specify `SystemDisk.Category` at the same time.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], - ], - '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' => [], + 'name' => 'SystemDisk.Encrypted', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to encrypt the system cloud disk. Valid values:'."\n" + ."\n" + .'- true: Encrypted.'."\n" + .'- false: Not encrypted.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125323', - 'abilityTreeNodes' => [ - 'FEATUREessJZ6DNF', + [ + 'name' => 'SystemDisk.KMSKeyId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the KMS key used for the system cloud disk.', 'type' => 'string', 'required' => false, 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'SystemDisk.EncryptAlgorithm', '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', - ], + 'schema' => ['description' => 'The encryption algorithm used for the system cloud disk. Valid values:'."\n" + ."\n" + .'- AES-256'."\n" + .'- SM4-128'."\n" + ."\n" + .'Default value: AES-256.', 'type' => 'string', 'required' => false, 'example' => 'AES-256', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'SystemDisk.ProvisionedIops', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1fo0dbtsbmqa9h****', - ], + 'schema' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metrics for the system cloud disk.'."\n" + ."\n" + .'> IOPS (Input/Output Operations Per Second) measures the number of read and write (output/input) operations that block storage can process per second.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'SystemDisk.BurstingEnabled', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" - ."\n" - .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'Specifies whether to enable the Burst (performance burst) feature for the system cloud disk. Valid values:'."\n" + ."\n" + .'- true: Enabled.'."\n" + .'- false: Not enabled.'."\n" + .'> This parameter is supported only when `SystemDisk.Category` is set to `cloud_auto`.'."\n" + ."\n" + .'For more information, see [ESSD AutoPL cloud disks](~~368372~~).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'ForceDetach', + 'name' => 'ImageOptions.LoginAsNonRoot', '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', - ], + 'schema' => ['description' => 'Specifies whether the ECS instance uses the ecs-user account for logon. For more information, see [Manage the logon name of an ECS instance](~~388447~~). Valid values:'."\n" + ."\n" + .'- true: Yes.'."\n" + ."\n" + .'- false: No.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'VServerGroups', + 'name' => 'DeletionProtection', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable release protection for the instance. This parameter specifies whether the instance can be directly released from the ECS console or by calling the DeleteInstance operation, which prevents the instance from being accidentally deleted. Valid values:'."\n" + ."\n" + .'- true: Enables release protection. The instance cannot be directly released from the ECS console or by calling the DeleteInstance operation.'."\n" + ."\n" + .'- false: Disables release protection. The instance can be directly released from the ECS console or by calling the DeleteInstance operation.'."\n" + ."\n" + .'Default value: false.'."\n" + .'> This property applies only to pay-as-you-go instances. It prevents instances created by Auto Scaling scale-out activities from being accidentally deleted, but does not affect normal scale-in activities. Instances with release protection enabled can still be released by scale-in activities.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'StorageSetId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the dedicated block storage cluster.', 'type' => 'string', 'required' => false, 'example' => 'ss-bp67acfmxazb4p****', 'title' => ''], + ], + [ + 'name' => 'StorageSetPartitionNumber', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of partitions in the dedicated block storage cluster. Valid values: greater than or equal to 2.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'CustomPriorities', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The collection of information about the vServer groups marked for detachment.'."\n", + 'description' => 'The custom priorities for ECS instance type and vSwitch combinations.'."\n" + .'>This parameter takes effect only when the scaling policy of the scaling group is set to priority-based policy.>'."\n" + ."\n" + .'If an instance cannot be created based on the instance type and vSwitch combination with a higher priority, Auto Scaling automatically selects the combination with the next priority to create the instance.'."\n" + ."\n" + .'> If you specify custom priorities for only some instance type and vSwitch combinations, the unspecified combinations have lower priorities than the specified ones. The unspecified combinations are still prioritized based on the vSwitch order of the scaling group and the instance type order of the scaling configuration.'."\n" + .'> - For example, if the vSwitch order of the scaling group is vsw1 and vsw2, the instance type order of the scaling configuration is type1 and type2, and the custom priority order is ["vsw2+type2", "vsw1+type2"], the final priority is: "vsw2+type2" > "vsw1+type2" > "vsw1+type1" > "vsw2+type1".', 'type' => 'array', 'items' => [ - '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****', - ], + 'InstanceType' => ['description' => 'The instance type of the ECS instance.'."\n" + ."\n" + .'>The instance type must be included in the instance type list of the scaling configuration.>', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], + 'VswitchId' => ['description' => 'The ID of the vSwitch.'."\n" + ."\n" + .'>The vSwitch must be included in the vSwitch list of the scaling group.>', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp14zolna43z266bq****', 'title' => ''], ], 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', ], - 'required' => true, + 'required' => false, 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'NetworkInterfaces', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + 'description' => 'The list of elastic network interfaces (ENIs).', + 'type' => 'array', + 'items' => [ + 'description' => 'The elastic network interface (ENI).', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The type of the elastic network interface (ENI). If you use this parameter, you must use NetworkInterfaces to set the primary network interface controller (NIC). You cannot set SecurityGroupId or SecurityGroupIds at the same time. Valid values:'."\n" + ."\n" + .'- Primary: primary NIC.'."\n" + ."\n" + .'- Secondary: secondary NIC.'."\n" + ."\n" + .'Default value: Secondary.', 'type' => 'string', 'required' => false, 'example' => 'Primary', 'title' => ''], + 'NetworkInterfaceTrafficMode' => ['description' => 'The communication mode of the network interface controller (NIC). Valid values:'."\n" + ."\n" + .'- Standard: uses the TCP communication mode.'."\n" + .'- HighPerformance: enables the Elastic RDMA Interface (ERI) and uses the RDMA communication mode.'."\n" + ."\n" + .'Default value: Standard.'."\n" + ."\n" + .'> The number of elastic network interfaces (ENIs) in RDMA mode cannot exceed the limit of the instance family. For more information, see [Instance families](~~25378~~).', 'type' => 'string', 'required' => false, 'example' => 'HighPerformance', 'title' => ''], + 'Ipv6AddressCount' => ['description' => 'The number of randomly generated IPv6 addresses for the primary ENI.'."\n" + .'Note:'."\n" + ."\n" + .'- This parameter takes effect only when NetworkInterface.InstanceType is set to Primary. If NetworkInterface.InstanceType is set to Secondary or left empty, you cannot specify this parameter.'."\n" + ."\n" + .'- After you specify this parameter, you cannot specify Ipv6AddressCount.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'SecurityGroupIds' => [ + 'description' => 'The IDs of one or more security groups to which the elastic network interface (ENI) belongs.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of one or more security groups to which the elastic network interface (ENI) belongs.'."\n" + .'Note:'."\n" + ."\n" + .'- If NetworkInterface.InstanceType is set to Primary, you must set this parameter. In this case, this parameter has the same effect as SecurityGroupIds, but you cannot set SecurityGroupId or SecurityGroupIds again.'."\n" + ."\n" + .'- If NetworkInterface.InstanceType is set to Secondary or left empty, this parameter is optional. The default value is the security group of the ECS instance, which is the security group of the primary network interface controller (NIC).', 'type' => 'string', 'required' => false, 'example' => 'sg-uf6ij8dwxxxxxx', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + 'SecondaryPrivateIpAddressCount' => ['description' => 'The number of secondary private IPv4 addresses to assign to the ENI. Valid values: 1 to 49.'."\n" + ."\n" + .'- The value cannot exceed the limit on the number of IP addresses for the instance type. For more information, see [Instance families](https://www.alibabacloud.com/help/en/ecs/user-guide/overview-of-instance-families).'."\n" + ."\n" + .'- NetworkInterface.N.SecondaryPrivateIpAddressCount specifies the number of secondary private IPv4 addresses to assign to the ENI (excluding the primary private IP address of the ENI). The system randomly assigns IP addresses from the available CIDR block of the vSwitch (NetworkInterface.N.VSwitchId) to which the ENI belongs.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '6', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'description' => '', + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], - ], - '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', + 'name' => 'DedicatedHostClusterId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the dedicated host cluster.', 'type' => 'string', 'required' => false, 'example' => 'dc-2zedxc67zqzt7lb4****', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'SecurityOptions', 'in' => 'query', + 'style' => 'flat', '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', + 'description' => 'The security options.', + 'type' => 'object', + 'properties' => [ + 'ConfidentialComputingMode' => ['description' => 'The confidential computing pattern. Valid values:'."\n" + .'- Enclave: indicates that the ECS instance uses Enclave to build a confidential computing environment. For more information, see [Build a confidential computing environment by using Enclave](~~203433~~).'."\n" + .'- TDX: indicates that a TDX confidential computing environment is built. For more information, see [Build a TDX confidential computing environment](~~479090~~).', 'type' => 'string', 'required' => false, 'example' => 'TDX', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'HttpEndpoint', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'Specifies whether to enable the access channel for instance metadata. Valid values:'."\n" + .'- enabled: Enabled.'."\n" + .'- disabled: Disabled.'."\n" + ."\n" + .'Default value: enabled.'."\n" + ."\n" + .'> For information about instance metadata, see [Overview of instance metadata](~~108460~~).', 'type' => 'string', 'required' => false, 'example' => 'enabled', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'HttpTokens', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" - ."\n" - .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'Specifies whether to forcefully use the security-hardened mode (IMDSv2) when accessing instance metadata. Valid values:'."\n" + ."\n" + .'- optional: Does not forcefully use.'."\n" + .'- required: Forcefully uses. After this value is set, instance metadata cannot be accessed in normal mode.'."\n" + ."\n" + .'Default value: optional.'."\n" + ."\n" + .'> For information about instance metadata access modes, see [Instance metadata access modes](~~108460~~).', 'type' => 'string', 'required' => false, 'example' => 'optional', 'title' => ''], ], [ - 'name' => 'ForceAttach', + 'name' => 'ResourcePoolOptions', 'in' => 'query', + 'style' => 'flat', '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" + 'description' => 'The resource pool policy used when creating instances. After you specify this parameter, note the following items:'."\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" + .'- This parameter takes effect only when pay-as-you-go instances are created.'."\n" ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', + .'- This parameter cannot be specified together with PrivatePoolOptions.MatchCriteria or PrivatePoolOptions.Id.', + 'type' => 'object', + 'properties' => [ + 'Strategy' => ['description' => 'The resource pool includes private pools generated after the elasticity assurance or capacity reservation takes effect, and public pools, which are available for instance startup. Valid values:'."\n" + ."\n" + .'- PrivatePoolFirst: private pool first. If ResourcePoolOptions.PrivatePoolIds is specified or PrivatePoolTags conditions are met, the corresponding private pool is used first. If no private pool is specified or the specified private pool has insufficient capacity, open-type private pools are automatically matched. If no matching private pool is available, the public pool is used to create instances.'."\n" + ."\n" + .'- PrivatePoolOnly: private pool only. You must specify ResourcePoolOptions.PrivatePoolIds. If the specified private pool has insufficient capacity, the instance fails to start.'."\n" + ."\n" + .'- PublicPoolFirst: public pool first. The public pool is used first to create instances. If the public pool has insufficient resources, private pool resources are used as a supplement. Open-type private pools are automatically matched first. If no matching private pool is available, the Target-type private pools specified by ResourcePoolOptions.PrivatePoolIds or matching PrivatePoolTags conditions are used. (This policy is in invitational preview and is not available for use.)'."\n" + ."\n" + .'- None: does not use a resource pool policy.'."\n" + ."\n" + .'Default value: None.', 'type' => 'string', 'required' => false, 'example' => 'PrivatePoolFirst', 'title' => ''], + 'PrivatePoolIds' => [ + 'description' => 'The private pool IDs, which are the elasticity assurance IDs or capacity reservation IDs. Only Target-type private pool IDs can be specified. This parameter cannot be specified together with the PrivatePoolTags parameter.', + 'type' => 'array', + 'items' => ['description' => 'The private pool ID, which is the elasticity assurance ID or capacity reservation ID. Only Target-type private pool IDs can be specified. This parameter cannot be specified together with the PrivatePoolTags parameter. Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'eap-bp67acfmxazb4****', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'PrivatePoolTags' => [ + 'description' => 'Filters available Target private pools by tags. Valid values of N: 1 to 20.'."\n" + .'Note:'."\n" + .'- When this parameter is specified, the system filters only the associated Target private pools under the account that match the tags and satisfy the scaling group constraints (such as zone and instance type).'."\n" + .'- Tag matching rule: a private pool must match all specified tags.'."\n" + .'- This parameter cannot be specified together with the PrivatePoolIds parameter.', + 'type' => 'array', + 'items' => [ + 'description' => 'Filters available Target private pools by tags. Valid values of N: 1 to 20.'."\n" + .'Note:'."\n" + .'- When this parameter is specified, the system filters only the associated Target private pools under the account that match the tags and satisfy the scaling group constraints (such as zone and instance type).'."\n" + .'- Tag matching rule: a private pool must match all specified tags.'."\n" + .'- This parameter cannot be specified together with the PrivatePoolIds parameter.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the private pool.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], + 'Value' => ['description' => 'The tag value of the private pool.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], 'required' => false, - 'example' => 'false', - 'default' => 'false', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'AlbServerGroups', + 'name' => 'InstanceTypeCandidateOptions', 'in' => 'query', - 'style' => 'repeatList', + 'style' => 'flat', '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', - ], + 'description' => 'After the alternative mode is enabled, when issues such as insufficient inventory occur, the system supplements similar instance types of the same size based on the currently selected instance types, or creates vSwitches in alternative zones and adds them to the scaling group.', + 'type' => 'object', + 'properties' => [ + 'Enabled' => ['description' => 'Specifies whether to enable the alternative mode.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'MaxPrice' => ['description' => 'The maximum price for alternative instance types.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2.10', 'title' => ''], + 'AllowDifferentGeneration' => ['description' => 'Specifies whether to allow supplementing instance types of other generations.'."\n" + ."\n" + .'- For example, if the current instance type is ecs.c7.large, enabling this option allows alternative instance types such as ecs.c6.large and ecs.c8.large.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'AllowCrossAz' => ['description' => 'Specifies whether to allow supplementing vSwitches in other zones.'."\n" + .'> The instance type remains unchanged. Only new zones are used as alternatives. When all selected zones of the scaling group cannot be used for scale-out due to issues such as insufficient inventory, the system automatically adds a new vSwitch in a new zone to the scaling group based on this configuration.'."\n" + .'> For example, if the scaling group is configured with the cn-hangzhou-h and cn-hangzhou-g zones, and neither zone can be used for scale-out, Auto Scaling may create a vSwitch in cn-hangzhou-k based on real-time inventory and add it to the scaling group.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'AllowCidrBlocks' => [ + 'description' => 'The CIDR blocks for vSwitches that can be supplemented in other zones.', + 'type' => 'array', + 'items' => ['description' => 'The vSwitch CIDR block must meet the following requirements:'."\n" + ."\n" + .'- The mask length of the vSwitch CIDR block must be 16 to 29 bits.'."\n" + .'- The vSwitch CIDR block must be a subset of the CIDR block of the VPC to which the vSwitch belongs.'."\n" + .'- The vSwitch CIDR block cannot be the same as the destination CIDR block of a route entry in the VPC, but can be a subset of the destination CIDR block.'."\n" + .'- The vSwitch CIDR block cannot be 100.64.0.0/10 or its subnets.', 'type' => 'string', 'required' => false, 'example' => '172.16.0.0/24', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'required' => false, ], - 'required' => true, - 'maxItems' => 100, + 'required' => false, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The information about the created scaling configuration.', '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****', - ], + 'ScalingConfigurationId' => ['description' => 'The ID of the scaling configuration.', 'type' => 'string', 'example' => 'asc-bp1ffogfdauy0nu5****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], - 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - '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', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingConfigurationId\\": \\"asc-bp1ffogfdauy0nu5****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'gatewayOptions' => [ + 'gatewayProtocols' => [], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'Create an eCS-type scaling configuration', + 'description' => 'A scaling configuration specifies the ECS instance template used for elastic scale-out. The following instance configuration methods are supported:'."\n" + ."\n" + .'- InstancePatternInfos: intelligent configuration mode. You do not need to specify specific instance types. Instead, you specify the number of vCPU cores, memory size, instance family level, and maximum price based on your business requirements. The system automatically filters instance types that meet the requirements and preferentially selects the instance type with the lowest price to create ECS instances. This mode applies only to scaling groups whose network type is VPC and can effectively reduce the risk of insufficient inventory of instance types during scale-out.'."\n" + ."\n" + .'- InstanceType: specifies a single instance type.'."\n" + ."\n" + .'- InstanceTypes: specifies multiple instance types.'."\n" + ."\n" + .'- InstanceTypeOverrides: specifies multiple instance types and configures weights for different instance types.'."\n" + ."\n" + .'- Cpu and Memory: specifies the range of instance types by defining CPU and memory. Auto Scaling determines the set of available instance types based on factors such as I/O optimization and zone, and creates instances with the lowest price sorted by price. This method applies only when the scaling policy of the scaling group is cost optimization and no instance type is specified in the scaling configuration.'."\n" + ."\n" + .'- You can bind a primary network interface card (NIC) by using either of the following methods. However, you can use only one method in a single request. If you use both methods, the call fails and an error message is returned.'."\n" + .' - Use parameters such as SecurityGroupId, SecurityGroupIds, and Ipv6AddressCount to directly configure the primary NIC.'."\n" + .' - Use NetworkInterfaces to configure both the primary NIC and secondary NICs. When you use the NetworkInterface parameter, you must configure the primary NIC. If NetworkInterface.InstanceType is set to Primary, the primary NIC is configured. If NetworkInterface.InstanceType is set to Secondary or left empty, a secondary NIC is configured.'."\n" + ."\n" + .'> The four methods InstanceType, InstanceTypes, InstanceTypeOverrides, and Cpu and Memory cannot be specified at the same time. However, InstanceType or InstanceTypes can be specified together with InstancePatternInfos. When specified together with InstancePatternInfos, Auto Scaling preferentially uses the instance types you specified for scale-out. If the specified instance types are out of stock, instance types that match the InstancePatternInfos configuration are used.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateScalingConfiguration', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'CreateScalingGroup' => [ + 'summary' => 'Call the `CreateScalingGroup` API to create a scaling group. The group automatically adjusts your computing capacity (the number of instances) by scaling instances of a specified type in or out based on your business requirements and scaling policies.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125336', - 'abilityTreeNodes' => [ - 'FEATUREessJZ6DNF', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125385', + 'abilityTreeNodes' => ['FEATUREessGIWHSQ'], ], 'parameters' => [ + [ + 'name' => 'ScalingGroupName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the scaling group. The name must be unique within a region.'."\n" + ."\n" + .'The name must be 2 to 64 characters in length. It must start with a letter, a digit, or a Chinese character and can contain digits, underscores (\\_), hyphens (-), and periods (.).'."\n" + ."\n" + .'If you do not specify this parameter, the value of `ScalingGroupId` is used.', 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], + ], + [ + 'name' => 'LaunchTemplateId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the launch template that provides the configuration for the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'lt-m5e3ofjr1zn1aw7**** ', 'title' => ''], + ], + [ + 'name' => 'LaunchTemplateVersion', + 'in' => 'query', + 'schema' => ['description' => 'The version of the launch template. Valid values:'."\n" + ."\n" + .'- A specific version number of the template.'."\n" + ."\n" + .'- `Default`: Uses the default version of the template.'."\n" + ."\n" + .'- `Latest`: Uses the latest version of the template.', 'type' => 'string', 'required' => false, 'example' => 'Default', 'title' => ''], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of an existing instance to use as a template. Auto Scaling uses this instance to create a new scaling configuration for the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****', 'title' => ''], + ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group. Examples: cn-hangzhou and cn-shanghai.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region where the scaling group resides.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'MinSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The minimum number of instances in the scaling group. If the total number of instances falls below this value, Auto Scaling adds instances to meet this minimum.'."\n" + ."\n" + .'> The value of `MinSize` must be less than or equal to the value of `MaxSize`.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '2', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'MaxSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests.'."\n" - ."\n" - .'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure the idempotence of a request](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The maximum number of instances in the scaling group. If the total number of instances exceeds this value, Auto Scaling removes instances to meet this maximum.'."\n" + ."\n" + .''."\n" + ."\n" + .'The value range of `MaxSize` depends on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota for **Maximum number of instances per scaling group**.'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + ."\n" + .'The value range of `MaxSize` depends on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota for **Maximum number of instances per scaling group**.'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + ."\n" + .'The value range of `MaxSize` depends on your Auto Scaling usage. Go to Quota Center to view the quota for **Maximum number of instances per scaling group**.'."\n" + ."\n" + .''."\n" + ."\n" + .'If the quota for **Maximum number of instances per scaling group** is 2,000, the value of `MaxSize` can range from 0 to 2,000.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '20', 'title' => ''], ], [ - 'name' => 'ForceDetach', + 'name' => 'DefaultCooldown', + 'in' => 'query', + 'schema' => ['description' => 'The cooldown period, in seconds, after a scaling activity completes. Valid values: 0 to 86400.'."\n" + ."\n" + .'During the cooldown period, the scaling group does not execute other scaling activities that are triggered by CloudMonitor alarm tasks.'."\n" + ."\n" + .'Default value: 300.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'title' => ''], + ], + [ + 'name' => 'LoadBalancerIds', + 'in' => 'query', + 'schema' => ['description' => 'A JSON array of Classic Load Balancer (CLB) instance IDs.'."\n" + ."\n" + .''."\n" + ."\n" + .'The number of CLB instances that you can associate with a single scaling group varies based on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota for **Maximum number of load balancer instances that can be associated with a single scaling group**.'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + ."\n" + .'The number of CLB instances that you can associate with a single scaling group varies based on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota for **Maximum number of load balancer instances that can be associated with a single scaling group**.'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + ."\n" + .'The number of CLB instances that you can associate with a single scaling group varies based on your Auto Scaling usage. Go to Quota Center to view the quota for **Maximum number of load balancer instances that can be associated with a single scaling group**.'."\n" + ."\n" + .'', 'type' => 'string', 'required' => false, 'example' => '["lb-bp1u7etiogg38yvwz****", "lb-bp168cqrux9ai9l7f****", "lb-bp1jv3m9zvj22ufxp****"]', 'title' => ''], + ], + [ + 'name' => 'DBInstanceIds', + 'in' => 'query', + 'schema' => ['description' => 'A JSON array of RDS instance IDs.'."\n" + ."\n" + .''."\n" + ."\n" + .'The number of RDS instances that you can associate with a single scaling group varies based on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota for **Maximum number of RDS instances that can be associated with a single scaling group**.'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + ."\n" + .'The number of RDS instances that you can associate with a single scaling group varies based on your Auto Scaling usage. Go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to view the quota for **Maximum number of RDS instances that can be associated with a single scaling group**.'."\n" + ."\n" + .''."\n" + ."\n" + .''."\n" + ."\n" + .'The number of RDS instances that you can associate with a single scaling group varies based on your Auto Scaling usage. Go to Quota Center to view the quota for **Maximum number of RDS instances that can be associated with a single scaling group**.'."\n" + ."\n" + .'', 'type' => 'string', 'required' => false, 'example' => '["rm-bp142f86de0t7****", "rm-bp18l1z42ar4o****", "rm-bp1lqr97h4aqk****"]', 'title' => ''], + ], + [ + 'name' => 'RemovalPolicies', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '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" + 'description' => 'The instance removal policies. Valid values:'."\n" + ."\n" + .'- `OldestInstance`: Removes the ECS instance that was first added to the scaling group.'."\n" + ."\n" + .'- `NewestInstance`: Removes the ECS instance that was most recently added to the scaling group.'."\n" + ."\n" + .'- `OldestScalingConfiguration`: Removes the ECS instance that was created based on the earliest scaling configuration.'."\n" ."\n" - .'* 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" + .'- `CustomPolicy`: Removes ECS instances based on a custom scale-in policy defined by a function.'."\n" ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', + .'The term `scaling configuration` in `OldestScalingConfiguration` refers to the source of instance configuration information, which includes both scaling configurations and launch templates. `CustomPolicy` can only be set as the first removal policy. If you specify `CustomPolicy`, you must also specify the `CustomPolicyARN` parameter.'."\n" + ."\n" + .'> The removal of instances is also affected by the scaling group\'s multi-AZ policy (`MultiAZPolicy`). For more information, see [Configure a combination of removal policies](~~254822~~).', + 'type' => 'array', + 'items' => ['description' => 'The instance removal policies. Valid values:'."\n" + ."\n" + .'- `OldestInstance`: Removes the ECS instance that was first added to the scaling group.'."\n" + ."\n" + .'- `NewestInstance`: Removes the ECS instance that was most recently added to the scaling group.'."\n" + ."\n" + .'- `OldestScalingConfiguration`: Removes the ECS instance that was created based on the earliest scaling configuration.'."\n" + ."\n" + .'- `CustomPolicy`: Removes ECS instances based on a custom scale-in policy defined by a function.'."\n" + ."\n" + .'The term `scaling configuration` in `OldestScalingConfiguration` refers to the source of instance configuration information, which includes both scaling configurations and launch templates. `CustomPolicy` can only be set as the first removal policy. If you specify `CustomPolicy`, you must also specify the `CustomPolicyARN` parameter.'."\n" + ."\n" + .'> The removal of instances is also affected by the scaling group\'s multi-AZ policy (`MultiAZPolicy`). For more information, see [Configure a combination of removal policies](~~254822~~).', 'type' => 'string', 'required' => false, 'example' => 'OldestScalingConfiguration', 'title' => ''], 'required' => false, - 'example' => 'false', - 'default' => 'false', + 'maxItems' => 2, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'AlbServerGroups', + 'name' => 'VSwitchId', '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, - ], + 'schema' => ['description' => 'The ID of the vSwitch. If you specify this parameter, the network type of the scaling group is Virtual Private Cloud (VPC).'."\n" + ."\n" + .'> If you do not specify the `VSwitchId` or `VSwitchIds` parameter, the network type of the scaling group defaults to classic network.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp14zolna43z266bq****', 'title' => ''], ], - ], - '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' => '', - ], + [ + 'name' => 'MultiAZPolicy', + 'in' => 'query', + 'schema' => ['description' => 'The scaling policy for ECS instances in a multi-zone scaling group. Valid values:'."\n" + ."\n" + .'- `PRIORITY`: Auto Scaling prioritizes the vSwitches specified in `VSwitchIds`. If an operation fails in a higher-priority availability zone, Auto Scaling automatically attempts it in the next-highest-priority zone.'."\n" + ."\n" + .'- `COST_OPTIMIZED`: During scale-out, creates instances from the instance types with the lowest vCPU unit price. During scale-in, removes instances from the instance types with the highest vCPU unit price. If the scaling configuration includes multiple spot instance types, spot instances are prioritized for creation. You can use the `CompensateWithOnDemand` parameter to specify whether to automatically create on-demand instances when spot instances cannot be created due to reasons such as insufficient inventory.'."\n" + ."\n" + .' > The `COST_OPTIMIZED` policy takes effect only when the scaling configuration specifies multiple instance types or includes spot instances.'."\n" + ."\n" + .'- `BALANCE`: Distributes ECS instances evenly across the specified availability zones in the scaling group. If the distribution of instances becomes uneven due to insufficient inventory, you can call the [RebalanceInstance](~~71516~~) API operation to rebalance the instances.'."\n" + ."\n" + .' > If `MultiAZPolicy` is set to `BALANCE`, the effect is the same as setting `MultiAZPolicy` to `COMPOSABLE` and `AzBalance` to `true`.'."\n" + ."\n" + .'- `COMPOSABLE`: A composite policy that allows you to combine the preceding policies for multi-zone scaling groups as needed. You can also specify additional parameters to gain finer control over the capacity of your scaling group.'."\n" + ."\n" + .'Default value: `PRIORITY`.', 'type' => 'string', 'required' => false, 'example' => 'PRIORITY', 'title' => ''], ], - ], - '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' => [], + 'name' => 'HealthCheckType', + 'in' => 'query', + 'schema' => ['description' => 'The health check method for the scaling group. Valid values:'."\n" + ."\n" + .'- `NONE`: No health checks are performed.'."\n" + ."\n" + .'- `ECS`: Health checks are performed on instances in the scaling group. This value enables health checks for scaling groups of both the ECS and ECI types.'."\n" + ."\n" + .'- `LOAD_BALANCER`: The instance health status is based on health check results from the attached load balancer. This option does not support Classic Load Balancer (CLB) instances.'."\n" + ."\n" + .'Default value: `ECS`.'."\n" + ."\n" + .'> To enable both instance health checks and load balancer health checks, use the `HealthCheckTypes` parameter.', 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '166342', - 'abilityTreeNodes' => [ - 'FEATUREess2GK585', + [ + 'name' => 'ScalingPolicy', + 'in' => 'query', + 'schema' => ['description' => 'The reclamation mode of the scaling group. Valid values:'."\n" + ."\n" + .'- `recycle`: The reclamation mode is Economical Mode.'."\n" + ."\n" + .'- `release`: The reclamation mode is Release Mode.'."\n" + ."\n" + .'- `forcerelease`: The reclamation mode is Force Release Mode.'."\n" + ."\n" + .' > A forced release is equivalent to a power-off operation, which erases data in the memory and ephemeral storage of the instances. This data cannot be recovered. Use this option with caution.'."\n" + ."\n" + .'- `forcerecycle`: The reclamation mode is Force Economical Mode.'."\n" + ."\n" + .' > A forced stop is equivalent to a power-off operation, which erases data in the memory and ephemeral storage of the instances. This data cannot be recovered. Use this option with caution.'."\n" + ."\n" + .'`ScalingPolicy` specifies the reclamation mode of the scaling group. The specific action taken when an instance is removed from the scaling group is determined by the `RemovePolicy` parameter of the `RemoveInstances` operation. For more information, see [RemoveInstances](~~25955~~).', 'type' => 'string', 'required' => false, 'example' => 'recycle', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'A client-generated token to ensure the idempotence of the request.'."\n" + ."\n" + .'The token must be unique across requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'OnDemandBaseCapacity', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp1fo0dbtsbmqa9h****', - ], + 'schema' => ['description' => 'The minimum number of on-demand instances required in the scaling group. Valid values: 0 to 1,000. If the number of on-demand instances is less than this value, Auto Scaling preferentially creates on-demand instances.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'OnDemandPercentageAboveBaseCapacity', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" - ."\n" - .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The percentage of on-demand instances among the excess instances after the minimum number of on-demand instances (`OnDemandBaseCapacity`) is met. Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], ], [ - 'name' => 'ForceAttach', + 'name' => 'SpotInstanceRemedy', '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', - ], + 'schema' => ['description' => 'If set to `true`, Auto Scaling attempts to create a new instance to replace a spot instance that is about to be reclaimed.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'ServerGroups', + 'name' => 'CompensateWithOnDemand', '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, - ], + 'schema' => ['description' => 'This parameter is effective only when `MultiAZPolicy` is set to `COST_OPTIMIZED`. If `true`, Auto Scaling creates on-demand instances to meet capacity requirements when spot instances are unavailable due to price or inventory. Valid values:'."\n" + ."\n" + .'- `true`: Yes.'."\n" + ."\n" + .'- `false`: No.'."\n" + ."\n" + .'Default value: `true`.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], - ], - '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' => '', - ], + [ + 'name' => 'SpotInstancePools', + 'in' => 'query', + 'schema' => ['description' => 'The number of instance types to use. The scaling group creates spot instances in a balanced manner across the specified number of lowest-cost instance types. Valid values: 1 to 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1c9djwrgxjyk31****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'AttachServerGroups', - ], - 'DetachServerGroups' => [ - 'summary' => 'Remove one or more SLB server groups from a scaling group. Supported server group types include Application Load Balancer (ALB), Network Load Balancer (NLB), and Gateway Load Balancer (GWLB), which can dynamically adjust SLB policies and help improve high availability of the system.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'DesiredCapacity', + 'in' => 'query', + 'schema' => ['description' => 'The desired number of instances in the scaling group. Auto Scaling automatically maintains this number of instances. The value must be less than or equal to `MaxSize` and greater than or equal to `MinSize`.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '166343', - 'abilityTreeNodes' => [ - 'FEATUREess2GK585', + [ + 'name' => 'GroupDeletionProtection', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable deletion protection for the scaling group. Valid values:'."\n" + ."\n" + .'- `true`: Enables deletion protection. The scaling group cannot be deleted.'."\n" + ."\n" + .'- `false`: Disables deletion protection.'."\n" + ."\n" + .'Default value: `false`.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'GroupType', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The type of instances managed by the scaling group. Valid values:'."\n" + ."\n" + .'- `ECS`: The scaling group manages ECS instances.'."\n" + ."\n" + .'- `ECI`: The scaling group manages ECI instances.'."\n" + ."\n" + .'Default value: `ECS`.', 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'ContainerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The ID of the ECI instance, also known as the container group ID.', 'type' => 'string', 'required' => false, 'example' => 'eci-uf6fonnghi50u374****', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'VSwitchIds', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + 'description' => 'The IDs of one or more vSwitches. If you specify this parameter, the `VSwitchId` parameter is ignored. If you specify this parameter, the network type of the scaling group is Virtual Private Cloud (VPC).'."\n" ."\n" - .'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', + .'If you specify multiple vSwitches:'."\n" + ."\n" + .'- They must belong to the same VPC.'."\n" + ."\n" + .'- They can be in different availability zones.'."\n" + ."\n" + .'- The vSwitches are prioritized based on their order in the list, with the first vSwitch having the highest priority. If an instance cannot be created in the availability zone of a higher-priority vSwitch, Auto Scaling automatically attempts to create the instance in the availability zone of the next-highest-priority vSwitch.'."\n" + ."\n" + .'> If you do not specify the `VSwitchId` or `VSwitchIds` parameter, the network type of the scaling group defaults to classic network.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of one or more vSwitches. If you specify this parameter, the `VSwitchId` parameter is ignored. If you specify this parameter, the network type of the scaling group is Virtual Private Cloud (VPC).'."\n" + ."\n" + .'If you specify multiple vSwitches:'."\n" + ."\n" + .'- They must belong to the same VPC.'."\n" + ."\n" + .'- They can be in different availability zones.'."\n" + ."\n" + .'- The vSwitches are prioritized based on their order in the list, with the first vSwitch having the highest priority. If an instance cannot be created in the availability zone of a higher-priority vSwitch, Auto Scaling automatically attempts to create the instance in the availability zone of the next-highest-priority vSwitch.'."\n" + ."\n" + .'> If you do not specify the `VSwitchId` or `VSwitchIds` parameter, the network type of the scaling group defaults to classic network.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp14zolna43z266bq****', 'title' => ''], 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', + 'maxItems' => 8, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ForceDetach', + 'name' => 'LifecycleHooks', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The list of lifecycle hooks.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of lifecycle hooks.', + 'type' => 'object', + 'properties' => [ + 'DefaultResult' => ['description' => 'The action to take after the wait state ends. Valid values:'."\n" + ."\n" + .'- `CONTINUE`: Continues the scale-out or scale-in activity.'."\n" + ."\n" + .'- `ABANDON`: Aborts the scale-out activity by releasing the created instances, or aborts the scale-in activity by keeping the instances in the scaling group.'."\n" + ."\n" + .'If a scale-in (SCALE\\_IN) activity triggers multiple lifecycle hooks, and the `DefaultResult` of one of the lifecycle hooks is `ABANDON`, the wait state of the other lifecycle hooks ends prematurely. In other cases, the action is determined by the last lifecycle hook to complete.'."\n" + ."\n" + .'Default value: `CONTINUE`.', 'type' => 'string', 'required' => false, 'example' => 'CONTINUE', 'title' => ''], + 'LifecycleHookName' => ['description' => 'The name of the lifecycle hook. The name cannot be modified after it is specified. If you do not specify a name, the ID of the lifecycle hook is used.', 'type' => 'string', 'required' => false, 'example' => 'lifecyclehook****', 'title' => ''], + 'LifecycleTransition' => ['description' => 'The type of scaling activity to which the lifecycle hook applies. Valid values:'."\n" + ."\n" + .'- `SCALE_OUT`: A scale-out activity.'."\n" + ."\n" + .'- `SCALE_IN`: A scale-in activity.'."\n" + ."\n" + .'> This parameter is required if you specify a lifecycle hook for the scaling group. Other related parameters are optional.', 'type' => 'string', 'required' => false, 'example' => 'SCALE_OUT', 'title' => ''], + 'NotificationMetadata' => ['description' => 'A fixed string of information for the wait state of a scaling activity. The value cannot exceed 4,096 characters in length. When Auto Scaling sends a message to the specified notification recipient, it includes the value of this parameter. This allows you to manage and categorize notifications. This parameter is valid only when you specify the `NotificationArn` parameter.', 'type' => 'string', 'required' => false, 'example' => 'Test', 'title' => ''], + 'NotificationArn' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient for the lifecycle hook. Message Service (MNS) queues and topics are supported. The format is `acs:ess:{region}:{account-id}:{resource-relative-id}`.'."\n" + ."\n" + .'- `region`: the region where the scaling group is located.'."\n" + ."\n" + .'- `account-id`: the ID of your Alibaba Cloud account.'."\n" + ."\n" + .'Examples:'."\n" + ."\n" + .'- MNS queue: `acs:ess:{region}:{account-id}:queue/{queuename}`.'."\n" + ."\n" + .'- MNS topic: `acs:ess:{region}:{account-id}:topic/{topicname}`.', 'type' => 'string', 'required' => false, 'example' => 'acs:ess:cn-hangzhou:1111111111:queue/queue2', 'title' => ''], + 'HeartbeatTimeout' => ['description' => 'The wait time that is defined in the lifecycle hook for a scaling activity. After the wait time expires, the next action is performed. Valid values: 30 to 21600. Unit: seconds.'."\n" + ."\n" + .'After you create a lifecycle hook, you can call the `RecordLifecycleActionHeartbeat` operation to extend the wait time of an instance, or call the `CompleteLifecycleAction` operation to end the wait state of the scaling activity in advance.'."\n" + ."\n" + .'Default value: 600.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '600', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'false', - 'default' => 'false', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ServerGroups', + 'name' => 'VServerGroups', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The information about the server groups.'."\n", + 'description' => 'The vServer groups to associate with the scaling group.', 'type' => 'array', 'items' => [ - 'description' => 'The server groups.'."\n", + 'description' => 'The vServer groups to associate with the scaling group.', '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', + 'VServerGroupAttributes' => [ + 'description' => 'The attributes of the backend server group.', + 'type' => 'array', + 'items' => [ + 'description' => 'The attributes of the backend server group.', + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => ['description' => 'The ID of the vServer group.', 'type' => 'string', 'required' => false, 'example' => 'rsp-bp1443g77****', 'title' => ''], + 'Weight' => ['description' => 'The weight of an instance as a backend server after the instance is added to the vServer group. The higher the weight, the more access requests are distributed to the instance. If the weight is 0, no access requests are distributed to the instance. Valid values: 0 to 100.'."\n" + ."\n" + .'Default value: 50.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by an instance after it is added to the vServer group. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '22', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], + 'LoadBalancerId' => ['description' => 'The ID of the Classic Load Balancer (CLB) instance to which the vServer group belongs.', 'type' => 'string', 'required' => false, 'example' => 'lb-bp1u7etiogg38yvwz****', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], - 'required' => true, + 'required' => false, 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', '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" + 'description' => 'The tags to apply to the scaling group.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags to apply to the scaling group.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of the tag.', 'type' => 'string', 'required' => false, 'example' => 'Department', 'title' => ''], + 'Value' => ['description' => 'The value of the tag.', 'type' => 'string', 'required' => false, 'example' => 'Finance '."\n", 'title' => ''], + 'Propagate' => ['description' => 'Specifies whether the tag can be propagated. Valid values:'."\n" ."\n" - .'> 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****', + .'- `true`: The tag is propagated from the scaling group only to newly created instances, not to instances that are already running in the scaling group.'."\n" + ."\n" + .'- `false`: The tag is not propagated from the scaling group to any instances.'."\n" + ."\n" + .'Default value: `false`.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'description' => '', + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], - ], - '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', + 'name' => 'LaunchTemplateOverrides', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The resource type. Set the value to scalinggroup.'."\n", - 'type' => 'string', + 'description' => 'The instance type information for extending the launch template.', + 'type' => 'array', + 'items' => [ + 'description' => 'The instance type information for extending the launch template.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'To enable the scaling group to scale based on instance type capacity, you must specify both this parameter and `LaunchTemplateOverrides.WeightedCapacity`.'."\n" + ."\n" + .'This parameter specifies the instance type, which overrides the instance type specified in the launch template.'."\n" + ."\n" + .'> This parameter takes effect only when the `LaunchTemplateId` parameter is specified.'."\n" + ."\n" + .'Must be a valid ECS instance type.', 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.xlarge '."\n", 'title' => ''], + 'WeightedCapacity' => ['description' => 'To enable the scaling group to scale based on instance type capacity, you must specify this parameter after you specify `LaunchTemplateOverrides.InstanceType`.'."\n" + ."\n" + .'This parameter specifies the weight of the instance type, which represents the capacity of a single instance of that type in the scaling group. A higher weight means that fewer instances of this type are needed to meet the desired capacity.'."\n" + ."\n" + .'Because instance types have different performance metrics, such as the number of vCPUs and memory size, you can assign different weights to different instance types based on your requirements.'."\n" + ."\n" + .'Example:'."\n" + ."\n" + .'- Current capacity: 0.'."\n" + ."\n" + .'- Desired capacity: 6.'."\n" + ."\n" + .'- Capacity of ecs.c5.xlarge: 4.'."\n" + ."\n" + .'To meet the desired capacity, the scaling group will create two ecs.c5.xlarge instances.'."\n" + ."\n" + .'> During a scale-out activity, the capacity of the scaling group cannot exceed the sum of the maximum capacity (`MaxSize`) and the maximum weight of an instance type.'."\n" + ."\n" + .'Valid values: 1 to 500.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], + 'SpotPriceLimit' => ['description' => 'The maximum hourly price for the instance type specified in `LaunchTemplateOverride.InstanceType`.'."\n" + ."\n" + .'> This parameter takes effect only when the `LaunchTemplateId` parameter is specified.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.025', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'scalinggroup', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ResourceId', + 'name' => 'AlbServerGroups', 'in' => 'query', + 'style' => 'repeatList', '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****', + 'description' => 'The Application Load Balancer (ALB) server groups to associate with the scaling group.', + 'type' => 'array', + 'items' => [ + 'description' => 'The Application Load Balancer (ALB) server groups to associate with the scaling group.', + 'type' => 'object', + 'properties' => [ + 'AlbServerGroupId' => ['description' => 'The ID of the ALB server group.'."\n" + ."\n" + .'A scaling group can be associated with a limited number of ALB server groups. To view or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).', 'type' => 'string', 'required' => false, 'example' => 'sgp-ddwb0y0g6y9bjm****', 'title' => ''], + 'Weight' => ['description' => 'The weight of an instance as a backend server after the instance is added to the ALB server group. The higher the weight, the more access requests are distributed to the instance. If the weight is 0, no access requests are distributed to the instance. Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by an instance after it is added to the ALB server group. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'NewResourceGroupId', + 'name' => 'ServerGroups', 'in' => 'query', + 'style' => 'repeatList', '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****', + 'description' => 'The load balancer server groups.'."\n" + ."\n" + .'> You cannot specify the same server group in both `AlbServerGroups` and `ServerGroups`.', + 'type' => 'array', + 'items' => [ + 'description' => 'The load balancer server groups.', + 'type' => 'object', + 'properties' => [ + 'ServerGroupId' => ['description' => 'The ID of the server group.', 'type' => 'string', 'required' => false, 'example' => 'sgp-5yc3bd9lfyh*****', 'title' => ''], + 'Type' => ['description' => 'The type of the server group. Valid values:'."\n" + ."\n" + .'- `ALB`: Application Load Balancer.'."\n" + ."\n" + .'- `NLB`: Network Load Balancer.'."\n" + ."\n" + .'- `GWLB`: Gateway Load Balancer.', 'type' => 'string', 'required' => false, 'example' => 'ALB', 'title' => ''], + 'Weight' => ['description' => 'The weight of an instance as a backend server after the instance is added to the server group. Valid values: 0 to 100.'."\n" + ."\n" + .'A higher weight indicates that more access requests are distributed to the instance. If the weight is 0, no access requests are distributed to the instance.'."\n" + ."\n" + .'> This parameter is required for ALB and NLB server groups. You cannot set this parameter for GWLB server groups.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by an instance after it is added to the server group. Valid values: 1 to 65535.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\"\\n}","type":"json"}]', - 'title' => 'ChangeResourceGroup', - 'description' => '* A resource is an entity of cloud services that you create on Alibaba Cloud. For example, a scaling group is a resource.'."\n" - .'* A resource group serves as a powerful organizational tool within your Alibaba Cloud account, enabling you to manage and monitor multiple resources collectively. It effectively addresses complexities surrounding resource categorization and permission control under a single Alibaba Cloud account, thereby enhancing management efficiency and control. For more information, see [What is resource management?](~~94475~~)'."\n", - ], - 'ApplyScalingGroup' => [ - 'summary' => 'Creates and manages scaling groups by using configuration files. You can call the ApplyScalingGroup operation to create and manage scaling groups by using configuration files with efficiency.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '206521', - 'abilityTreeNodes' => [ - 'FEATUREessGIWHSQ', - 'FEATUREessXN6KX4', + 'name' => 'AzBalance', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to evenly distribute the capacity of the scaling group across multiple availability zones. This parameter is valid only when `MultiAZPolicy` is set to `COMPOSABLE`. Valid values:'."\n" + ."\n" + .'- `true`: The capacity of the scaling group is evenly distributed across multiple availability zones.'."\n" + ."\n" + .'- `false`: The capacity of the scaling group is not evenly distributed across multiple availability zones.'."\n" + ."\n" + .'> If `MultiAZPolicy` is set to `COMPOSABLE` and `AzBalance` is set to `true`, the effect is the same as setting `MultiAZPolicy` to `BALANCE`.'."\n" + ."\n" + .'Default value: `false`.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'Content', + 'name' => 'AllocationStrategy', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'description' => 'The content of the configuration file.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'apiVersion: apps/v1'."\n" - .'kind: Deployment'."\n" - .'metadata:'."\n" - .' name: nginx-deployment'."\n" - .' labels:'."\n" - .' app: nginx'."\n" - .'spec:'."\n" - .' replicas: 3'."\n" - .' selector:'."\n" - .' matchLabels:'."\n" - .' app: nginx'."\n" - .' template:'."\n" - .' metadata:'."\n" - .' labels:'."\n" - .' app: nginx'."\n" - .' annotations:'."\n" - .' k8s.aliyun.com/eip-bandwidth: 10'."\n" - .' k8s.aliyun.com/eci-with-eip: true'."\n" - .' spec:'."\n" - .' containers:'."\n" - .' - name: nginx'."\n" - .' image: nginx:1.14.2'."\n" - .' ports:'."\n" - .' - containerPort: 80', - ], + 'schema' => ['description' => 'The capacity allocation policy determines how the scaling group selects available instance types to meet capacity requirements. The policy applies to both on-demand and preemptible capacity (effective only when the `MultiAZPolicy` parameter is set to `COMPOSABLE`). Valid values:'."\n" + ."\n" + .'- priority: Creates instances in the order of the configured instance types.'."\n" + ."\n" + .'- lowestPrice: Create instances based on the price per vCPU of instance types, from lowest to highest.'."\n" + ."\n" + .'Default value: priority.', 'type' => 'string', 'required' => false, 'example' => 'priority', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'SpotAllocationStrategy', '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****', - ], - ], - ], + 'schema' => ['description' => 'The distribution strategy for spot capacity. You can use this parameter to specify a separate strategy for spot capacity (effective only when the `MultiAZPolicy` parameter is set to `COMPOSABLE`). Valid values:'."\n" + ."\n" + .'- priority: Creates instances in the order of the configured instance types.'."\n" + ."\n" + .'- lowestPrice: Creates instances in ascending order of the price per vCPU of the instance types.'."\n" + ."\n" + .'Default value: priority.', 'type' => 'string', 'required' => false, 'example' => 'lowestPrice', 'title' => ''], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC107349-57B7-4405-B1BF-9BF5AF7F****\\",\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\"\\n}","type":"json"}]', - 'title' => 'ApplyScalingGroup', - 'description' => 'You can call the ApplyScalingGroup operation to create scaling groups of the Elastic Container Instance type with ease. The resources of the scaling groups are defined in Kubernetes Deployment YAML files. You can also call this operation to extend annotations for elastic container instances in Kubernetes Deployment YAML files. For more information, see "Supported annotations" in this topic.'."\n" - ."\n" - .'Mapping between YAML files and scaling groups: You can map the triplet of namespace, kind, and name in a YAML file to a scaling group name. A YAML file and a scaling group have a one-to-one mapping relationship in a region. For example, if you use the Kubernetes Deployment YAML file whose name is NGINX in the default namespace to create a scaling group in a region, the unique name of the mapped scaling group is k8s\\_default\\_Deployment\\_nginx.'."\n" - ."\n" - .'You can use a Kubernetes Deployment YAML file to manage a scaling group based on the following logic:'."\n" - ."\n" - .'* If an existing scaling group has a mapping relationship with your Kubernetes Deployment YAML file, you can update the scaling group by using the YAML file.'."\n" - .'* If no scaling group that has a mapping relationship with your Kubernetes Deployment YAML file exists, you can create a scaling group with ease by using the YAML file.'."\n" - ."\n" - .'1. If you do not specify a virtual private cloud (VPC), vSwitch, security group, or annotation in your Kubernetes Deployment YAML file, the system creates a default VPC that has default vSwitches and uses the default security group ess-default-sg of Auto Scaling. By default, the security group rule allows traffic on Transmission Control Protocol (TCP)-based port 22 and port 3389 and enables Internet Control Message Protocol (ICMP) for IPv4 addresses. If you want to enable other ports or protocols, you can create custom security group rules.'."\n" - .'2. If you want to use a public image, you must enable the Internet access feature and configure the k8s.aliyun.com/eci-with-eip pod annotation to enable the elastic IP address (EIP) feature.'."\n" - .'3. After you call the ApplyScalingGroup operation to apply a Kubernetes Deployment YAML file, the scaling group immediately enters the Enabled state and the scaling configuration immediately enters the Active state. If the number of replicas that you specified in the YAML file is grater than 0, elastic container instances are automatically created.'."\n" - ."\n" - .'### Supported annotations'."\n" - ."\n" - .'For more information about annotations, see [ECI Pod Annotation](~~186939~~).'."\n" - ."\n" - .'|Annotation|Example|Description|'."\n" - .'|---|---|---|'."\n" - .'|k8s.aliyun.com/ess-scaling-group-min-size|1|The minimum size of the scaling group that you want to create. Default value: 0.|'."\n" - .'|k8s.aliyun.com/ess-scaling-group-max-size|20|The maximum size of the scaling group that you want to create. Default value: maximum number of replicas or 30, whichever is greater.|'."\n" - .'|k8s.aliyun.com/eci-ntp-server|100.100.*.*|The IP address of the Network Time Protocol (NTP) server.|'."\n" - .'|k8s.aliyun.com/eci-use-specs|2-4Gi|The specifications of 2 vCPUs and 4 GiB of memory. For more information, see [Create pods by specifying multiple specifications](~~451267~~).|'."\n" - .'|k8s.aliyun.com/eci-vswitch|vsw-bp1xpiowfm5vo8o3c\\*\\*\\*\\*|The ID of the vSwitch. You can specify multiple vSwitches to specify multiple zones.|'."\n" - .'|k8s.aliyun.com/eci-security-group|sg-bp1dktddjsg5nktv\\*\\*\\*\\*|The ID of the security group. Before you configure this annotation, take note of the following requirements:
  • You can specify one or more security groups. You can specify up to five security groups for each scaling group.
  • If you specify multiple security groups, the security groups must belong to the same VPC.
  • If you specify multiple security groups, the security groups must be of the same type.
|'."\n" - .'|k8s.aliyun.com/eci-sls-enable|"false"|If you set the value to false, the log collection feature is disabled.'."\n" - ."\n" - .'If you do not want to use Custom Resource Definition (CRD) for Simple Log Service to collect logs of specific pods, you can configure this annotation for the pods and set the value to false. This prevents resource wastes caused by Logtails created by the system.|'."\n" - .'|k8s.aliyun.com/eci-spot-strategy|SpotAsPriceGo|The bidding policy for preemptible instances. Valid values:
  • SpotWithPriceLimit: The instances are created as preemptible instances with a maximum hourly price. If you set the value to SpotWithPriceLimit, you must configure the k8s.aliyun.com/eci-spot-price-limit annotation.
  • SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is automatically used as the bid price.
|'."\n" - .'|k8s.aliyun.com/eci-spot-price-limit|"0.5"|The maximum hourly price of preemptible instances. This value can be accurate to up to three decimal places.'."\n" - ."\n" - .'This annotation takes effect only when you set the k8s.aliyun.com/eci-spot-strategy annotation to SpotWithPriceLimit.|'."\n" - .'|k8s.aliyun.com/eci-with-eip|"true"|If you set the value to true, an elastic IP address (EIP) is automatically created and bound to each elastic container instance.|'."\n" - .'|k8s.aliyun.com/eci-data-cache-bucket|default|The bucket of data caches. If you want to create a pod based on data caches, you must configure this annotation.|'."\n" - .'|k8s.aliyun.com/eci-data-cache-pl|PL1|The performance level (PL) of the cloud disk that you want to create based on data caches.'."\n" - ."\n" - .'By default, enterprise SSDs (ESSDs) are created. Default value: PL1.|'."\n" - .'|k8s.aliyun.com/eci-data-cache-provisionedIops|"40000"|The provisioned read/write IOPS of the ESSD AutoPL disk. Valid values: 0 to min{50000, 1000 × Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50 × Capacity, 50,000}. For more information, see [ESSD AutoPL disks](~~368372~~).'."\n" - ."\n" - .'If you configure this annotation, the cloud disk that is created based on data caches is of the ESSD AutoPL type.|'."\n" - .'|k8s.aliyun.com/eci-data-cache-burstingEnabled|"true"|Specifies whether the Burst feature is enabled for the ESSD AutoPL disk. For more information, see [ESSD AutoPL disks](~~368372~~).'."\n" - ."\n" - .'If you configure this annotation, the cloud disk that is created based on data caches is of the ESSD AutoPL type.|'."\n" - .'|k8s.aliyun.com/eci-custom-tags|"env:test,name:alice"|The tags that you want to add to each elastic container instance. You can add up to three tags for each elastic container instance. Separate a tag key and a tag value with a colon (:). Separate multiple tags with commas (,).|', - ], - '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' => [], + 'name' => 'SyncAlarmRuleToCms', + 'in' => 'query', + 'schema' => ['description' => '> This parameter is not yet available.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '221692', - 'abilityTreeNodes' => [ - 'FEATUREess7569XW', + [ + 'name' => 'MaxInstanceLifetime', + 'in' => 'query', + 'schema' => ['description' => 'The maximum lifetime of an instance in the scaling group. Unit: seconds.'."\n" + ."\n" + .'Value range: \\[86400, Integer.maxValue].'."\n" + ."\n" + .'Default value: null.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => 'null', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'CustomPolicyARN', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The ARN of the custom scale-in policy function. This parameter is valid only when the first removal policy in `RemovalPolicies` is `CustomPolicy`.', 'type' => 'string', 'required' => false, 'example' => 'acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The ID of the resource group to which the new scaling group belongs.'."\n" + ."\n" + .'> If you do not specify this parameter, the new scaling group is added to the default resource group.', 'type' => 'string', 'required' => false, 'example' => 'rg-123******', 'title' => ''], ], [ - 'name' => 'InstanceTypes', + 'name' => 'LoadBalancerConfigs', '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", + 'description' => 'The load balancer configurations.', 'type' => 'array', 'items' => [ - 'description' => 'The instance type.'."\n", - 'type' => 'string', + 'description' => 'The load balancer configurations.', + 'type' => 'object', + 'properties' => [ + 'LoadBalancerId' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'required' => false, 'example' => 'lb-2zen1olhfg9yw3f4q****', 'title' => ''], + 'Weight' => ['description' => 'The weight of an instance as a backend server after the instance is added to the SLB server group. The higher the weight, the more access requests are distributed to the instance. If the weight is 0, no access requests are distributed to the instance. Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], 'required' => false, - 'example' => 'ecs.g6.large', + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 50, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'PriorityStrategy', + 'name' => 'HealthCheckTypes', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '**'."\n" - ."\n" - .'**Warning** This parameter is deprecated. We recommend that you use SpotStrategy.'."\n" + 'description' => 'The health check methods for the scaling group.'."\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" + .'> You can use this parameter to set multiple values and enable multiple health check options. If you set the `HealthCheckType` parameter, this parameter is ignored.', + 'type' => 'array', + 'items' => ['description' => 'The health check methods for the scaling group. Valid values:'."\n" ."\n" - .'* 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" + .'- `NONE`: No health checks are performed.'."\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" + .'- `ECS`: Health checks are performed on instances in the scaling group. This value enables health checks for scaling groups of both the ECS and ECI types.'."\n" ."\n" - .'* cloud: basic disk.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: Enterprise SSD (ESSD).'."\n" + .'- `LOAD_BALANCER`: The instance health status is based on health check results from the attached load balancer. This option does not support Classic Load Balancer (CLB) instances.'."\n" ."\n" - .'> 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', - ], + .'Default value: `ECS`.', 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''], 'required' => false, - 'maxItems' => 50, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ScalingGroupIds', + 'name' => 'DBInstances', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the scaling groups that you want to query.'."\n", + 'description' => 'The databases that are associated with the scaling group.', 'type' => 'array', 'items' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', + 'description' => 'The database configurations that are associated with the scaling group.', + 'type' => 'object', + 'properties' => [ + 'DBInstanceId' => ['description' => 'The ID of the database instance.', 'type' => 'string', 'required' => false, 'example' => 'rm-m5eqju85s45mu0***', 'title' => ''], + 'Type' => ['description' => 'The type of the database. Valid values:'."\n" + ."\n" + .'- RDS'."\n" + ."\n" + .'- Redis'."\n" + ."\n" + .'- MongoDB'."\n" + ."\n" + .'Default value: RDS.', 'type' => 'string', 'required' => false, 'example' => 'RDS', 'title' => ''], + 'AttachMode' => ['description' => 'The method that is used to associate the scaling group with the database. Valid values:'."\n" + ."\n" + .'- `SecurityIp`: The IP address whitelist mode. This mode automatically adds the scaled-out instances to the IP address whitelist of the database. This mode is supported only by RDS databases.'."\n" + ."\n" + .'- `SecurityGroup`: The security group mode. This mode adds the security group of the scaling configuration to the security group whitelist of the database. This allows instances in the security group to access the database.', 'type' => 'string', 'required' => false, 'example' => 'SecurityIp', 'title' => ''], + ], 'required' => false, - 'example' => 'asg-bp14wlu85wrpchm0****', + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 50, + 'maxItems' => 5, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'SpotStrategy', + 'name' => 'StopInstanceTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The instance bidding policy. Valid values:'."\n" - ."\n" - .'* NoSpot: The instances are created as pay-as-you-go instances.'."\n" - .'* SpotWithPriceLimit: The instances are created as preemptible instances with a user-defined maximum hourly price.'."\n" - .'* SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is used as the bid price.'."\n" - ."\n" - .'Default value: NoSpot.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NoSpot', - ], + 'schema' => ['description' => 'The timeout period for the system to wait for an ECS instance to be stopped during a scale-in event. Unit: seconds.'."\n" + .'Valid values: 30 to 240.'."\n" + ."\n" + .'> - This parameter takes effect only during scale-in events when `ScalingPolicy` is set to `release`.'."\n" + .'>'."\n" + .'> - If this parameter is set, the system waits for the specified `StopInstanceTimeout` period for the instance to be stopped. If the instance is not stopped after the timeout period, the scale-in process continues regardless of the instance status.'."\n" + .'>'."\n" + .'> - If this parameter is not set, the system waits for an extended period for the instance to be stopped. The scale-in process continues only after the instance is stopped. If the instance fails to stop, the scale-in process is rolled back, and the scale-in event fails.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], ], [ - 'name' => 'VSwitchIds', + 'name' => 'CapacityOptions', 'in' => 'query', - 'style' => 'repeatList', + 'style' => 'flat', '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****', + 'description' => 'The capacity options.', + 'type' => 'object', + 'properties' => [ + 'OnDemandBaseCapacity' => ['description' => 'The minimum number of on-demand instances required in the scaling group. When the number of on-demand instances in the scaling group is less than this value, the system preferentially creates on-demand instances. Valid values: 0 to 1,000.'."\n" + ."\n" + .'When `MultiAZPolicy` is set to `COMPOSABLE`, the default value is 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''], + 'OnDemandPercentageAboveBaseCapacity' => ['description' => 'The percentage of on-demand instances among the excess instances after the `OnDemandBaseCapacity` requirement is met. Valid values: 0 to 100.'."\n" + ."\n" + .'When `MultiAZPolicy` is set to `COMPOSABLE`, the default value is 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], + 'CompensateWithOnDemand' => ['description' => 'When `MultiAZPolicy` is set to `COST_OPTIMIZED`, this parameter specifies whether to automatically create on-demand instances to meet capacity requirements when spot instances are unavailable due to price or inventory. Valid values:'."\n" + ."\n" + .'- `true`: Yes.'."\n" + ."\n" + .'- `false`: No.'."\n" + ."\n" + .'Default value: `true`.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'SpotAutoReplaceOnDemand' => ['description' => 'After you enable `CompensateWithOnDemand`, if the on-demand percentage exceeds the `OnDemandPercentageAboveBaseCapacity` ratio, the system attempts to replace on-demand capacity with spot capacity. A common scenario is when `CompensateWithOnDemand` leads to on-demand instances being created due to spot inventory or price issues. To avoid the prolonged existence of these on-demand instances, the system attempts to replace the excess on-demand capacity with spot instances. Valid values:'."\n" + ."\n" + .'- `true`: Allows replacement.'."\n" + ."\n" + .'- `false`: Does not allow replacement.'."\n" + ."\n" + .'Default value: `false`.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'PriceComparisonMode' => ['description' => 'The price comparison mode for the cost optimization strategy of the scaling group. Valid values:'."\n" + ."\n" + .'- `PricePerUnit`: Compares prices based on per-unit capacity.'."\n" + ."\n" + .' The capacity of an instance in a scaling group is equal to the weight set for the instance type, with a default of 1, meaning one ECS instance equals one unit of capacity.'."\n" + ."\n" + .'- `PricePerVCpu`: Compares prices based on per-vCPU price.'."\n" + ."\n" + .'Default value: `PricePerUnit`.', 'type' => 'string', 'required' => false, 'example' => 'PricePerUnit', 'title' => ''], ], 'required' => false, - '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', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'DataDiskCategories', + 'name' => 'BalanceMode', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The disk categories of the data disks. The disk categories that do not match the specified criteria are returned after you call this operation.'."\n" - ."\n" - .'> If you do not specify the scaling group ID, you must specify this parameter.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The category of the data disk. Valid values:'."\n" - ."\n" - .'* cloud: basic disk.'."\n" - .'* cloud_efficiency: ultra disk.'."\n" - .'* cloud_ssd: standard SSD.'."\n" - .'* cloud_essd: ESSD.'."\n" - .'* ephemeral_ssd: local SSD.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_essd', - ], - 'required' => false, - 'maxItems' => 50, - ], + 'schema' => ['description' => 'The zone balancing mode is effective only when enabled. Valid values:'."\n" + ."\n" + .'- BalancedBestEffort: If a resource fails to be created in an availability zone, the system falls back to other availability zones to ensure best-effort delivery.'."\n" + ."\n" + .'- BalancedOnly:'."\n" + .' If resource creation fails in an availability zone, the system does not fall back to other availability zones. The scaling activity is partially successful, which prevents an excessive imbalance of resources across different availability zones.'."\n" + ."\n" + .'Default value: BalancedBestEffort.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'BalancedBestEffort'], ], [ - 'name' => 'Ipv6AddressCount', + 'name' => 'AutoRebalance', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of IPv6 addresses. If the instance type that you specified does meet the requirement for the number of IPv6 addresses, the scaling strength is weak.'."\n" - ."\n" - .'> If you do not specify the scaling group ID, you must specify this parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'Specifies whether to enable automatic balancing for the scaling group. This setting takes effect only when BalancedOnly is enabled for a scaling group that is balanced across availability zones. Value range:'."\n" + ."\n" + .'- false: Does not enable automatic balancing for the scaling group.'."\n" + ."\n" + .'- true: When automatic balancing for the scaling group is enabled, the scaling group automatically detects the capacity across availability zones. If the capacity is imbalanced, the scaling group proactively performs scaling across availability zones to rebalance the capacity.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'title' => '', 'required' => false, 'example' => 'false'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'TotalStrength' => [ - 'description' => 'The scaling strength score of the scaling group. Each combination of instance type + zone is scored from 0 to 1 based on its availability, with 0 being the weakest scaling strength and 1 being the strongest. The scaling strength score of the scaling group is measured by the combined scores of all the combinations of instance type + zone.'."\n" - ."\n" - .'**'."\n" - ."\n" - .'**Warning** This parameter is deprecated.'."\n", - 'type' => 'number', - 'format' => 'double', - 'example' => '1.5', - ], - 'ElasticStrength' => [ - 'description' => 'The scaling strength level of the scaling group. Valid values:'."\n" - ."\n" - .'* Strong'."\n" - .'* Medium'."\n" - .'* Weak'."\n", - 'type' => 'string', - 'example' => 'Strong', - ], - 'ResourcePools' => [ - 'description' => 'The resource pools.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Strength' => [ - 'description' => 'The scaling strength of the resource pool.'."\n", - 'type' => 'number', - 'format' => 'double', - 'example' => '0.6', - ], - 'InstanceType' => [ - 'description' => 'The instance type of the resource pool.'."\n", - 'type' => 'string', - 'example' => 'ecs.c7t.xlarge', - ], - 'ZoneId' => [ - 'description' => 'The zone ID of the resource pool.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-g', - ], - 'VSwitchIds' => [ - 'description' => 'The IDs of the vSwitches in the zones of the resource pool.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'example' => 'vsw-2ze0uc933kantv******', - ], - ], - 'Code' => [ - 'description' => 'The error code returned when the scaling strength is the weakest.'."\n", - 'type' => 'string', - 'example' => 'IMG_NOT_SUPPORTED', - ], - 'Msg' => [ - 'description' => 'The error message returned when the scaling strength is the weakest.'."\n", - 'type' => 'string', - 'example' => 'The instanceType does not support the image in the configuration.', - ], - 'Status' => [ - 'description' => 'Indicates whether the resource pool is available. Valid values:'."\n" - ."\n" - .'* Available'."\n" - .'* Unavailable (If a constraint is not provided, the instance type is not deployed, or the instance type is out of stock, the resource pool becomes unavailable.)'."\n", - 'type' => 'string', - 'example' => 'Available', - ], - 'InventoryHealth' => [ - 'description' => 'The inventory health.'."\n", - 'type' => 'object', - 'properties' => [ - 'HealthScore' => [ - 'description' => 'The inventory health score.'."\n" - ."\n" - .'* A score between 5 and 6 indicates a sufficient inventory.'."\n" - .'* A score between 1 and 4 indicates that there is no guarantee of a sufficient inventory. Select a reservation as necessary.'."\n" - .'* A score between -3 and 0 indicates that the inventory is sufficient, and an alert is triggered. Select another instance type.'."\n" - ."\n" - .'Calculation formula: `HealthScore` = `AdequacyScore` + `SupplyScore` - `HotScore`.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'AdequacyScore' => [ - 'description' => 'The adequacy score.'."\n" - ."\n" - .'Valid values: 0 to 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'SupplyScore' => [ - 'description' => 'The replenishment capability score.'."\n" - ."\n" - .'Valid values: 0 to 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'HotScore' => [ - 'description' => 'The popularity score.'."\n" - ."\n" - .'Valid values: 0 to 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - ], - ], - ], - 'description' => '', - ], - ], - 'ElasticStrengthModels' => [ - 'description' => 'The scaling strength models.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asg-wz98mnj7nblv9gc****', - ], - 'ElasticStrength' => [ - 'description' => 'The scaling strength level of the scaling group. Valid values:'."\n" - ."\n" - .'* Strong'."\n" - .'* Medium'."\n" - .'* Weak'."\n", - 'type' => 'string', - 'example' => 'Strong', - ], - 'TotalStrength' => [ - 'description' => 'The scaling strength score of the scaling group. Each combination of instance type + zone is scored from 0 to 1 based on its availability, with 0 being the weakest scaling strength and 1 being the strongest. The scaling strength score of the scaling group is measured by the combined scores of all the combinations of instance type + zone.'."\n" - ."\n" - .'**'."\n" - ."\n" - .'**Warning** This parameter is deprecated.'."\n", - 'type' => 'number', - 'format' => 'double', - 'example' => '1.5', - ], - 'ResourcePools' => [ - 'description' => 'The resource pools.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'InstanceType' => [ - 'description' => 'The instance type of the resource pool.'."\n", - 'type' => 'string', - 'example' => 'ecs.r7.large', - ], - 'Strength' => [ - 'description' => 'The scaling strength of the resource pool.'."\n" - ."\n" - .'**'."\n" - ."\n" - .'**Warning** This parameter is deprecated.'."\n", - 'type' => 'number', - 'format' => 'double', - 'example' => '0.6', - ], - 'ZoneId' => [ - 'description' => 'The zone ID of the resource pool.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-g', - ], - 'VSwitchIds' => [ - 'description' => 'The IDs of the vSwitches in the zones of the resource pool.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'example' => 'vsw-2ze6e8p4******', - ], - ], - 'Code' => [ - 'description' => 'The error code returned when the scaling strength is the weakest.'."\n", - 'type' => 'string', - 'example' => 'InstanceTypesOrDiskTypesNotSupported', - ], - 'Msg' => [ - 'description' => 'The error message returned when the scaling strength is the weakest.'."\n", - 'type' => 'string', - 'example' => 'The instanceTypes or diskTypes are not supported.', - ], - 'Status' => [ - 'description' => 'Indicates whether the resource pool is available. Valid values:'."\n" - ."\n" - .'* Available'."\n" - .'* Unavailable (If a constraint is not provided, the instance type is not deployed, or the instance type is out of stock, the resource pool becomes unavailable.)'."\n", - 'type' => 'string', - 'example' => 'Available', - ], - 'InventoryHealth' => [ - 'description' => 'The inventory health.'."\n", - 'type' => 'object', - 'properties' => [ - 'HealthScore' => [ - 'description' => 'The score of the inventory health.'."\n" - ."\n" - .'* A score between 5 and 6 indicates a sufficient inventory.'."\n" - .'* A score between 1 and 4 indicates that there is no guarantee of a sufficient inventory. Select a reservation as necessary.'."\n" - .'* A score between -3 and 0 indicates that the inventory is sufficient, and an alert is triggered. Select another instance type.'."\n" - ."\n" - .'Calculation formula: `HealthScore` = `AdequacyScore` + `SupplyScore` - `HotScore`.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'AdequacyScore' => [ - 'description' => 'The adequacy score.'."\n" - ."\n" - .'Valid values: 0 to 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'SupplyScore' => [ - 'description' => 'The score of the replenishment capability.'."\n" - ."\n" - .'Valid values: 0 to 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'HotScore' => [ - 'description' => 'The popularity score.'."\n" - ."\n" - .'Valid values: 0 to 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - ], - ], - ], - 'description' => '', - ], - ], - ], - 'description' => '', - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - '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', + 'errorCodes' => [ + 404 => [ + ['errorCode' => 'ResourceNotAvailable.VPCNetwork', 'errorMessage' => 'The specified zone does not support vpc network or sold out.', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingGroupId\\": \\"asg-bp14wlu85wrpchm0****\\"\\n}","type":"json"}]', + 'title' => 'CreateScalingGroup', + 'description' => 'A scaling group is a collection of ECS instances for the same use case.'."\n" + ."\n" + .'The number of scaling groups that you can create in a region depends on your Auto Scaling usage. To view your quota for scaling groups, go to Quota Center.'."\n" + ."\n" + .'A scaling group is not active immediately after creation. You must call the [EnableScalingGroup](~~25939~~) operation to enable the group before it can trigger scaling activities or execute scaling rules.'."\n" + ."\n" + .'The scaling group, as well as its associated Classic Load Balancer (CLB) (formerly SLB) and RDS instances, must be in the same region. For more information, see [Regions and availability zones](~~40654~~).'."\n" + ."\n" + .'If you associate a CLB instance with a scaling group, the scaling group automatically adds new ECS instances to a backend server group of the CLB instance. You can specify which server group to use. The following types of server groups are supported:'."\n" + ."\n" + .'- Default server group: A group of ECS instances that receive requests from the front end. If no vServer group or primary/standby server group is configured for a listener, it forwards requests to the ECS instances in the default server group.'."\n" + ."\n" + .'- vServer group: Use a vServer group if you need to forward different requests to different backend servers, or forward requests based on domain names and URLs.'."\n" + ."\n" + .'> If you specify both a default server group and one or more vServer groups, the scaling group adds new ECS instances to all specified server groups.'."\n" + ."\n" + .'After an instance is added to a backend server group of a CLB instance, its default weight is 50. The CLB instance must meet the following conditions:'."\n" + ."\n" + .'- The CLB instance must be in the active state. You can call the [DescribeLoadBalancers](~~2401696~~) operation to check the state of a CLB instance.'."\n" + ."\n" + .'- Health checks must be enabled for all listeners configured on the CLB instance. Otherwise, the scaling group creation fails.'."\n" + ."\n" + .'If you associate a scaling group with Application Load Balancer (ALB), Network Load Balancer (NLB), or Gateway Load Balancer (GWLB) server groups, it automatically adds new ECS instances as backend servers to those groups to handle distributed requests. You can specify multiple such server groups, but they must all belong to the same VPC as the scaling group. For more information, see [AttachAlbServerGroups](~~266800~~) or [AttachServerGroups](~~600535~~).'."\n" + ."\n" + .'If you associate an RDS instance with a scaling group, the scaling group automatically adds the internal IP addresses of new ECS instances to the IP address whitelist of the RDS instance. The RDS instance must meet the following conditions:'."\n" + ."\n" + .'- The RDS instance must be in the Running state. You can call the [DescribeDBInstances](~~610396~~) operation to check the state of an RDS instance.'."\n" + ."\n" + .'- The number of IP addresses in the RDS instance\'s IP address whitelist cannot exceed the limit. For more information, see the [Configure an IP address whitelist](~~43185~~) topic in the RDS documentation.'."\n" + ."\n" + .'If the `MultiAZPolicy` of a scaling group is set to `COST_OPTIMIZED`:'."\n" + ."\n" + .'- If you specify the `OnDemandBaseCapacity`, `OnDemandPercentageAboveBaseCapacity`, and `SpotInstancePools` parameters, you define the instance allocation strategy for the cost-optimized policy. Auto Scaling prioritizes this strategy during scaling activities.'."\n" + ."\n" + .'- If you do not specify the `OnDemandBaseCapacity`, `OnDemandPercentageAboveBaseCapacity`, or `SpotInstancePools` parameters, the cost-optimized policy creates instances by using only the lowest-cost method. In this mode, you cannot create instances by using the Elastic Guarantee service or the Capacity Reservation service.'."\n" + ."\n" + .'If you enable tag propagation for a scaling group by setting `Tags.Propagate` to `true`:'."\n" + ."\n" + .'- The scaling group propagates its tags only to new instances, not to existing instances.'."\n" + ."\n" + .'- If you specify instance tags in the scaling configuration and also choose to propagate tags from the scaling group, Auto Scaling applies both sets of tags to the new instances.'."\n" + ."\n" + .'- If a tag from the scaling configuration and a propagated tag from the scaling group have the same tag key, the tag value from the scaling configuration takes precedence.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/*'], + ], + ], + ], ], + ], + 'CreateScalingRule' => [ + 'summary' => 'The function of a scaling rule is determined by its type, which can be used to trigger a scaling activity or intelligently set the boundary values of a scaling group. Depending on your business requirements, you can invoke the CreateScalingRule API to create different types of scaling rules. For example, if your business only requires setting the boundary values of a scaling group, we recommend that you select the predictive rule type.'."\n", + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '125374', - 'abilityTreeNodes' => [ - 'FEATUREessWJGIW5', - ], + 'abilityTreeCode' => '125334', + 'abilityTreeNodes' => ['FEATUREessRTZKQT'], ], 'parameters' => [ [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group in which you want to create a scaling configuration.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp14wlu85wrpchm0****', - ], + 'schema' => ['description' => 'The ID of the scaling group to which the scaling rule belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1ffogfdauy0jw0****', 'title' => ''], ], [ - 'name' => 'ImageId', + 'name' => 'ScalingRuleName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image that Auto Scaling uses to automatically create ECS instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'centos6u5_64_20G_aliaegis****.vhd', - ], + 'schema' => ['description' => 'The name of the scaling rule. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter or a digit.'."\n" + ."\n" + .'The name of each scaling rule must be unique under the same account within a region.'."\n" + ."\n" + .'If you leave this parameter empty, the scaling rule ID is used.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scalingrule****', 'title' => ''], ], [ - 'name' => 'ImageName', + 'name' => 'Cooldown', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the image. Each image name must be unique in a region. If you specify ImageId, ImageName is ignored.'."\n" - ."\n" - .'You cannot use ImageName to specify images that are purchased from Alibaba Cloud Marketplace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'image****', - ], + 'schema' => ['description' => 'The cooldown time of the scaling rule. This parameter is available only if you set the ScalingRuleType parameter to SimpleScalingRule. Valid values: 0 to 86400. Unit: seconds.'."\n" + ."\n" + .'By default, this parameter is left empty.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], ], [ - 'name' => 'InstanceType', + 'name' => 'MinAdjustmentMagnitude', 'in' => 'query', - 'schema' => [ - 'description' => 'The instance type of the ECS instance. For more information, see the [Instance families](~~25378~~) topic.', - 'type' => 'string', - 'required' => false, - 'example' => 'ecs.g6.large', - ], + 'schema' => ['description' => 'The minimum number of instances that must be scaled when the AdjustmentType parameter is set to PercentChangeInCapacity. This parameter takes effect only if you set the ScalingRuleType parameter to SimpleScalingRule or StepScalingRule.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'Cpu', + 'name' => 'AdjustmentType', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of vCPUs.'."\n" - ."\n" - .'You can specify the number of vCPUs and the memory size to determine the range of instance types. For example, you can set CPU to 2 and Memory to 16 to specify instance types that have 2 vCPUs and 16 GiB of memory. If you specify Cpu and Memory, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling preferentially creates instances by using the lowest-priced instance type.'."\n" - ."\n" - .'> You can specify Cpu and Memory to determine the range of instance types only if you set Scaling Policy to Cost Optimization Policy and you do not specify instance types in the scaling configuration.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'The scaling method of the scaling rule. This parameter is required only if you set the ScalingRuleType parameter to SimpleScalingRule or StepScalingRule. Valid values:'."\n" + ."\n" + .'* QuantityChangeInCapacity: adds the specified number of ECS instances to or removes the specified number of ECS instances from the scaling group.'."\n" + .'* PercentChangeInCapacity: adds the specified percentage of ECS instances to or removes the specified percentage of ECS instances from the scaling group.'."\n" + .'* TotalCapacity: adjusts the number of ECS instances in the scaling group to a specified number.'."\n", 'type' => 'string', 'required' => false, 'example' => 'QuantityChangeInCapacity', 'title' => ''], ], [ - 'name' => 'Memory', + 'name' => 'AdjustmentValue', 'in' => 'query', - 'schema' => [ - 'description' => 'The memory size. Unit: GiB.'."\n" - ."\n" - .'You can specify the number of vCPUs and the memory size to determine the range of instance types. For example, you can set Cpu to 2 and Memory to 16 to specify instance types that have 2 vCPUs and 16 GiB of memory. If you specify Cpu and Memory, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling preferentially creates instances by using the lowest-priced instance type.'."\n" - ."\n" - .'> You can specify Cpu and Memory to determine the range of instance types only if you set Scaling Policy to Cost Optimization Policy and you do not specify instance types in the scaling configuration.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '16', - ], + 'schema' => ['description' => 'The number of instances that must be scaled based on the scaling rule. This parameter is required only if you set the ScalingRuleType parameter to SimpleScalingRule or StepScalingRule. The number of ECS instances that are scaled in a single scaling activity cannot exceed 1,000.'."\n" + ."\n" + .'* Valid values if you set the AdjustmentType parameter to QuantityChangeInCapacity: -1000 to 1000.'."\n" + .'* Valid values if you set the AdjustmentType parameter to PercentChangeInCapacity: -100 to 10000.'."\n" + .'* Valid values if you set the AdjustmentType parameter to TotalCapacity: 0 to 2000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], ], [ - 'name' => 'DeploymentSetId', + 'name' => 'ScalingRuleType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the deployment set of the ECS instances that are created by using the scaling configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ds-bp1frxuzdg87zh4pz****', - ], + 'schema' => ['description' => 'The type of the scaling rule. Valid values:'."\n" + ."\n" + .'* SimpleScalingRule: a simple scaling rule. After you execute a simple scaling rule, Auto Scaling adjusts the number of ECS instances or elastic container instances in the scaling group based on the values of AdjustmentType and AdjustmentValue.'."\n" + .'* TargetTrackingScalingRule: a target tracking scaling rule. After you execute a target tracking scaling rule, Auto Scaling dynamically calculates the number of ECS instances or elastic container instances to scale based on the predefined metric (MetricName) and attempts to maintain the metric value close to the expected value (TargetValue).'."\n" + .'* StepScalingRule: a step scaling rule. After you execute a step scaling rule, Auto Scaling scales instances step by step based on the predefined thresholds and metric values.'."\n" + .'* PredictiveScalingRule: a predictive scaling rule. After you execute a predictive scaling rule, Auto Scaling uses machine learning to analyze historical monitoring data of the scaling group and predicts the future values of metrics. In addition, Auto Scaling automatically creates scheduled tasks to adjust the boundary values for the scaling group.'."\n" + ."\n" + .'Default value: SimpleScalingRule.'."\n", 'type' => 'string', 'required' => false, 'example' => 'SimpleScalingRule', 'default' => 'SimpleScalingRule', 'title' => ''], ], [ - 'name' => 'SecurityGroupId', + 'name' => 'EstimatedInstanceWarmup', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group with which ECS instances are associated. ECS instances that are associated with the same security group can access each other.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sg-280ih****', - ], + 'schema' => ['description' => 'The warmup period of an instance. This parameter is available only if you set the ScalingRuleType parameter to TargetTrackingScalingRule or PredictiveScalingRule. Auto Scaling adds ECS instances that are in the warmup state to a scaling group but does not report monitoring data to CloudMonitor during the warmup period.'."\n" + ."\n" + .'> Auto Scaling calculates the number of ECS instances that must be scaled. ECS instances in the warmup state are not counted towards the current capacity of the scaling group.'."\n" + ."\n" + .'Valid values: 0 to 86400. Unit: seconds.'."\n" + ."\n" + .'Default value: 300.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'title' => ''], ], [ - 'name' => 'IoOptimized', + 'name' => 'MetricName', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to create an I/O optimized instance. Valid values:'."\n" - ."\n" - .'none: does not create an I/O optimized instance. optimized: creates an I/O optimized instance.'."\n" - ."\n" - .'For instances of retired instance types, the default value is none. For instances of other instance types, the default value is optimized.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'optimized', - ], + 'schema' => ['description' => 'The predefined metric that you want to monitor. If you set ScalingRuleType to TargetTrackingScalingRule or PredictiveScalingRule, you must specify this parameter.'."\n" + ."\n" + .'Valid values if you set ScalingRuleType to TargetTrackingScalingRule:'."\n" + ."\n" + .'* CpuUtilizationAgent (recommended): the CPU utilization.'."\n" + .'* MemoryUtilization (recommended): the memory usage.'."\n" + .'* CpuUtilization: the average CPU utilization.'."\n" + .'* IntranetTx: the outbound traffic over an internal network.'."\n" + .'* IntranetRx: the average inbound traffic over an internal network.'."\n" + .'* VpcInternetTx: the outbound traffic from a virtual private cloud (VPC) to the Internet.'."\n" + .'* VpcInternetRx: the inbound traffic from the Internet to a VPC.'."\n" + .'* LoadBalancerRealServerAverageQps:the queries per second (QPS) per Application Load Balancer (ALB) server group.'."\n" + ."\n" + .'Valid values if you set ScalingRuleType to PredictiveScalingRule:'."\n" + ."\n" + .'* CpuUtilization: the average CPU utilization.'."\n" + .'* IntranetRx: the average inbound traffic over an internal network.'."\n" + .'* IntranetTx: the average outbound traffic over an internal network.'."\n" + ."\n" + .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization', 'title' => ''], ], [ - 'name' => 'InternetChargeType', + 'name' => 'TargetValue', 'in' => 'query', - 'schema' => [ - 'description' => 'The metering method for network usage. Valid values:'."\n" - ."\n" - .'* PayByBandwidth: You are charged for the maximum available bandwidth that is specified by InternetMaxBandwidthOut.'."\n" - .'* PayByTraffic: You are charged based on the amount of transferred data. InternetMaxBandwidthOut specifies only the maximum available bandwidth.'."\n" - ."\n" - .'For the classic network, the default value is PayByBandwidth. For VPCs, the default value is PayByTraffic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PayByTraffic', - ], + 'schema' => ['description' => 'The target value. This parameter is required only if you set the ScalingRuleType parameter to TargetTrackingScalingRule or PredictiveScalingRule. The value must be greater than 0 and can have up to three decimal places.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.125', 'title' => ''], ], [ - 'name' => 'InternetMaxBandwidthIn', + 'name' => 'DisableScaleIn', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum inbound public bandwidth. Unit: Mbit/s. Valid values:'."\n" - ."\n" - .'* If the purchased outbound public bandwidth is less than or equal to 10 Mbit/s, the valid values of this parameter are 1 to 10, and the default value is 10.'."\n" - .'* If the purchased outbound public bandwidth is greater than 10 Mbit/s, the valid values of this parameter are 1 to the value of `InternetMaxBandwidthOut`, and the default value is the value of `InternetMaxBandwidthOut`.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], + 'schema' => ['description' => 'Specifies whether to disable scale-in. This parameter is available only if you set ScalingRuleType to TargetTrackingScalingRule.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false', 'title' => ''], ], [ - 'name' => 'InternetMaxBandwidthOut', + 'name' => 'ScaleInEvaluationCount', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 0 to 100.'."\n" - ."\n" - .'Default value: 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The number of consecutive times that the event-triggered task created for scale-in activities must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and then associated with the target tracking scaling rule.'."\n" + ."\n" + .'Default value: 15.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '15', 'title' => ''], ], [ - 'name' => 'SystemDisk.Category', + 'name' => 'ScaleOutEvaluationCount', 'in' => 'query', - 'schema' => [ - 'description' => 'The category of the system disk. Valid values:'."\n" - ."\n" - .'* cloud: basic disk'."\n" - .'* cloud_efficiency: ultra disk'."\n" - .'* cloud_ssd: standard SSD'."\n" - .'* ephemeral_ssd: local SSD'."\n" - .'* cloud_essd: enhanced SSD (ESSD)'."\n" - .'* cloud_auto: ESSD AutoPL disk'."\n" - ."\n" - .'If you specify SystemDisk.Category, you cannot specify `SystemDiskCategories`. If you do not specify SystemDisk.Category or `SystemDiskCategories`, the default value of SystemDisk.Category is used.'."\n" - ."\n" - .'* For I/O optimized instances, the default value is cloud_efficiency.'."\n" - .'* For non-I/O optimized instances, the default value is cloud.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_ssd', - ], + 'schema' => ['description' => 'The number of consecutive times that the event-triggered task created for scale-out activities must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and then associated with the target tracking scaling rule.'."\n" + ."\n" + .'Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], ], [ - 'name' => 'SystemDisk.Size', + 'name' => 'PredictiveScalingMode', 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the system disk. Unit: GiB.'."\n" - ."\n" - .'* Basic disk: 20 to 500.'."\n" - ."\n" - .'* ESSD (cloud_essd): The valid values vary based on the performance level of the ESSD.'."\n" - ."\n" - .' * PL0 ESSD: 1 to 2048.'."\n" - .' * PL1 ESSD: 20 to 2048.'."\n" - .' * PL2 ESSD: 461 to 2048.'."\n" - .' * PL3 ESSD: 1261 to 2048.'."\n" - ."\n" - .'* ESSD AutoPL disk (cloud_auto): 1 to 2048.'."\n" - ."\n" - .'* Other disk categories: 20 to 2048.'."\n" - ."\n" - .'The value of this parameter must be at least 1 and greater than or equal to the image size.'."\n" - ."\n" - .'Default value: 40 or the size of the image, whichever is larger.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], + 'schema' => ['description' => 'The mode of the predictive scaling rule. Valid values:'."\n" + ."\n" + .'* PredictAndScale: produces predictions and creates prediction tasks.'."\n" + .'* PredictOnly: produces predictions but does not create prediction tasks.'."\n" + ."\n" + .'Default value: PredictAndScale.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PredictAndScale', 'title' => ''], ], [ - 'name' => 'SystemDisk.DiskName', + 'name' => 'PredictiveValueBehavior', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the system disk. The name must be 2 to 128 characters in length. The name can contain letters, digits, colons (:), underscores (\\_), and hyphens (-). The name must start with a letter but cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloud_ssdSystem', - ], + 'schema' => ['description' => 'The maximum value for predication tasks. Valid values:'."\n" + ."\n" + .'* MaxOverridePredictiveValue: uses the initial maximum capacity as the maximum value for prediction tasks if the predicted value is greater than the initial maximum capacity.'."\n" + .'* PredictiveValueOverrideMax: uses the predicted value as the maximum value for prediction tasks if the predicted value is greater than the initial maximum capacity.'."\n" + .'* PredictiveValueOverrideMaxWithBuffer: increases the predicted value by a percentage that is specified by the PredictiveValueBuffer parameter. If the predicted value that is increased by the percentage is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks.'."\n" + ."\n" + .'Default value: MaxOverridePredictiveValue.'."\n", 'type' => 'string', 'required' => false, 'example' => 'MaxOverridePredictiveValue', 'title' => ''], ], [ - 'name' => 'SystemDisk.Description', + 'name' => 'PredictiveValueBuffer', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the system disk. The description must be 2 to 256 characters in length. The description can contain letters and cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test system disk.', - ], + 'schema' => ['description' => 'The ratio based on which the predicted value is increased when you set `PredictiveValueBehavior` to `PredictiveValueOverrideMaxWithBuffer`. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.'."\n" + ."\n" + .'Default value: 0.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], ], [ - 'name' => 'SystemDisk.AutoSnapshotPolicyId', + 'name' => 'PredictiveTaskBufferTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the automatic snapshot policy that you want to apply to the system disk.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sp-bp12m37ccmxvbmi5****', - ], + 'schema' => ['description' => 'The amount of buffer time before the prediction task is executed. By default, all prediction tasks that are automatically created for a predictive scaling rule are executed on the hour. You can specify an amount of buffer time for resource preparation before the prediction tasks are executed. Valid values: 0 to 60. Unit: minutes.'."\n" + ."\n" + .'Default value: 0.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''], ], [ - 'name' => 'SystemDisk.PerformanceLevel', + 'name' => 'InitialMaxSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The performance level (PL) of the system disk that is an enhanced SSD (ESSD). Valid values:'."\n" - ."\n" - .'* PL0: An ESSD can provide up to 10,000 random read/write IOPS.'."\n" - .'* PL1: An ESSD can provide up to 50,000 random read/write IOPS.'."\n" - .'* PL2: An ESSD can provide up to 100,000 random read/write IOPS.'."\n" - .'* PL3: An ESSD can provide up to 1,000,000 random read/write IOPS.'."\n" - ."\n" - .'Default value: PL1.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PL0', - ], + 'schema' => ['description' => 'The maximum number of ECS instances that can be contained in the scaling group. If you specify InitialMaxSize, you must specify `PredictiveValueBehavior`.'."\n" + ."\n" + .'The default value of this parameter is the value of MaxSize.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], ], [ - 'name' => 'ScalingConfigurationName', + 'name' => 'StepAdjustments', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'Details of the step adjustments.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the step adjustments.'."\n", + 'type' => 'object', + 'properties' => [ + 'MetricIntervalUpperBound' => ['description' => 'The upper limit that is specified in a step adjustment. Valid values: -9.999999E18 to 9.999999E18.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '5.0', 'title' => ''], + 'ScalingAdjustment' => ['description' => 'The number of ECS instances that you want to scale in a step adjustment. This parameter is available only if you set the ScalingRuleType parameter to StepScalingRule.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'MetricIntervalLowerBound' => ['description' => 'The lower limit specified in a step adjustment. This parameter is available only if you set the ScalingRuleType parameter to StepScalingRule. Valid values: -9.999999E18 to 9.999999E18.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'scalingconfig****', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'LoadBalancerWeight', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The weight of an ECS instance as a backend server. Valid values: 1 to 100.'."\n" - ."\n" - .'Default value: 50'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'Tags', + 'name' => 'AlarmDimensions', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The metric dimensions. This parameter is applicable to target tracking scaling rules. If your predefined metric requires extra dimensions, you must specify this parameter. For example, if you use LoadBalancerRealServerAverageQps as your predefined metric, you must use this parameter to specify the rulePool dimension.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Dimension information values for monitoring metrics. This parameter applies to target tracking rules and is used when additional dimension information is required for a metric. For example, the LoadBalancerRealServerAverageQps metric requires specifying the rulePool dimension key-value pair.', + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => ['description' => 'The dimension key of the metric.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rulePool', 'title' => ''], + 'DimensionValue' => ['description' => 'The dimension value of the metric.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sgp-l1cbirz451yxuxxx', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '{"key1":"value1","key2":"value2", ... "key5":"value5"}', + 'maxItems' => 5, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'UserData', + 'name' => 'MetricType', 'in' => 'query', - 'schema' => [ - 'description' => 'The user data of the Elastic Compute Service (ECS) instance. The user data must be encoded in Base64 format. The size of raw data before Base64 encoding cannot exceed 32 KB.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'echo hello ecs! '."\n", - ], + 'schema' => ['description' => 'The metric type. Valid values:'."\n" + ."\n" + .'* system: system metrics of CloudMonitor.'."\n" + .'* custom: custom metrics that are reported to CloudMonitor.'."\n" + .'* hybrid: metrics of Hybrid Cloud Monitoring.'."\n", 'type' => 'string', 'required' => false, 'example' => 'system', 'title' => ''], ], [ - 'name' => 'KeyPairName', + 'name' => 'HybridMonitorNamespace', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the key pair that you want to use to log on to an ECS instance.'."\n" - ."\n" - .'* Windows instances do not support this parameter.'."\n" - .'* By default, the username and password authentication method is disabled for Linux instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'KeyPairTest', - ], + 'schema' => ['description' => 'The ID of the Hybrid Cloud Monitoring namespace.'."\n" + ."\n" + .'For information about how to manage Hybrid Cloud Monitoring namespaces, see [Manage namespaces](~~217606~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'aliyun-test', 'title' => ''], ], [ - 'name' => 'RamRoleName', + 'name' => 'HybridMetrics', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The Hybrid Cloud Monitoring metrics. For more information, see [Create a custom target tracking scaling rule](~~2852162~~).'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => ['description' => 'The reference ID of the metric in the metric expression.'."\n", 'type' => 'string', 'required' => false, 'example' => 'a', 'title' => ''], + 'Expression' => ['description' => 'The metric expression that consists of multiple Hybrid Cloud Monitoring metrics. It calculates a result used to trigger scaling events.'."\n" + ."\n" + .'The expression must be written in Reverse Polish Notation (RPN) format and supports only the following operators: `+, -, *, /`.'."\n", 'type' => 'string', 'required' => false, 'example' => '(a+b)/2', 'title' => ''], + 'MetricName' => ['description' => 'The name of the Hybrid Cloud Monitoring metric.'."\n", 'type' => 'string', 'required' => false, 'example' => 'AliyunSmq_NumberOfMessagesVisible', 'title' => ''], + 'Statistic' => ['description' => 'The statistical method of the metric value. Valid values:'."\n" + ."\n" + .'* Average: calculates the average value of all metric values within a specified interval.'."\n" + .'* Minimum: calculates the minimum value of all metric values within a specified interval.'."\n" + .'* Maximum: calculates the maximum value of all metric values within a specified interval.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Average', 'title' => ''], + 'Dimensions' => [ + 'description' => 'The metric dimensions. You can use this parameter to specify the monitored resources.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => ['description' => 'The key of the metric dimension.'."\n", 'type' => 'string', 'required' => false, 'example' => 'queue', 'title' => ''], + 'DimensionValue' => ['description' => 'The value of the metric dimension.'."\n", 'type' => 'string', 'required' => false, 'example' => 'testQueue', 'title' => ''], + ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'ramrole****', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'SecurityEnhancementStrategy', + 'name' => 'AlarmOptions', 'in' => 'query', + 'style' => 'flat', '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', + 'description' => 'Definition of alerting properties.', + 'type' => 'object', + 'properties' => [ + 'Period' => ['description' => 'The period for aggregating monitoring metric data in a target tracking rule, in seconds. Valid values:'."\n" + ."\n" + .'- 15'."\n" + .'- 60'."\n" + .'- 120'."\n" + .'- 300'."\n" + .'- 900'."\n" + ."\n" + .'> Default Value: 60.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], + ], 'required' => false, - 'example' => 'Active', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'InstanceName', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The name of the ECS instance that Auto Scaling creates based on the scaling configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'instance****', + 'type' => 'object', + 'properties' => [ + 'ScalingRuleAri' => ['description' => 'The unique identifier of the scaling rule.'."\n", 'type' => 'string', 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'ScalingRuleId' => ['description' => 'The ID of the scaling rule, which is generated by the system and is globally unique.'."\n", 'type' => 'string', 'example' => 'asr-bp1dvirgwkoowxk7****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - '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****', + ], + 'title' => 'Create a scaling rule', + 'description' => 'A scaling rule defines specific scale-out or scale-in operations, such as adding or removing N instances. If executing a scaling rule would cause the number of ECS or ECI instances in the scaling group to fall below MinSize or exceed MaxSize, automatic scaling automatically adjusts the number of ECS or ECI instances to be added or removed so that the actual instance count reaches MinSize or MaxSize. However, the configured value of the scaling rule remains unchanged. Examples are as follows:'."\n" + ."\n" + .'- For a scaling group with MaxSize=3 and a current Total Capacity of 2, if the scaling rule specifies adding 3 ECS instances, only 1 ECS instance will actually be added during execution, but the configured value of the scaling rule remains 3.'."\n" + .'- For a scaling group with MinSize=2 and a current Total Capacity of 3, if the scaling rule specifies removing 5 ECS instances, only 1 ECS instance will actually be removed during execution, but the configured value of the scaling rule remains 5.'."\n" + ."\n" + .'Please note the following parameter-related descriptions:'."\n" + ."\n" + .'- When AdjustmentType is TotalCapacity, it means adjusting the current number of ECS or ECI instances in the scaling group to the specified quantity. The corresponding AdjustmentValue must be greater than or equal to 0.'."\n" + .'- When AdjustmentType is QuantityChangeInCapacity or PercentChangeInCapacity, a positive AdjustmentValue indicates adding instances, while a negative value indicates removing instances.'."\n" + .'- When AdjustmentType is PercentChangeInCapacity, the automatic scaling service calculates the number of ECS or ECI instances to add or remove by multiplying the current instance count (Total Capacity) by AdjustmentValue/100 and then applying rounding.'."\n" + .'- If a cooldown time (Cooldown) is specified in the scaling rule, the scaling group enters a cooldown period for the specified duration after the scaling activity triggered by this rule completes. If no cooldown time is specified in the scaling rule, the default cooldown time (DefaultCooldown) of the scaling group is used.'."\n" + .'- There is a limit on the number of scaling rules that can be created within a single scaling group. For details, see [Limits](~~25863~~).'."\n" + .'- The returned Unique Identifier (ScalingRuleAri) of the scaling rule can be used with the following APIs:'."\n" + .' - Specify it in the ScalingRuleAri parameter when invoking ExecuteScalingRule to manually execute the scaling rule.'."\n" + .' - Specify it in the ScheduledAction parameter when creating a scheduled task (CreateScheduledTask) to execute the scaling rule at a scheduled time.'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateScalingRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingRuleAri\\": \\"ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingRuleId\\": \\"asr-bp1dvirgwkoowxk7****\\"\\n}","type":"json"}]', + ], + 'CreateScheduledTask' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => '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', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '125330', + 'abilityTreeNodes' => ['FEATUREess30IPAO'], + ], + 'parameters' => [ [ - 'name' => 'PasswordInherit', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the password that is preconfigured in the image. Before you use this parameter, make sure that a password is configured in the image. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The region ID of the scheduled task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao'], ], [ - 'name' => 'Password', + 'name' => 'ScheduledTaskName', 'in' => 'query', - 'schema' => [ - 'description' => 'The password that you want to use to log on to an ECS instance. The password must be 8 to 30 characters in length and must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. The following special characters are supported:'."\n" - ."\n" - .'`` `() ~!@#$%^&*-_+=\\|{}[]:;\'<>,.?/ ``'."\n" - ."\n" - .'The password of a Windows instance cannot start with a forward slash (/).'."\n" - ."\n" - .'> For security reasons, we recommend that you use HTTPS to send requests if you specify Password.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123abc****', - ], + 'schema' => ['description' => 'The 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' => 'ResourceGroupId', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group to which the ECS instances that are created by using the scaling configuration belong.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-resource****', - ], + 'schema' => ['description' => 'The 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' => 'HpcClusterId', + 'name' => 'ScheduledAction', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Elastic High Performance Computing (E-HPC) cluster to which the ECS instances that are created by using the scaling configuration belong.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hpc-clusterid', - ], + 'schema' => ['description' => 'The 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' => 'InstanceDescription', + 'name' => 'RecurrenceEndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the ECS instance. The description must be 2 to 256 characters in length. The description can contain letters and cannot start with `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test instance.', - ], + 'schema' => ['description' => 'The 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' => 'ClientToken', + 'name' => 'LaunchTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see the "[How to ensure the idempotence of a request](~~25693~~)" topic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The 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' => 'Ipv6AddressCount', + 'name' => 'RecurrenceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of randomly generated IPv6 addresses that you want to allocate to the elastic network interface (ENI).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The 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' => 'CreditSpecification', + 'name' => 'RecurrenceValue', 'in' => 'query', - 'schema' => [ - 'description' => 'The performance mode of the burstable instance. Valid values:'."\n" - ."\n" - .'* Standard: standard mode'."\n" - .'* Unlimited: unlimited mode'."\n" - ."\n" - .'For more information, see the "Performance modes" section in the "[Overview](~~59977~~)" topic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Standard', - ], + 'schema' => ['description' => 'The 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' => 'ImageFamily', + 'name' => 'TaskEnabled', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the image family. If you specify this parameter, the most recent custom images that are available in the specified image family are returned. You can use the images to create instances. If you specify ImageId, you cannot specify ImageFamily.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hangzhou-daily-update', - ], + 'schema' => ['description' => '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' => 'ZoneId', + 'name' => 'LaunchExpirationTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The zone ID of the ECS instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-g', - ], + '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' => 'DedicatedHostId', + 'name' => 'MinValue', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the dedicated host on which you want to create an ECS instance. You cannot create preemptible instances on dedicated hosts. If you specify DedicatedHostId, SpotStrategy and SpotPriceLimit are ignored.'."\n" - ."\n" - .'You can call the DescribeDedicatedHosts operation to query dedicated host IDs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'dh-bp67acfmxazb4p****', - ], + 'schema' => ['description' => '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' => 'Affinity', + 'name' => 'MaxValue', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to associate an ECS instance on a dedicated host with the dedicated host. Valid values:'."\n" - ."\n" - .'* default: does not associate the ECS instance with the dedicated host. If you start an ECS instance that was stopped in economical mode and the original dedicated host has insufficient resources, the ECS instance is automatically deployed to another dedicated host in the automatic deployment resource pool.'."\n" - .'* host: associates the ECS instance with the dedicated host. If you start an ECS instance that was stopped in economical mode, the instance remains on the original dedicated host. If the original dedicated host has insufficient resources, the ECS instance fails to start.'."\n" - ."\n" - .'Default value: default'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], + 'schema' => ['description' => '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' => 'Tenancy', + 'name' => 'DesiredCapacity', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to create an ECS instance on a dedicated host. Valid values:'."\n" - ."\n" - .'* default: does not create an ECS instance on a dedicated host.'."\n" - .'* host: creates an ECS instance on a dedicated host. If you do not specify DedicatedHostId, Alibaba Cloud selects a dedicated host for the ECS instance.'."\n" - ."\n" - .'Default value: default'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], + 'schema' => ['description' => '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' => 'SchedulerOptions', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'style' => 'json', + 'schema' => ['description' => 'The ID of the scaling group. If you specify this parameter, the number of instances in the scaling group will be changed when the scheduled task is triggered.'."\n" + ."\n" + .'If you specify `ScalingGroupId`, you must also specify at least one of the following parameters: `MinValue`, `MaxValue`, and `DesiredCapacity`. You cannot specify `ScheduledAction` and `ScalingGroupId` at the same time.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The scheduler options.'."\n", 'type' => 'object', - 'required' => false, - 'example' => '["testManagedPrivateSpaceId****"]', + 'properties' => [ + 'ScheduledTaskId' => ['description' => 'The globally unique ID of the scheduled task. The globally unique ID is generated by the system.'."\n", 'type' => 'string', 'example' => 'edRtShc57WGXdt8TlPbr****'], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + ], + 'description' => '', + ], + ], + ], + 'title' => 'CreateScheduledTask', + 'summary' => 'Creates a scheduled task. A scheduled task is a type of scaling task that enables automatic execution of a specific scaling rule at a specified point in time. You can call the CreateScheduledTask operation to create a scheduled task to implement automatic scaling of computing resources. This ensures your business continuity and minimizes resource costs.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateScheduledTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScheduledTaskId\\": \\"edRtShc57WGXdt8TlPbr****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'DeleteAlarm' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'PrivatePoolOptions.MatchCriteria', + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '125349', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the private pool that you want to use to start ECS instances. A private pool is generated when an elasticity assurance or a capacity reservation takes effect. You can select a private pool to create ECS instances. Valid values:'."\n" - ."\n" - .'* Open: open private pool. Auto Scaling selects a matching open private pool to start instances. If no matching open private pools are found, Auto Scaling uses the resources in the public pool to start instances. In this case, you do not need to specify PrivatePoolOptions.Id.'."\n" - .'* Target: specified private pool. Auto Scaling uses the resources in the specified private pool to start ECS instances. If the specified private pool is unavailable, Auto Scaling cannot start ECS instances. If you set this parameter to Target, you must specify PrivatePoolOptions.Id.'."\n" - .'* None: no private pool. Auto Scaling does not use the resources in private pools to start ECS instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Open', - ], + 'schema' => ['description' => 'The ID of the region.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao'], ], [ - 'name' => 'PrivatePoolOptions.Id', + 'name' => 'AlarmTaskId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the event-triggered task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The 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****', + 'type' => 'object', + 'properties' => [ + 'AlarmTaskId' => ['description' => 'The ID of the event-triggered task.'."\n", 'type' => 'string', 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****'], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****'], + ], + 'description' => '', + ], + ], + ], + 'title' => 'DeleteAlarm', + 'summary' => 'Deletes an event-triggered task. If your business pattern is unpredictable or prone to unforeseen traffic spikes, you can create event-triggered tasks by associating CloudMonitor metrics to effectively monitor fluctuations in your business workload. Upon detecting that the criteria for alerts, as specified in event-triggered tasks, are fulfilled, Auto Scaling promptly issues alerts and executes the scaling rules predefined within those tasks. This process occurs within the predefined effective time windows of the tasks, thereby facilitating the automatic increase or decrease of Elastic Compute Service (ECS) instances or elastic container instances within your scaling groups. Ultimately, this mechanism ensures the dynamic optimization of resources based on real-time workload demands. If you no longer need an event-triggered task, you can call the DeleteAlarm operation to delete it.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\",\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\"\\n}","type":"json"}]', + ], + 'DeleteDiagnoseReport' => [ + 'summary' => 'Deletes a health diagnosis report for a scaling group.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'SpotDuration', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '221454', + 'abilityTreeNodes' => ['FEATUREessXZ2M1E'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The retention period of the preemptible instance. Unit: hours. Valid values: 0, 1, 2, 3, 4, 5, and 6.'."\n" - ."\n" - .'* The following retention periods are available in invitational preview: 2, 3, 4, 5, and 6 hours. If you want to set this parameter to one of these values, submit a ticket.'."\n" - .'* If you set this parameter to 0, no protection period is specified for the preemptible instance.'."\n" - ."\n" - .'Default value: 1'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The region ID'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'SpotInterruptionBehavior', + 'name' => 'ReportId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the diagnostic report.'."\n", 'type' => 'string', 'required' => true, 'example' => 'dr-j6c7wvdzk5103xxxxx', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The 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', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + ], + 'example' => '', + ], + ], + ], + 'title' => 'DeleteDiagnoseReport', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteDiagnoseReport', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'DeleteEciScalingConfiguration' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '125381', + 'abilityTreeNodes' => ['FEATUREessTZHE2G'], + ], + 'parameters' => [ [ - 'name' => 'InstanceTypes', + 'name' => 'ScalingConfigurationId', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The ID of the scaling configuration that you want to delete.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asc-bp1bx8mzur534edp****'], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '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" + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.'."\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', + .'The request ID is consistently returned in the response, irrespective of whether the request is executed successfully or encounters an error.'."\n", 'type' => 'string', 'example' => '45D5B0AD-3B00-4A9B-9911-6D5303B06712'], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'Forbidden.RiskControl', 'description' => ''], + ], + ], + 'title' => 'DeleteEciScalingConfiguration', + 'summary' => 'Deletes a scaling configuration of the Elastic Container Instance type. If the scaling configuration of a scaling group is in the Inactive state and the scaling group contains no elastic container instances created from the scaling configuration, you can call the DeleteEciScalingConfiguration operation to delete the scaling configuration to free up the scaling configuration quota.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteEciScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, - 'maxItems' => 20, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"45D5B0AD-3B00-4A9B-9911-6D5303B06712\\"\\n}","type":"json"}]', + ], + 'DeleteLifecycleHook' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'InstanceTypeOverrides', + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '125343', + 'abilityTreeNodes' => ['FEATUREessZQ2TYX'], + ], + 'parameters' => [ + [ + 'name' => 'LifecycleHookId', 'in' => 'query', - 'style' => 'repeatList', + '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 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, + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + ], + ], + ], + 'title' => 'DeleteLifecycleHook', + 'summary' => 'Deletes a lifecycle hook. If you no longer require a lifecycle hook, you can call the DeleteLifecycleHook operation to delete it, which frees up the lifecycle hook quota.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteLifecycleHook', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, - 'maxItems' => 20, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'DeleteNotificationConfiguration' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'DataDisks', - 'in' => 'query', - 'style' => 'repeatList', + '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' => [ - '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, + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'DeleteNotificationConfiguration', + 'summary' => 'Deletes event notification rules. The event notification feature facilitates efficient issue identification and event management by automatically forwarding notifications from Auto Scaling to designated endpoints such as CloudMonitor or Message Service (MNS) topics and queues. If you no longer require an event notification rule, you can call the DeleteNotificationConfiguration operation to delete it.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteNotificationConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, - 'maxItems' => 16, ], ], + ], + ], + 'DeleteScalingConfiguration' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'SpotPriceLimits', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '125387', + 'abilityTreeNodes' => ['FEATUREessTZHE2G'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingConfigurationId', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The ID of the scaling configuration that you want to delete.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asc-bp1bx8mzur534edp****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The 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, + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request. The request ID is returned regardless of whether the call is successful.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + ], + 'enumValueTitles' => [], + ], + ], + ], + 'title' => 'DeleteScalingConfiguration', + 'summary' => 'Deletes a scaling configuration that is used to create Elastic Compute Service (ECS) instances.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, - 'maxItems' => 20, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'DeleteScalingGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'SecurityGroupIds', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '125373', + 'abilityTreeNodes' => ['FEATUREess909XOL'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', 'in' => 'query', - 'style' => 'repeatList', + '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' => [ - '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****', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + 'description' => '', + ], + ], + ], + 'title' => 'DeleteScalingGroup', + 'summary' => 'Deletes a scaling group. If you want to enable policy-based automatic addition or removal of instances of a specific type to meet evolving business requirements, you can create scaling groups to manage your computing power with ease. The computing power refers to the instances that provide the computing capability. If you no longer require a scaling group, you can call the DeleteScalingGroup operation to delete it to free up the scaling group quota.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, - 'maxItems' => 16, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'DeleteScalingRule' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'InstancePatternInfos', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '125395', + 'abilityTreeNodes' => ['FEATUREessRTZKQT'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingRuleId', 'in' => 'query', - 'style' => 'repeatList', + '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' => [ - '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, + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], - 'required' => false, - 'maxItems' => 10, + 'description' => '', ], ], - [ - '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', + ], + 'title' => 'DeleteScalingRule', + 'summary' => 'Deletes a scaling rule.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteScalingRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, - 'maxItems' => 10, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'DeleteScheduledTask' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'SystemDisk.Encrypted', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '125331', + 'abilityTreeNodes' => ['FEATUREess30IPAO'], + ], + 'parameters' => [ + [ + 'name' => 'ScheduledTaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to encrypt the system disk. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The 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' => 'SystemDisk.KMSKeyId', + 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scheduled task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The 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****', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'DeleteScheduledTask', + 'summary' => 'Deletes scheduled tasks. For workloads with predictable patterns, you can create scheduled tasks to align with your business requirements and optimize resource utilization for cost savings. These tasks automatically ensure that sufficient computing resources are provisioned in anticipation of peak hours and efficiently release unused resources during off-peak hours, thereby streamlining operational efficiency and reducing expenses. If you no longer require a scheduled task, you can call the DeleteScheduledTask operation to delete it.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteScheduledTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + ], + 'DescribeAlarms' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'SystemDisk.EncryptAlgorithm', + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '125355', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The encryption algorithm that you want to use to encrypt the system disk. Valid values:'."\n" - ."\n" - .'* AES-256'."\n" - .'* SM4-128'."\n" - ."\n" - .'Default value: AES-256'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AES-256', - ], + 'schema' => ['description' => 'The region ID of the event-triggered task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao'], ], [ - 'name' => 'SystemDisk.ProvisionedIops', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The IOPS metric that is preconfigured for the system disk.'."\n" - ."\n" - .'> IOPS measures the number of read and write operations that an EBS device can process per second.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '100', - ], + 'schema' => ['description' => 'The ID of the scaling group with which the event-triggered task is associated.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****'], ], [ - 'name' => 'SystemDisk.BurstingEnabled', + 'name' => 'AlarmTaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the burst feature for the system disk. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'> This parameter is available only if you set `SystemDisk.Category` to `cloud_auto`.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The ID of the event-triggered task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****'], ], [ - 'name' => 'ImageOptions.LoginAsNonRoot', + 'name' => 'State', 'in' => 'query', - 'schema' => [ - 'description' => 'For more information about whether an ECS instance uses the ecs-user user user to log on to an ECS instance, see [Manage the login name of an ECS instance](~~388447~~). Value range:'."\n" - ."\n" - .'- true: Yes.'."\n" - .'- false: No.'."\n" - ."\n" - .'Default value: false.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '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' => 'DeletionProtection', + 'name' => 'IsEnable', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + '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' => 'StorageSetId', + 'name' => 'MetricType', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'ss-bp67acfmxazb4p****', - ], + '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' => 'StorageSetPartitionNumber', + 'name' => 'MetricName', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'The metric name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization'], ], [ - 'name' => 'CustomPriorities', + 'name' => 'PageSize', '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, - ], + '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' => 'NetworkInterfaces', + 'name' => 'PageNumber', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The page number. Pages start from page 1.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '', - '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', + '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)'], ], - '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', - ], + ], + 'title' => 'DescribeAlarms', + 'summary' => 'Queries event-triggered tasks. You can call the DescribeAlarms operation to learn about the configurations of event-triggered tasks and keep updated on monitoring data changes. This helps you troubleshoot system resource issues at the earliest opportunity and ensures system stability and reliability.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeAlarms', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"871C7C53-34A4-45AA-8C14-4B72FA6A****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"AlarmList\\": [\\n {\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\",\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"EvaluationCount\\": 3,\\n \\"State\\": \\"ALARM\\",\\n \\"Period\\": 300,\\n \\"ScalingGroupId\\": \\"asg-bp18p2yfxow2dloq****\\",\\n \\"ComparisonOperator\\": \\">=\\",\\n \\"Effective\\": \\"Test\\",\\n \\"Description\\": \\"Test alarm task.\\",\\n \\"MetricType\\": \\"system\\",\\n \\"Name\\": \\"TestAlarmTask\\",\\n \\"Threshold\\": 80,\\n \\"Enable\\": true,\\n \\"Statistics\\": \\"Average\\",\\n \\"Dimensions\\": [\\n {\\n \\"DimensionKey\\": \\"device\\",\\n \\"DimensionValue\\": \\"eth0\\"\\n }\\n ],\\n \\"AlarmActions\\": [\\n \\"ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp163l21e07uh****\\"\\n ],\\n \\"Expressions\\": [\\n {\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"ComparisonOperator\\": \\">=\\",\\n \\"Period\\": 900,\\n \\"Statistics\\": \\"Average\\",\\n \\"Threshold\\": 40\\n }\\n ],\\n \\"ExpressionsLogicOperator\\": \\"&&\\",\\n \\"HybridMonitorNamespace\\": \\"aliyun-test\\",\\n \\"HybridMetrics\\": [\\n {\\n \\"Id\\": \\"a\\",\\n \\"Expression\\": \\"(a+b)/2\\",\\n \\"MetricName\\": \\"AliyunSmq_NumberOfMessagesVisible\\",\\n \\"Statistic\\": \\"Average\\",\\n \\"Dimensions\\": [\\n {\\n \\"DimensionKey\\": \\"queue\\",\\n \\"DimensionValue\\": \\"testQueue\\"\\n }\\n ]\\n }\\n ],\\n \\"PromQL\\": \\"(avg(last_over_time(AliyunMnsnew_ActiveMessages{region=\'cn-hangzhou\',userId=\'123456****\',queue=\'testQueue\'}[900s])) by (userId))/(avg(last_over_time(AliyunEss_RunningInstanceCount{instanceId=\'asg-bp1****\'}[900s])) by (userId) != 0)\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeAlertConfiguration' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => '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', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '208814', + 'abilityTreeNodes' => ['FEATUREessFY8KDA'], + ], + 'parameters' => [ [ - 'name' => 'HttpTokens', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to forcibly use the security hardening mode (IMDSv2) to access instance metadata. Valid values:'."\n" - ."\n" - .'* optional: does not forcibly use the security hardening mode (IMDSv2).'."\n" - .'* required: forcibly uses the security hardening mode (IMDSv2). If you set this parameter to required, you cannot access instance metadata in normal mode.'."\n" - ."\n" - .'Default value: optional.'."\n" - ."\n" - .'> For more information about instance metadata access modes, see [Access modes of instance metadata](~~108460~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'optional', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'], ], [ - 'name' => 'ResourcePoolOptions', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'flat', + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The resource pools used for instance creation, which can be the public pool or a private pool associated with any active elasticity assurance or capacity reservation. When you specify this parameter, take note of the following items:'."\n" - ."\n" - .'* This parameter takes effect only when you create pay-as-you-go instances.'."\n" - .'* If you specify this parameter, you cannot specify PrivatePoolOptions.MatchCriteria or PrivatePoolOptions.Id.'."\n", 'type' => 'object', 'properties' => [ - 'Strategy' => [ - 'description' => 'The resource pool used for instance creation, which can be the public pool or a private pool associated with any active elasticity assurance or capacity reservation. Valid values:'."\n" - ."\n" - .'* PrivatePoolFirst: prioritizes private pools. When this option is set along with ResourcePoolOptions.PrivatePoolIds, the specified private pools are used first. If you leave ResourcePoolOptions.PrivatePoolIds empty or if the specified private pools lack sufficient capacity, the system will automatically use available open private pools instead. If no matching private pools are available, the system defaults to the public pool.'."\n" - .'* PrivatePoolOnly: uses only private pools. If you 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", + '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 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, + 'items' => ['description' => 'The status of the scaling activity that triggers text message, internal message, or email-based notifications. Valid values:'."\n" + ."\n" + .'* ScaleSuccessful: Notifications are sent if the scaling activity is successfully complete.'."\n" + .'* ScaleRejected: Notifications are sent if the scaling activity is rejected.'."\n" + .'* ScaleFailed: Notifications are sent if the scaling activity failed.'."\n", 'type' => 'string', 'example' => 'ScaleSuccessful'], ], ], - 'required' => false, + 'description' => '', ], ], ], - '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 \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScaleStatuses\\": [\\n \\"ScaleSuccessful\\"\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeAlertConfiguration', + 'summary' => 'Queries the status of scaling activities that trigger text message, internal message, or email-based notifications. When you call the DescribeAlertConfiguration operation, you must specify the scaling group ID and region ID to query the status of the desired scaling activities. A scaling activity can be in one of the following states: Successful, Failed, and Rejected.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeAlertConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], ], - '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', - ], + 'DescribeCandidateInstanceType' => [ + 'summary' => 'Lists candidate instance types.', + 'path' => '', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -8951,5770 +6307,928 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '133422', - 'abilityTreeNodes' => [ - 'FEATUREessVYTHU5', - ], + 'abilityTreeNodes' => ['FEATUREessU7F1S4'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], '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', - ], + 'schema' => ['description' => 'The ID of the region where the scaling group is located.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'InstanceTypes', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The page number. Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'maxItems' => 20, + 'description' => 'The specified ECS instance types.', + 'type' => 'array', + 'items' => ['description' => 'An ECS instance type.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], 'required' => false, - 'example' => '1', - 'default' => '1', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'PageSize', + 'name' => 'ZoneIds', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The number of entries per page. Maximum value: 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'maxItems' => 20, + 'description' => 'The specified availability zones.', + 'type' => 'array', + 'items' => ['description' => 'The ID of an availability zone.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-b', 'title' => ''], 'required' => false, - 'maximum' => '50', - 'example' => '50', - 'default' => '10', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'AllowDifferentGeneration', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group. You can use the ID to query all scaling configurations in the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp17pelvl720x3v7****', - ], + 'schema' => ['description' => 'Specifies whether to include instance types from other generations as candidates.'."\n" + ."\n" + .'- For example, if the current instance type is ecs.c7.large, you can set this parameter to true to include instance types such as ecs.c6.large and ecs.c8.large in the list of candidates.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'ScalingConfigurationIds', + 'name' => 'AllowCrossAz', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to include vSwitches from other availability zones as candidates.'."\n" + ."\n" + .'> The instance types remain unchanged. Only new availability zones are added as candidates. If a scaling group fails to scale out in all selected availability zones due to issues such as insufficient inventory, Auto Scaling automatically adds a vSwitch in a new availability zone to the scaling group based on this setting.'."\n" + .'> For example, if a scaling group is configured for the cn-hangzhou-h and cn-hangzhou-g availability zones and a scale-out fails in both zones, Auto Scaling may create a vSwitch in the cn-hangzhou-k availability zone and add it to the scaling group based on real-time inventory.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'MaxPrice', + 'in' => 'query', + 'schema' => ['description' => 'The maximum price for a candidate instance type.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'SpotStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The bidding strategy for pay-as-you-go instances. Valid values:'."\n" + ."\n" + .'- NoSpot: a standard pay-as-you-go instance.'."\n" + ."\n" + .'- SpotWithPriceLimit: a spot instance with a user-defined maximum price.'."\n" + ."\n" + .'- SpotAsPriceGo: a spot instance where the system automatically bids at the market price.'."\n" + ."\n" + .'Default value: NoSpot.', 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''], + ], + [ + 'name' => 'SystemDiskCategories', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - '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", + 'maxItems' => 100, + 'description' => 'The system disk categories, ordered by priority from high to low. If Auto Scaling cannot create a system disk by using a higher-priority category, it tries the next one in the list.', 'type' => 'array', - 'items' => [ - 'description' => 'The 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****', - ], + 'items' => ['description' => 'The category of the system disk. Valid values:'."\n" + ."\n" + .'- cloud: basic cloud disk.'."\n" + ."\n" + .'- cloud\\_efficiency: ultra cloud disk.'."\n" + ."\n" + .'- cloud\\_ssd: SSD cloud disk.'."\n" + ."\n" + .'- cloud\\_essd: ESSD.'."\n" + ."\n" + .'> If you specify this parameter, you cannot specify `SystemDisk.Category`.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''], 'required' => false, - 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ScalingConfigurationNames', + 'name' => 'DataDiskCategories', '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", + 'maxItems' => 100, + 'description' => 'The data disk categories, ordered by priority from high to low. If Auto Scaling cannot create a data disk by using a higher-priority category, it tries the next one in the list.', 'type' => 'array', - 'items' => [ - 'description' => 'The names of the scaling configurations that you want to query.'."\n" - ."\n" - .'The names of inactive scaling configurations are not displayed in the query results, and no error is reported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalingcon**** '."\n", - ], + 'items' => ['description' => 'The category of the data disk. Valid values:'."\n" + ."\n" + .'- cloud: basic cloud disk.'."\n" + ."\n" + .'- cloud\\_efficiency: ultra cloud disk.'."\n" + ."\n" + .'- cloud\\_ssd: SSD cloud disk.'."\n" + ."\n" + .'- cloud\\_essd: ESSD.'."\n" + ."\n" + .'- ephemeral\\_ssd: local SSD disk.', 'type' => 'string', 'required' => false, 'example' => 'cloud_essd', 'title' => ''], 'required' => false, - 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the image used to create instances.'."\n" + ."\n" + .'> If the specified image contains both a system disk and data disks, any existing data disk information in the scaling configuration is cleared.', 'type' => 'string', 'required' => false, 'example' => 'centos6u5_64_20G_aliaegis****.vhd', 'title' => ''], + ], + [ + 'name' => 'ImageName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the image. The name must be unique within a region. You cannot use this parameter to specify an image from Alibaba Cloud Marketplace.'."\n" + ."\n" + .'> This parameter is an alternative to the `ImageId` parameter. If you specify `ImageId`, `ImageName` is ignored.', 'type' => 'string', 'required' => false, 'example' => 'centos6u5_64_20G_aliaegis_20140703.vhd', 'title' => ''], + ], + [ + 'name' => 'ImageFamily', + 'in' => 'query', + 'schema' => ['description' => 'The name of the image family. When specified, the latest image in this family is used to create instances. This parameter cannot be used with ImageId.'."\n" + ."\n" + .'> If you do not specify the scaling group ID, you must specify at least one of ImageId, ImageName, and ImageFamily.', 'type' => 'string', 'required' => false, 'example' => 'hangzhou-daily-update', 'title' => ''], + ], + [ + 'name' => 'Ipv6AddressCount', + 'in' => 'query', + 'schema' => ['description' => 'The number of IPv6 addresses.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '', + 'title' => 'Schema of Response ', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'ID of the request ', 'description' => 'The unique ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + 'CandidateInstanceTypes' => [ + 'description' => 'A list of candidate ECS instance types.', + 'type' => 'array', + 'items' => ['description' => 'An ECS instance type.', 'type' => 'string', 'example' => 'ecs.c7a.2xlarge', 'title' => ''], + 'title' => '', + 'example' => '', ], - 'TotalCount' => [ - 'description' => 'The total number of scaling configurations.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', + 'CandidateZoneIds' => [ + 'description' => 'A list of candidate availability zones.', + 'type' => 'array', + 'items' => ['description' => 'The ID of an availability zone.', 'type' => 'string', 'example' => 'cn-hangzhou-k', 'title' => ''], + 'title' => '', + 'example' => '', ], - 'ScalingConfigurations' => [ - 'description' => 'The scaling configurations.'."\n", + ], + 'example' => '', + ], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'Query candidate instance types ', + 'changeSet' => [], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"CandidateInstanceTypes\\": [\\n \\"ecs.c7a.2xlarge\\"\\n ],\\n \\"CandidateZoneIds\\": [\\n \\"cn-hangzhou-k\\"\\n ]\\n}","type":"json"}]', + ], + 'DescribeDiagnoseReports' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '221362', + 'abilityTreeNodes' => ['FEATUREessA4Z14P'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shenzhen'], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-2vcis7yglxtm*****'], + ], + [ + 'name' => 'ReportIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the diagnostic reports. You can specify at most 20 IDs.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the diagnostic report.'."\n", 'type' => 'string', 'required' => false, 'example' => 'dr-j6c7wvdzk5103bkm8cx4'], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 0, + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'ECA123C6-107B-5F70-A177-740A7224C996'], + 'Reports' => [ + 'description' => 'The diagnostic reports.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The scaling configuration.'."\n", + 'description' => 'The diagnostic report.'."\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", + 'UserId' => ['description' => 'The user ID of the scaling group.'."\n", 'type' => 'string', 'example' => '161456884*******'], + 'RegionId' => ['description' => 'The ID of the region.'."\n", 'type' => 'string', 'example' => 'cn-qingdao'], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'asg-bp124uve5iph3*****'], + 'Details' => [ + 'description' => 'The details of the diagnostic report.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'Details of the 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****', - ], + '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'], ], - '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', + 'title' => 'DescribeDiagnoseReports', + 'summary' => 'DescribeDiagnoseReports', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeDiagnoseReports', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"ECA123C6-107B-5F70-A177-740A7224C996\\",\\n \\"Reports\\": [\\n {\\n \\"UserId\\": \\"161456884*******\\",\\n \\"RegionId\\": \\"cn-qingdao\\",\\n \\"ScalingGroupId\\": \\"asg-bp124uve5iph3*****\\",\\n \\"Details\\": [\\n {\\n \\"DiagnoseType\\": \\"AccountArrearage\\",\\n \\"ResourceId\\": \\"sg-280ih****\\",\\n \\"Status\\": \\"Normal\\",\\n \\"ErrorCode\\": \\"VSwitchIdNotFound\\"\\n }\\n ],\\n \\"ReportId\\": \\"dr-bp14p0cjp7wvjob5l6hk\\",\\n \\"ProcessStatus\\": \\"Finished\\",\\n \\"DiagnoseStatus\\": \\"Normal\\",\\n \\"CreationTime\\": \\"2024-08-23T02:22:30Z\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 5\\n}","type":"json"}]', + ], + 'DescribeEciScalingConfigurationDetail' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '125383', - 'abilityTreeNodes' => [ - 'FEATUREessT4M3WE', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '212769', + 'abilityTreeNodes' => ['FEATUREessU7F1S4'], ], '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', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Elastic Compute Service (ECS) instance that is automatically created by using the scaling configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'inst****', - ], + 'schema' => ['description' => 'The region ID of the scaling group to which the scaling configuration belongs.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-beijing'], ], [ - 'name' => 'HostName', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The hostname of the ECS instance. The hostname cannot start or end with a period (.) or a hyphen (-). The hostname cannot contain consecutive periods (.) or hyphens (-). Naming conventions for different types of instances:'."\n" - ."\n" - .'* Windows instances: The hostname must be 2 to 15 characters in length, and can contain letters, digits, and hyphens (-). The hostname cannot contain periods (.) or contain only digits.'."\n" - .'* Other instances, such as Linux instances: The hostname must be 2 to 64 characters in length. Separate a hostname into multiple segments with periods (.). Each segment can contain letters, digits, and hyphens (-).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hos****', - ], + 'schema' => ['description' => 'The ID of the scaling group to which the scaling configuration belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp1ffogfdauy0jw0****'], ], [ - 'name' => 'ImageId', + 'name' => 'ScalingConfigurationId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image that is used by Auto Scaling to automatically create ECS instances.'."\n" - ."\n" - .'> If the image that is specified in the scaling configuration contains system disks and data disks, the data that is stored in the data disks is cleared after you modify the image.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'centos6u5_64_20G_aliaegis_2014****.vhd', - ], + 'schema' => ['description' => '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' => 'ImageName', + 'name' => 'OutputFormat', '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", + 'description' => 'The output format. Set the value to YAML.'."\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', + 'enumValueTitles' => ['YAML' => 'YAML'], + 'example' => 'yaml', ], ], - [ - 'name' => 'Memory', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ '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"]', + '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'], ], ], - '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" + '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" - .'> 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', + .'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'], ], ], - 'InitContainerArgs' => [ - 'description' => 'The container startup arguments.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The container startup argument.'."\n", - 'type' => 'string', - 'example' => '10', + ], + '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'], ], ], ], - ], - ], - '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', - ], + 'Commands' => [ + 'description' => 'The container startup commands.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The container startup command.'."\n", 'type' => 'string', 'example' => 'sleep'], ], - ], - ], - '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', - ], + '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'], ], - ], - ], - '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", - ], + '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'], ], ], - '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', + ], + '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'], + ], ], - 'Value' => [ - 'description' => 'The variable value of the option.'."\n", - 'type' => 'string', - 'example' => 'value', + ], + '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'], + ], ], ], - ], - ], - '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\']', + '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'], + ], ], ], - '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', - ], - ], + ], + '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'], ], ], - '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', + ], + '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"], ], ], - '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.*.**', + ], + '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'], ], ], - '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', + ], + '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'], ], ], - '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', + ], + '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"], + ], ], ], - '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', + ], + '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'], ], ], - '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', + ], + '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', + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'Forbidden.RiskControl', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\",\\n \\"ScalingConfiguration\\": {\\n \\"CreationTime\\": \\"2023-05-10T02:39:15Z\\",\\n \\"ScalingConfigurationName\\": \\"scalingconfi****\\",\\n \\"SecurityGroupId\\": \\"sg-bp18kz60mefs****\\",\\n \\"ActiveDeadlineSeconds\\": 60,\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"AutoCreateEip\\": true,\\n \\"ScalingGroupId\\": \\"asg-bp1frlu04fq4zv65b1bh\\",\\n \\"EphemeralStorage\\": 20,\\n \\"Ipv6AddressCount\\": 1,\\n \\"Description\\": \\"This is an example.\\",\\n \\"EipBandwidth\\": 5,\\n \\"ImageSnapshotId\\": \\"imc-2zebxkiifuyzzlhl****\\",\\n \\"Memory\\": 4,\\n \\"RestartPolicy\\": \\"Always\\",\\n \\"SpotPriceLimit\\": 0.025,\\n \\"IngressBandwidth\\": 1024000,\\n \\"CpuOptionsThreadsPerCore\\": 2,\\n \\"TerminationGracePeriodSeconds\\": 60,\\n \\"LoadBalancerWeight\\": 50,\\n \\"DnsPolicy\\": \\"Default\\",\\n \\"HostName\\": \\"hostname\\",\\n \\"EgressBandwidth\\": 10485760,\\n \\"RegionId\\": \\"cn-shanghai\\",\\n \\"RamRoleName\\": \\"ram:PassRole\\\\n\\",\\n \\"Cpu\\": 2,\\n \\"AutoMatchImageCache\\": true,\\n \\"ResourceGroupId\\": \\"rg-acfmwozpmmksakq\\",\\n \\"ContainerGroupName\\": \\"test\\",\\n \\"ScalingConfigurationId\\": \\"asc-2zec39vg84usxdocme6a\\",\\n \\"CpuOptionsCore\\": 2,\\n \\"SlsEnable\\": false,\\n \\"Containers\\": [\\n {\\n \\"ReadinessProbeHttpGetPath\\": \\"/usr/local\\",\\n \\"ReadinessProbeSuccessThreshold\\": 1,\\n \\"LivenessProbePeriodSeconds\\": 5,\\n \\"LivenessProbeTcpSocketPort\\": 80,\\n \\"LivenessProbeHttpGetScheme\\": \\"HTTP\\",\\n \\"WorkingDir\\": \\"/usr/local/nginx\\",\\n \\"Tty\\": true,\\n \\"LivenessProbeHttpGetPort\\": 8080,\\n \\"Gpu\\": 2,\\n \\"ReadinessProbeInitialDelaySeconds\\": 5,\\n \\"Stdin\\": true,\\n \\"Memory\\": 2,\\n \\"Name\\": \\"nginx\\",\\n \\"SecurityContextReadOnlyRootFilesystem\\": true,\\n \\"LivenessProbeHttpGetPath\\": \\"/usr/nginx/\\\\n\\",\\n \\"Image\\": \\"registry-vpc.aliyuncs.com/eci_open/alpine:3.5\\",\\n \\"ReadinessProbeTcpSocketPort\\": 80,\\n \\"ReadinessProbeHttpGetScheme\\": \\"HTTP\\",\\n \\"ReadinessProbeHttpGetPort\\": 80,\\n \\"LivenessProbeSuccessThreshold\\": 1,\\n \\"ReadinessProbeTimeoutSeconds\\": 5,\\n \\"SecurityContextRunAsUser\\": 1000,\\n \\"LivenessProbeInitialDelaySeconds\\": 10,\\n \\"ReadinessProbePeriodSeconds\\": 5,\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"StdinOnce\\": true,\\n \\"Cpu\\": 2,\\n \\"LivenessProbeTimeoutSeconds\\": 10,\\n \\"ReadinessProbeFailureThreshold\\": 3,\\n \\"LivenessProbeFailureThreshold\\": 3,\\n \\"Ports\\": [\\n {\\n \\"Port\\": 8083,\\n \\"Protocol\\": \\"TCP\\"\\n }\\n ],\\n \\"VolumeMounts\\": [\\n {\\n \\"ReadOnly\\": true,\\n \\"SubPath\\": \\"data2/\\\\n\\",\\n \\"Name\\": \\"default-volume1\\",\\n \\"MountPropagation\\": \\"None\\",\\n \\"MountPath\\": \\"/pod/data\\"\\n }\\n ],\\n \\"EnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/bin/\\\\n\\",\\n \\"FieldRefFieldPath\\": \\"fieldPath\\"\\n }\\n ],\\n \\"Commands\\": [\\n \\"sleep\\"\\n ],\\n \\"LivenessProbeExecCommands\\": [\\n \\"cat /tmp/healthy\\"\\n ],\\n \\"Args\\": [\\n \\"100\\"\\n ],\\n \\"ReadinessProbeExecCommands\\": [\\n \\"cat /tmp/healthy\\\\n\\"\\n ],\\n \\"SecurityContextCapabilityAdds\\": [\\n \\"NET_ADMIN\\"\\n ],\\n \\"LifecyclePostStartHandlerHttpGetHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePostStartHandlerHttpGetPort\\": 80,\\n \\"LifecyclePostStartHandlerHttpGetPath\\": \\"/healthyz\\\\n\\",\\n \\"LifecyclePostStartHandlerHttpGetScheme\\": \\"HTTP\\",\\n \\"LifecyclePostStartHandlerExecs\\": [\\n \\"[\\\\\\"/bin/sh\\\\\\", \\\\\\"-c\\\\\\",\\\\\\"echo Hello from the preStop handler > /usr/share/message\\\\\\"]\\"\\n ],\\n \\"LifecyclePostStartHandlerTcpSocketHost\\": \\"10.0.XX.XX\\\\n\\",\\n \\"LifecyclePostStartHandlerTcpSocketPort\\": 80,\\n \\"LifecyclePreStopHandlerHttpGetHost\\": \\"10.0.XX.XX\\\\n\\",\\n \\"LifecyclePreStopHandlerHttpGetPort\\": 80,\\n \\"LifecyclePreStopHandlerHttpGetPath\\": \\"/healthyz\\",\\n \\"LifecyclePreStopHandlerHttpGetScheme\\": \\"HTTP\\",\\n \\"LifecyclePreStopHandlerExecs\\": [\\n \\"[\\\\\\"/bin/sh\\\\\\", \\\\\\"-c\\\\\\",\\\\\\"echo Hello from the preStop handler > /usr/share/message\\\\\\"]\\"\\n ],\\n \\"LifecyclePreStopHandlerTcpSocketHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePreStopHandlerTcpSocketPort\\": 80\\n }\\n ],\\n \\"InitContainers\\": [\\n {\\n \\"SecurityContextReadOnlyRootFilesystem\\": true,\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"WorkingDir\\": \\"/www\\",\\n \\"Cpu\\": 0.5,\\n \\"Image\\": \\"registry-vpc.cn-hongkong.aliyuncs.com/eci_open/nginx:alpine\\",\\n \\"Gpu\\": 1,\\n \\"SecurityContextRunAsUser\\": \\"1000\\",\\n \\"Memory\\": 1,\\n \\"Name\\": \\"test-init\\\\n\\",\\n \\"InitContainerEnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/local/bin\\\\n\\",\\n \\"FieldRefFieldPath\\": \\"path\\"\\n }\\n ],\\n \\"InitContainerPorts\\": [\\n {\\n \\"Port\\": 1024,\\n \\"Protocol\\": \\"UDP\\"\\n }\\n ],\\n \\"InitContainerVolumeMounts\\": [\\n {\\n \\"ReadOnly\\": false,\\n \\"SubPath\\": \\"/usr/sub/\\",\\n \\"Name\\": \\"test-empty\\\\n\\",\\n \\"MountPropagation\\": \\"None\\",\\n \\"MountPath\\": \\"/usr/share/\\\\n\\"\\n }\\n ],\\n \\"SecurityContextCapabilityAdds\\": [\\n \\"NET_ADMIN\\"\\n ],\\n \\"InitContainerCommands\\": [\\n \\"sleep\\"\\n ],\\n \\"InitContainerArgs\\": [\\n \\"10\\"\\n ]\\n }\\n ],\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"version\\",\\n \\"Value\\": \\"3\\"\\n }\\n ],\\n \\"Volumes\\": [\\n {\\n \\"Type\\": \\"EmptyDirVolume\\",\\n \\"DiskVolumeDiskId\\": \\"d-xx\\",\\n \\"DiskVolumeFsType\\": \\"xfs\\",\\n \\"EmptyDirVolumeMedium\\": \\"memory\\",\\n \\"NFSVolumePath\\": \\"/share\\\\n\\",\\n \\"DiskVolumeDiskSize\\": 15,\\n \\"NFSVolumeReadOnly\\": false,\\n \\"FlexVolumeFsType\\": \\"ext4\\",\\n \\"ConfigFileVolumeDefaultMode\\": 644,\\n \\"FlexVolumeDriver\\": \\"flexvolume\\",\\n \\"FlexVolumeOptions\\": \\"{\\\\\\"volumeId\\\\\\":\\\\\\"d-2zehdahrwoa7srg****\\\\\\",\\\\\\"performanceLevel\\\\\\": \\\\\\"PL2\\\\\\"}\\\\n\\",\\n \\"NFSVolumeServer\\": \\"3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com\\\\n\\",\\n \\"Name\\": \\"default-volume1\\\\n\\",\\n \\"ConfigFileVolumeConfigFileToPaths\\": [\\n {\\n \\"Path\\": \\"/usr/bin/\\\\n\\",\\n \\"Mode\\": 644,\\n \\"Content\\": \\"bGl1bWk=\\\\n\\"\\n }\\n ],\\n \\"EmptyDirVolumeSizeLimit\\": \\"256Mi\\",\\n \\"HostPathVolumeType\\": \\"Directory\\",\\n \\"HostPathVolumePath\\": \\"/pod/data\\\\n\\"\\n }\\n ],\\n \\"ImageRegistryCredentials\\": [\\n {\\n \\"Password\\": \\"yourpaasword\\",\\n \\"Server\\": \\"registry-vpc.cn-shanghai.aliyuncs.com\\\\n\\",\\n \\"UserName\\": \\"yourusername\\"\\n }\\n ],\\n \\"DnsConfigOptions\\": [\\n {\\n \\"Name\\": \\"name\\",\\n \\"Value\\": \\"value\\"\\n }\\n ],\\n \\"HostAliases\\": [\\n {\\n \\"Ip\\": \\"192.0.XX.XX\\\\n\\",\\n \\"Hostnames\\": [\\n \\"[\'hehe.com\', \'haha.com\']\\\\n\\"\\n ]\\n }\\n ],\\n \\"SecurityContextSysCtls\\": [\\n {\\n \\"Name\\": \\"kernel.msgmax\\\\n\\",\\n \\"Value\\": \\"65536\\"\\n }\\n ],\\n \\"AcrRegistryInfos\\": [\\n {\\n \\"InstanceId\\": \\"cri-nwj395hgf6f3****\\\\n\\",\\n \\"InstanceName\\": \\"acr-test\\\\n\\",\\n \\"RegionId\\": \\"cn-hangzhou\\\\n\\",\\n \\"Domains\\": [\\n \\"*****-****-registry.cn-beijing.cr.aliyuncs.com\\\\n\\"\\n ]\\n }\\n ],\\n \\"DnsConfigNameServers\\": [\\n \\"172.10.*.**\\\\n\\"\\n ],\\n \\"DnsConfigSearches\\": [\\n \\"svc.local.kubenetes\\\\n\\"\\n ],\\n \\"NtpServers\\": [\\n \\"ntp.cloud.aliyuncs.com\\\\n\\"\\n ],\\n \\"LifecycleState\\": \\"Active\\",\\n \\"CostOptimization\\": false,\\n \\"InstanceFamilyLevel\\": \\"EnterpriseLevel\\",\\n \\"InstanceTypes\\": [\\n \\"ecs.g6.large\\\\n\\"\\n ],\\n \\"DataCacheBucket\\": \\"default\\",\\n \\"DataCachePL\\": \\"PL1\\\\n\\",\\n \\"DataCacheProvisionedIops\\": 40000,\\n \\"DataCacheBurstingEnabled\\": false,\\n \\"EipPublicIpAddressPoolId\\": \\"pippool-bp187arfugi543y1s****\\",\\n \\"EipCommonBandwidthPackage\\": \\"cbwp-bp1rxai1z4b1an454xl8m\\",\\n \\"EipISP\\": \\"BGP\\",\\n \\"ComputeCategory\\": [\\n \\"economy\\"\\n ]\\n },\\n \\"Output\\": \\"apiVersion: apps/v1\\\\nkind: Deployment\\\\nmetadata:\\\\n name: nginx-deployment\\\\n labels:\\\\n app: nginx\\\\n spec:\\\\n replicas: 3\\\\n selector:\\\\n matchLabels:\\\\n app: nginx\\\\n template:\\\\n metadata:\\\\n labels:\\\\n app: nginx\\\\n annotations:\\\\n k8s.aliyun.com/eip-bandwidth: 10\\\\n k8s.aliyun.com/eci-with-eip: true\\\\n spec:\\\\n containers:\\\\n - name: nginx\\\\n image: nginx:1.14.2\\\\n ports:\\\\n - containerPort: 80\\"\\n}","type":"json"}]', + 'title' => 'DescribeEciScalingConfigurationDetail', + 'summary' => 'Queries the details of a scaling configuration. You can query a scaling configuration by its ID to learn about its details such as the temporary storage size, number of IPv6 addresses, and bandwidth of the elastic IP address (EIP). The scaling configuration details can be obtained as a YAML file.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeEciScalingConfigurationDetail', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], ], - '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', - ], + 'DescribeEciScalingConfigurations' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14724,4254 +7238,5268 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '212769', - 'abilityTreeNodes' => [ - 'FEATUREessU7F1S4', - ], + '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-beijing', - ], + 'schema' => ['description' => 'The region ID of the scaling group to which the scaling configuration belongs.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-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 scaling configuration belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp1ffogfdauy0jw0****', - ], + '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' => 'ScalingConfigurationId', + 'name' => 'ScalingConfigurationIds', 'in' => 'query', + 'style' => 'repeatList', '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****', + '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' => 'OutputFormat', + 'name' => 'ScalingConfigurationNames', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The output format. Set the value to YAML.'."\n", - 'type' => 'string', + '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, - 'enumValueTitles' => [ - 'YAML' => 'YAML', - ], - 'example' => 'yaml', + 'maxItems' => 10, ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response parameters.'."\n", '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" + '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" - .'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" + .'* 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 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" + .'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" - .'* 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" + .'> 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" - .'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" + .'* 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" - .'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" + .'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 in the container.'."\n", - 'type' => 'string', - 'example' => '/usr/local/nginx', - ], - 'Tty' => [ - 'description' => 'Specifies whether to enable the Interaction feature. Valid values:'."\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' => '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" + .'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' => '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" + .'* 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" - .'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" + .'* 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" - .'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" + .'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', - ], - '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" + .'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', + .'* 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" + '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' => '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" + .'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 the container not only propagate back to the underlying host but also to all containers across every pod that uses the same volume.'."\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 in which the container mounts the volume.'."\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', + .'> 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', + '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.'."\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', + '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'], ], - ], - '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', + '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'], ], - ], - '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", + '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'], ], - ], - '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', + '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'], ], - ], - '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"]', + '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'], ], - ], - '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"]', + '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'], ], - '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', + ], + ], + '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' => '', - '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" + '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' => 'UDP', + .'* UDP'."\n", 'type' => 'string', 'example' => 'TCP'], ], ], ], - ], - '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" + '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 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" + .'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 the container not only propagate back to the underlying host but also to all containers across every pod that uses the same volume.'."\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 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", + .'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", - 'type' => 'array', - 'items' => [ - 'description' => 'The permission that is granted to the process in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n" + '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' => 'string', - 'example' => 'NET_ADMIN', + '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'], ], ], - '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", + ], + ], + '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', - 'example' => 'sleep', + 'enumValueTitles' => [], + 'example' => 'Directory', ], + 'HostPathVolumePath' => ['description' => 'The path to the HostPath volume on the host.'."\n", 'type' => 'string', 'example' => '/pod/data'], ], - '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', + ], + ], + '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\']'], ], ], ], ], - ], - 'Tags' => [ - 'description' => 'The tags of the elastic container instance. Tags are specified in the key-value format.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', + 'SecurityContextSysCtls' => [ + 'description' => 'The system information of the security context in which the elastic container instance runs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The system information of the security context in which the elastic container instance runs.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The system name of the security context in which the elastic container instance runs.'."\n", 'type' => 'string', 'example' => 'kernel.msgmax'], + 'Value' => ['description' => 'The variable value of the security context in which the elastic container instance runs.'."\n", 'type' => 'string', 'example' => '65536'], + ], + ], + ], + 'AcrRegistryInfos' => [ + 'description' => 'The Container Registry Enterprise Edition instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the Container Registry Enterprise Edition instances.'."\n", + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => 'The ID of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'example' => 'cri-nwj395hgf6f3****'], + 'InstanceName' => ['description' => 'The name of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'example' => 'acr-test'], + 'RegionId' => ['description' => 'The region ID of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou'], + 'Domains' => [ + 'description' => 'The domain names of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Multiple domain names are separated by commas (,).'."\n", + 'type' => 'array', + 'items' => ['description' => 'The domain name of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Multiple domain names are separated by commas (,).'."\n", 'type' => 'string', 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com'], + ], + ], + ], + ], + 'DnsConfigNameServers' => [ + 'description' => 'The IP addresses of the Domain Name Service (DNS) server.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The IP address of the DNS server.'."\n", 'type' => 'string', 'example' => '172.10.*.**'], + ], + 'DnsConfigSearches' => [ + 'description' => 'The search domains of the DNS servers.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The search domains of the DNS server.'."\n", 'type' => 'string', 'example' => 'svc.local.kubenetes'], + ], + 'NtpServers' => [ + 'description' => 'The endpoints of the Network Time Protocol (NTP) server.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The endpoint of the NTP server.'."\n", 'type' => 'string', 'example' => 'ntp.cloud.aliyuncs.com'], + ], + 'LifecycleState' => ['description' => 'The status of the scaling configuration in the scaling group. Valid values:'."\n" + ."\n" + .'* Active: The scaling configuration is active in the scaling group. Auto Scaling uses the scaling configuration that is in the Active state to create instances during scale-out events.'."\n" + .'* Inactive: The scaling configuration is inactive in the scaling group. Scaling configurations that are in the Inactive state are still contained in the scaling group, but Auto Scaling does not use the inactive scaling configurations to create instances during scale-out events.'."\n", 'type' => 'string', 'example' => 'Active'], + 'CostOptimization' => ['description' => 'Indicates whether the Cost Optimization feature is enabled. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'false'], + 'InstanceFamilyLevel' => ['description' => 'The level of the instance family, which is used to filter the available instance types that meet the specified requirements. This parameter takes effect only if `CostOptimization` is set to true. Valid values:'."\n" + ."\n" + .'* EntryLevel: entry level (shared instance types). Instance types of this level are the most cost-effective but may not provide stable computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" + .'* EnterpriseLevel: enterprise level. Instance types of this level provide stable performance and dedicated resources, and are suitable for business scenarios that require high stability. For more information, see [Overview of instance families](~~25378~~).'."\n" + .'* CreditEntryLevel: credit-based entry level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview of burstable instances](~~59977~~).'."\n", 'type' => 'string', 'example' => 'EnterpriseLevel'], + 'InstanceTypes' => [ + 'description' => 'The specified ECS instance types. You can specify up to five instance types.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The specified ECS instance type. You can specify up to five instance types. For more information, see [Specify ECS instance types to create an elastic container instance](~~114664~~).'."\n", 'type' => 'string', 'example' => 'ecs.g6.large'], + ], + 'DataCacheBucket' => ['description' => 'The bucket that stores the data cache.'."\n", 'type' => 'string', 'example' => 'default'], + 'DataCachePL' => ['description' => 'The performance level (PL) of the cloud disk that stores the data cache. We recommend that you use enterprise SSDs (ESSDs). Valid values:'."\n" + ."\n" + .'* PL0: An ESSD can provide up to 10,000 random read/write IOPS.'."\n" + .'* PL1: An ESSD can provide up to 50,000 random read/write IOPS.'."\n" + .'* PL2: An ESSD can provide up to 100,000 random read/write IOPS.'."\n" + .'* PL3: An ESSD can provide up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'> For more information about ESSDs, see [ESSDs](~~122389~~).'."\n", 'type' => 'string', 'example' => 'PL1'], + 'DataCacheProvisionedIops' => ['description' => 'The provisioned read/write IOPS of the ESSD AutoPL disk that stores the data cache. Valid values: 0 to min{50,000, 1000 x *Capacity - Baseline IOPS}. Baseline IOPS = min{1,800 + 50* x Capacity, 50,000}.'."\n" + ."\n" + .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '40000'], + 'DataCacheBurstingEnabled' => ['description' => 'Indicates whether the Performance Burst feature is enabled for the ESSD AutoPL disk that stores the data cache. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", 'type' => 'boolean', 'example' => 'false'], + 'GpuDriverVersion' => ['description' => 'The version of the GPU driver.'."\n", 'type' => 'string', 'example' => 'tesla=470.82.01'], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'Forbidden.RiskControl', 'description' => ''], + ], + ], + 'title' => 'DescribeEciScalingConfigurations', + 'summary' => 'Queries scaling configurations of the Elastic Container Instance type. When you call the DescribeEciScalingConfigurations operation, you can specify ScalingGroupId, ScalingConfigurationIds, or ScalingConfigurationNames to query details about the desired scaling configurations, such as the instance bidding policy, instance type, image pulling policy, and load balancing weight of each elastic container instance. This can help you select a suitable template for creating elastic container instances or reference existing scaling configurations before you modify the automatic scaling policy for elastic container instances.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeEciScalingConfigurations', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"TotalCount\\": 1,\\n \\"ScalingConfigurations\\": [\\n {\\n \\"CreationTime\\": \\"2014-08-14T10:58Z\\",\\n \\"ScalingConfigurationName\\": \\"scalingconfi****\\",\\n \\"SecurityGroupId\\": \\"sg-bp18kz60mefs****\\",\\n \\"ActiveDeadlineSeconds\\": 1000,\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"AutoCreateEip\\": true,\\n \\"ScalingGroupId\\": \\"asg-bp17pelvl720x3v7****\\",\\n \\"EphemeralStorage\\": 20,\\n \\"Ipv6AddressCount\\": 1,\\n \\"Description\\": \\"This is an example.\\",\\n \\"EipBandwidth\\": 5,\\n \\"ImageSnapshotId\\": \\"imc-2zebxkiifuyzzlhl****\\",\\n \\"Memory\\": 16,\\n \\"RestartPolicy\\": \\"Never\\",\\n \\"SpotPriceLimit\\": 0.025,\\n \\"IngressBandwidth\\": 1024000,\\n \\"CpuOptionsThreadsPerCore\\": 2,\\n \\"TerminationGracePeriodSeconds\\": 60,\\n \\"LoadBalancerWeight\\": 1,\\n \\"DnsPolicy\\": \\"Default\\",\\n \\"HostName\\": \\"[\'hehe.com\', \'haha.com\']\\",\\n \\"EgressBandwidth\\": 1024000,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"RamRoleName\\": \\"ram:PassRole\\",\\n \\"Cpu\\": 2,\\n \\"AutoMatchImageCache\\": false,\\n \\"ResourceGroupId\\": \\"rg-8db03793gfrz****\\",\\n \\"ContainerGroupName\\": \\"test\\",\\n \\"ScalingConfigurationId\\": \\"asc-bp1ezrfgoyn5kijl****\\",\\n \\"CpuOptionsCore\\": 2,\\n \\"SlsEnable\\": true,\\n \\"Containers\\": [\\n {\\n \\"ReadinessProbeHttpGetPath\\": \\"/usr/local\\",\\n \\"ReadinessProbeSuccessThreshold\\": 1,\\n \\"LivenessProbePeriodSeconds\\": 5,\\n \\"LivenessProbeTcpSocketPort\\": 80,\\n \\"LivenessProbeHttpGetScheme\\": \\"HTTP\\",\\n \\"WorkingDir\\": \\"/usr/local/nginx\\",\\n \\"Tty\\": false,\\n \\"LivenessProbeHttpGetPort\\": 80,\\n \\"Gpu\\": 1,\\n \\"ReadinessProbeInitialDelaySeconds\\": 5,\\n \\"Stdin\\": true,\\n \\"Memory\\": 2,\\n \\"Name\\": \\"nginx\\",\\n \\"SecurityContextReadOnlyRootFilesystem\\": true,\\n \\"LivenessProbeHttpGetPath\\": \\"/usr/nginx/\\",\\n \\"Image\\": \\"mysql\\",\\n \\"ReadinessProbeTcpSocketPort\\": 8888,\\n \\"ReadinessProbeHttpGetScheme\\": \\"HTTP\\",\\n \\"ReadinessProbeHttpGetPort\\": 0,\\n \\"LivenessProbeSuccessThreshold\\": 1,\\n \\"ReadinessProbeTimeoutSeconds\\": 5,\\n \\"SecurityContextRunAsUser\\": 1000,\\n \\"LivenessProbeInitialDelaySeconds\\": 10,\\n \\"ReadinessProbePeriodSeconds\\": 1,\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"StdinOnce\\": true,\\n \\"Cpu\\": 2,\\n \\"LivenessProbeTimeoutSeconds\\": 10,\\n \\"ReadinessProbeFailureThreshold\\": 3,\\n \\"LivenessProbeFailureThreshold\\": 3,\\n \\"Ports\\": [\\n {\\n \\"Port\\": 8888,\\n \\"Protocol\\": \\"TCP\\"\\n }\\n ],\\n \\"VolumeMounts\\": [\\n {\\n \\"ReadOnly\\": false,\\n \\"SubPath\\": \\"data2/\\",\\n \\"Name\\": \\"default-volume1\\",\\n \\"MountPropagation\\": \\"None\\",\\n \\"MountPath\\": \\"/pod/data\\"\\n }\\n ],\\n \\"EnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/bin/\\",\\n \\"FieldRefFieldPath\\": \\"path\\"\\n }\\n ],\\n \\"Commands\\": [\\n \\"sleep\\"\\n ],\\n \\"LivenessProbeExecCommands\\": [\\n \\"cat/tmp/healthy\\"\\n ],\\n \\"Args\\": [\\n \\"100\\"\\n ],\\n \\"ReadinessProbeExecCommands\\": [\\n \\"cat/tmp/healthy\\"\\n ],\\n \\"SecurityContextCapabilityAdds\\": [\\n \\"NET_ADMIN\\"\\n ],\\n \\"LifecyclePostStartHandlerHttpGetHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePostStartHandlerHttpGetPort\\": 80,\\n \\"LifecyclePostStartHandlerHttpGetPath\\": \\"/healthyz\\",\\n \\"LifecyclePostStartHandlerHttpGetScheme\\": \\"HTTP\\",\\n \\"LifecyclePostStartHandlerExecs\\": [\\n \\"[\\\\\\"/bin/sh\\\\\\", \\\\\\"-c\\\\\\",\\\\\\"echo Hello from the preStop handler > /usr/share/message\\\\\\"]\\"\\n ],\\n \\"LifecyclePostStartHandlerTcpSocketHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePostStartHandlerTcpSocketPort\\": 80,\\n \\"LifecyclePreStopHandlerHttpGetHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePreStopHandlerHttpGetPort\\": 80,\\n \\"LifecyclePreStopHandlerHttpGetPath\\": \\"/healthyz\\\\n\\",\\n \\"LifecyclePreStopHandlerHttpGetScheme\\": \\"HTTP\\",\\n \\"LifecyclePreStopHandlerExecs\\": [\\n \\"[\\\\\\"/bin/sh\\\\\\", \\\\\\"-c\\\\\\",\\\\\\"echo Hello from the preStop handler > /usr/share/message\\\\\\"]\\"\\n ],\\n \\"LifecyclePreStopHandlerTcpSocketHost\\": \\"10.0.XX.XX\\",\\n \\"LifecyclePreStopHandlerTcpSocketPort\\": 80\\n }\\n ],\\n \\"InitContainers\\": [\\n {\\n \\"SecurityContextReadOnlyRootFilesystem\\": true,\\n \\"ImagePullPolicy\\": \\"Always\\",\\n \\"WorkingDir\\": \\"/usr/local\\",\\n \\"Cpu\\": 0.5,\\n \\"Image\\": \\"nginx\\",\\n \\"Gpu\\": 1,\\n \\"SecurityContextRunAsUser\\": \\"587\\",\\n \\"Memory\\": 1,\\n \\"Name\\": \\"test-init\\",\\n \\"InitContainerEnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/local/bin\\",\\n \\"FieldRefFieldPath\\": \\"path\\"\\n }\\n ],\\n \\"InitContainerPorts\\": [\\n {\\n \\"Port\\": 1,\\n \\"Protocol\\": \\"TCP\\"\\n }\\n ],\\n \\"InitContainerVolumeMounts\\": [\\n {\\n \\"ReadOnly\\": false,\\n \\"SubPath\\": \\"/usr/sub/\\",\\n \\"Name\\": \\"test-empty\\",\\n \\"MountPropagation\\": \\"None\\",\\n \\"MountPath\\": \\"/usr/share/\\"\\n }\\n ],\\n \\"SecurityContextCapabilityAdds\\": [\\n \\"NET_ADMIN\\"\\n ],\\n \\"InitContainerCommands\\": [\\n \\"sleep\\"\\n ],\\n \\"InitContainerArgs\\": [\\n \\"10\\"\\n ]\\n }\\n ],\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"version\\",\\n \\"Value\\": \\"3\\"\\n }\\n ],\\n \\"Volumes\\": [\\n {\\n \\"Type\\": \\"EmptyDirVolume\\",\\n \\"DiskVolumeDiskId\\": \\"15\\",\\n \\"DiskVolumeFsType\\": \\"xfs\\",\\n \\"EmptyDirVolumeMedium\\": \\"memory\\",\\n \\"NFSVolumePath\\": \\"/share\\",\\n \\"DiskVolumeDiskSize\\": 15,\\n \\"NFSVolumeReadOnly\\": false,\\n \\"FlexVolumeFsType\\": \\"ext4\\",\\n \\"ConfigFileVolumeDefaultMode\\": 644,\\n \\"FlexVolumeDriver\\": \\"flexvolume\\",\\n \\"FlexVolumeOptions\\": \\"{\\\\\\"volumeId\\\\\\":\\\\\\"d-2zehdahrwoa7srg****\\\\\\",\\\\\\"performanceLevel\\\\\\": \\\\\\"PL2\\\\\\"}\\",\\n \\"NFSVolumeServer\\": \\"3f9cd4a596-naw76.cn-shanghai.nas.aliyuncs.com\\",\\n \\"Name\\": \\"default-volume1\\",\\n \\"ConfigFileVolumeConfigFileToPaths\\": [\\n {\\n \\"Path\\": \\"/usr/bin/\\",\\n \\"Mode\\": 644,\\n \\"Content\\": \\"bGl1bWk=\\"\\n }\\n ],\\n \\"EmptyDirVolumeSizeLimit\\": \\"256Mi\\",\\n \\"HostPathVolumeType\\": \\"Directory\\",\\n \\"HostPathVolumePath\\": \\"/pod/data\\"\\n }\\n ],\\n \\"ImageRegistryCredentials\\": [\\n {\\n \\"Password\\": \\"yourpaasword\\",\\n \\"Server\\": \\"registry-vpc.cn-shanghai.aliyuncs.com\\",\\n \\"UserName\\": \\"yourusername\\\\t\\\\n\\"\\n }\\n ],\\n \\"DnsConfigOptions\\": [\\n {\\n \\"Name\\": \\"name\\",\\n \\"Value\\": \\"value\\"\\n }\\n ],\\n \\"HostAliases\\": [\\n {\\n \\"Ip\\": \\"192.0.XX.XX\\",\\n \\"Hostnames\\": [\\n \\"[\'hehe.com\', \'haha.com\']\\"\\n ]\\n }\\n ],\\n \\"SecurityContextSysCtls\\": [\\n {\\n \\"Name\\": \\"kernel.msgmax\\",\\n \\"Value\\": \\"65536\\"\\n }\\n ],\\n \\"AcrRegistryInfos\\": [\\n {\\n \\"InstanceId\\": \\"cri-nwj395hgf6f3****\\",\\n \\"InstanceName\\": \\"acr-test\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Domains\\": [\\n \\"*****-****-registry.cn-beijing.cr.aliyuncs.com\\"\\n ]\\n }\\n ],\\n \\"DnsConfigNameServers\\": [\\n \\"172.10.*.**\\"\\n ],\\n \\"DnsConfigSearches\\": [\\n \\"svc.local.kubenetes\\"\\n ],\\n \\"NtpServers\\": [\\n \\"ntp.cloud.aliyuncs.com\\"\\n ],\\n \\"LifecycleState\\": \\"Active\\",\\n \\"CostOptimization\\": false,\\n \\"InstanceFamilyLevel\\": \\"EnterpriseLevel\\",\\n \\"InstanceTypes\\": [\\n \\"ecs.g6.large\\"\\n ],\\n \\"DataCacheBucket\\": \\"default\\",\\n \\"DataCachePL\\": \\"PL1\\",\\n \\"DataCacheProvisionedIops\\": 40000,\\n \\"DataCacheBurstingEnabled\\": false,\\n \\"GpuDriverVersion\\": \\"tesla=470.82.01\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeElasticStrength' => [ + 'summary' => 'A scaling group\'s configuration is key to successful scale-outs. Auto Scaling uses elasticity strength to quantify the effectiveness of a Scaling Configuration, helping you make targeted optimizations.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '221692', + 'abilityTreeNodes' => ['FEATUREess7569XW'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the region where the scaling group is located.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], + ], + [ + 'name' => 'InstanceTypes', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'A list of ECS instance types. If specified, this parameter overrides the instance types in the scaling configuration.', + 'type' => 'array', + 'items' => ['description' => 'The ECS instance type.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], + 'required' => false, + 'maxItems' => 50, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'PriorityStrategy', + 'in' => 'query', + 'schema' => ['description' => '>This parameter is deprecated. Use `SpotStrategy` instead.>'."\n" + .'The spot strategy for pay-as-you-go instances. If specified, this parameter overrides the spot strategy in the scaling configuration. Valid values:'."\n" + ."\n" + .'- `NoSpot`: A regular pay-as-you-go instance.'."\n" + ."\n" + .'- `SpotWithPriceLimit`: A spot instance with a specified maximum price.'."\n" + ."\n" + .'- `SpotAsPriceGo`: A spot instance where the system automatically bids at the current market price.'."\n" + ."\n" + .'Default value: `NoSpot`.', 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''], + ], + [ + 'name' => 'SystemDiskCategories', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'A list of system disk categories. If specified, this parameter overrides the system disk categories in the scaling configuration. Valid values:'."\n" + ."\n" + .'- `cloud`: Basic Cloud Disk.'."\n" + ."\n" + .'- `cloud_efficiency`: Ultra Cloud Disk.'."\n" + ."\n" + .'- `cloud_ssd`: Standard SSD.'."\n" + ."\n" + .'- `cloud_essd`: ESSD.'."\n" + ."\n" + .'> This parameter is required if `ScalingGroupId` is not specified.', + 'type' => 'array', + 'items' => ['description' => 'The category of the system disk. Valid values:'."\n" + ."\n" + .'- `cloud`: Basic Cloud Disk.'."\n" + ."\n" + .'- `cloud_efficiency`: Ultra Cloud Disk.'."\n" + ."\n" + .'- `cloud_ssd`: Standard SSD.'."\n" + ."\n" + .'- `cloud_essd`: ESSD.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''], + 'required' => false, + 'maxItems' => 50, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'ScalingGroupIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of one or more scaling groups to query in a batch operation.', + 'type' => 'array', + 'items' => ['description' => 'The ID of a scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''], + 'required' => false, + 'maxItems' => 50, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'SpotStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The spot strategy for instances. Valid values:'."\n" + ."\n" + .'- `NoSpot`: A regular pay-as-you-go instance.'."\n" + ."\n" + .'- `SpotWithPriceLimit`: A spot instance with a specified maximum price.'."\n" + ."\n" + .'- `SpotAsPriceGo`: A spot instance where the system automatically bids at the current market price.'."\n" + ."\n" + .'Default value: `NoSpot`.', 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''], + ], + [ + 'name' => 'VSwitchIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'A list of VSwitch IDs.'."\n" + ."\n" + .'> This parameter is required if `ScalingGroupId` is not specified.', + 'type' => 'array', + 'items' => ['description' => 'The VSwitch ID.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1whw2u46cn8zubm****', 'title' => ''], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the image used to create instances.'."\n" + ."\n" + .'> If `ScalingGroupId` is not specified, you must specify at least one of `ImageId`, `ImageName`, or `ImageFamily`.', 'type' => 'string', 'required' => false, 'example' => 'centos6u5_64_20G_aliaegis****.vhd', 'title' => ''], + ], + [ + 'name' => 'ImageName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the image. The name must be unique within a region. If you specify `ImageId`, this parameter is ignored.'."\n" + ."\n" + .'You cannot use this parameter to specify a Marketplace image.'."\n" + ."\n" + .'> If `ScalingGroupId` is not specified, you must specify at least one of `ImageId`, `ImageName`, or `ImageFamily`.', 'type' => 'string', 'required' => false, 'example' => 'ubuntu_18_04_x64_20G_alibase_20231225.vhd', 'title' => ''], + ], + [ + 'name' => 'ImageFamily', + 'in' => 'query', + 'schema' => ['description' => 'The name of the image family. You can set this parameter to use the latest available image from the specified image family to create instances. If you specify ImageId, this parameter is ignored.'."\n" + ."\n" + .'> If `ScalingGroupId` is not specified, you must specify at least one of `ImageId`, `ImageName`, or `ImageFamily`.', 'type' => 'string', 'required' => false, 'example' => 'CentOS7', 'title' => ''], + ], + [ + 'name' => 'DataDiskCategories', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'A list of data disk categories used to evaluate elastic strength. If a category is incompatible, the response identifies the specific mismatched category.'."\n" + ."\n" + .'> You can specify this parameter if `ScalingGroupId` is not specified.', + 'type' => 'array', + 'items' => ['description' => 'The category of the data disk. Valid values:'."\n" + ."\n" + .'- `cloud`: Basic Cloud Disk'."\n" + ."\n" + .'- `cloud_efficiency`: Ultra Cloud Disk'."\n" + ."\n" + .'- `cloud_ssd`: Standard SSD'."\n" + ."\n" + .'- `cloud_essd`: ESSD'."\n" + ."\n" + .'- `ephemeral_ssd`: local SSD', 'type' => 'string', 'required' => false, 'example' => 'cloud_essd', 'title' => ''], + 'required' => false, + 'maxItems' => 50, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Ipv6AddressCount', + 'in' => 'query', + 'schema' => ['description' => 'The number of IPv6 addresses to be configured for each instance. The elastic strength is lowered for instance types that do not support the specified number of IPv6 addresses.'."\n" + ."\n" + .'> You can specify this parameter if `ScalingGroupId` is not specified.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response schema.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + 'TotalStrength' => ['description' => 'The total elastic strength of the scaling group. The strength is the sum of scores from all configured instance type and zone combinations. Each combination is scored from 0 (low strength) to 1 (high strength) based on resource availability.> This parameter is deprecated.>', 'type' => 'number', 'format' => 'double', 'example' => '1.5', 'title' => ''], + 'ElasticStrength' => ['description' => 'The elastic strength of the current scaling group. Valid values:'."\n" + ."\n" + .'- Strong: high elastic strength.'."\n" + ."\n" + .'- Medium: medium elastic strength.'."\n" + ."\n" + .'- Weak: weak elastic strength.', 'type' => 'string', 'example' => 'Strong', 'title' => ''], + 'ResourcePools' => [ + 'description' => 'An array of resource pools. This parameter is returned when the API call targets a single scaling group.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Strength' => ['description' => 'The elastic strength of the resource pool.', 'type' => 'number', 'format' => 'double', 'example' => '0.6', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type of the resource pool.', 'type' => 'string', 'example' => 'ecs.c7t.xlarge', 'title' => ''], + 'ZoneId' => ['description' => 'The zone ID of the resource pool.', 'type' => 'string', 'example' => 'cn-hangzhou-g', 'title' => ''], + 'VSwitchIds' => [ + 'description' => 'The VSwitches in the zone of the resource pool.', + 'type' => 'array', + 'items' => ['description' => 'The VSwitch ID.', 'type' => 'string', 'example' => 'vsw-2ze0uc933kantv******', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Code' => ['description' => 'The error code returned when the elastic strength is 0.', 'type' => 'string', 'example' => 'IMG_NOT_SUPPORTED', 'title' => ''], + 'Msg' => ['description' => 'The error message returned when the elastic strength is 0.', 'type' => 'string', 'example' => 'The instanceType does not support the image in the configuration.', 'title' => ''], + 'Status' => ['description' => 'The availability of the resource pool. Valid values:'."\n" + ."\n" + .'- Available: The resource pool is available.'."\n" + ."\n" + .'- Unavailable: The resource pool is unavailable. This can occur if the instance type is not deployed in the zone, has insufficient inventory, or does not meet other constraints.', 'type' => 'string', 'example' => 'Available', 'title' => ''], + 'InventoryHealth' => [ + 'description' => 'The inventory health.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'example' => 'version', - ], - 'Value' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'example' => '3', - ], + 'HealthScore' => ['description' => 'The health score.'."\n" + ."\n" + .'- A score from 5 to 6 indicates high confidence in supply.'."\n" + ."\n" + .'- A score from 1 to 4 indicates that supply is not guaranteed. Consider making on-demand reservations.'."\n" + ."\n" + .'- A score from -3 to 0 indicates a supply health alert. Consider using a different instance type.'."\n" + ."\n" + .'The health score is calculated using the formula: `HealthScore` = `AdequacyScore` + `SupplyScore` - `HotScore`.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'AdequacyScore' => ['description' => 'The adequacy score.'."\n" + ."\n" + .'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'SupplyScore' => ['description' => 'The supply score.'."\n" + ."\n" + .'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'HotScore' => ['description' => 'The hot score.'."\n" + ."\n" + .'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'ElasticStrength' => ['description' => 'The elastic strength of the resource pool, which is based on its inventory health and current stock. Valid values:'."\n" + ."\n" + .'- Strong: high elastic strength.'."\n" + ."\n" + .'- Medium: medium elastic strength.'."\n" + ."\n" + .'- Weak: weak elastic strength.', 'type' => 'string', 'example' => 'Medium', 'title' => ''], ], - 'Volumes' => [ - 'description' => 'The volumes.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The volume type. Valid values:'."\n" + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'ElasticStrengthModels' => [ + 'description' => 'An array of elastic strength details, returned when the API call targets multiple scaling groups.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ScalingGroupId' => ['description' => 'The scaling group ID.', 'type' => 'string', 'example' => 'asg-wz98mnj7nblv9gc****', 'title' => ''], + 'ElasticStrength' => ['description' => 'The elastic strength of the current scaling group. Valid values:'."\n" + ."\n" + .'- Strong: high elastic strength.'."\n" + ."\n" + .'- Medium: medium elastic strength.'."\n" + ."\n" + .'- Weak: weak elastic strength.', 'type' => 'string', 'example' => 'Strong', 'title' => ''], + 'TotalStrength' => ['description' => 'The total elastic strength of the scaling group. The strength is the sum of scores from all configured instance type and zone combinations. Each combination is scored from 0 (low strength) to 1 (high strength) based on resource availability.> This parameter is deprecated.>', 'type' => 'number', 'format' => 'double', 'example' => '1.5', 'title' => ''], + 'ResourcePools' => [ + 'description' => 'Details of the resource pools within the scaling group.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The instance type of the resource pool.', 'type' => 'string', 'example' => 'ecs.r7.large', 'title' => ''], + 'Strength' => ['description' => 'The elastic strength of the resource pool.> This parameter is deprecated.>', 'type' => 'number', 'format' => 'double', 'example' => '0.6', 'title' => ''], + 'ZoneId' => ['description' => 'The zone ID of the resource pool.', 'type' => 'string', 'example' => 'cn-hangzhou-g', 'title' => ''], + 'VSwitchIds' => [ + 'description' => 'The VSwitches in the zone of the resource pool.', + 'type' => 'array', + 'items' => ['description' => 'The VSwitch ID.', 'type' => 'string', 'example' => 'vsw-2ze6e8p4******', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Code' => ['description' => 'The error code returned when the elastic strength is 0.', 'type' => 'string', 'example' => 'InstanceTypesOrDiskTypesNotSupported', 'title' => ''], + 'Msg' => ['description' => 'The error message returned when the elastic strength is 0.', 'type' => 'string', 'example' => 'The instanceTypes or diskTypes are not supported.', 'title' => ''], + 'Status' => ['description' => 'The availability of the resource pool. Valid values:'."\n" ."\n" - .'* 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" + .'- Available: The resource pool is available.'."\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' => '', + .'- Unavailable: The resource pool is unavailable. This can occur if the instance type is not deployed in the zone, has insufficient inventory, or does not meet other constraints.', 'type' => 'string', 'example' => 'Available', 'title' => ''], + 'InventoryHealth' => [ + 'description' => 'The inventory health.', 'type' => 'object', 'properties' => [ - '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", - ], + 'HealthScore' => ['description' => 'The health score.'."\n" + ."\n" + .'- A score from 5 to 6 indicates high confidence in supply.'."\n" + ."\n" + .'- A score from 1 to 4 indicates that supply is not guaranteed. Consider making on-demand reservations.'."\n" + ."\n" + .'- A score from -3 to 0 indicates a supply health alert. Consider using a different instance type.'."\n" + ."\n" + .'The health score is calculated using the formula: `HealthScore` = `AdequacyScore` + `SupplyScore` - `HotScore`.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'AdequacyScore' => ['description' => 'The adequacy score.'."\n" + ."\n" + .'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'SupplyScore' => ['description' => 'The supply score.'."\n" + ."\n" + .'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'HotScore' => ['description' => 'The hot score.'."\n" + ."\n" + .'Valid values: 0 to 3.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'ElasticStrength' => ['description' => 'The elastic strength of the resource pool, which is based on its inventory health and current stock. Valid values:'."\n" + ."\n" + .'- Strong: high elastic strength.'."\n" + ."\n" + .'- Medium: medium elastic strength.'."\n" + ."\n" + .'- Weak: weak elastic strength.', 'type' => 'string', 'example' => 'Strong', 'title' => ''], ], - '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', - ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], - 'DnsConfigOptions' => [ - 'description' => 'The DNS options.'."\n", + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"TotalStrength\\": 1.5,\\n \\"ElasticStrength\\": \\"Strong\\",\\n \\"ResourcePools\\": [\\n {\\n \\"Strength\\": 0.6,\\n \\"InstanceType\\": \\"ecs.c7t.xlarge\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-2ze0uc933kantv******\\"\\n ],\\n \\"Code\\": \\"IMG_NOT_SUPPORTED\\",\\n \\"Msg\\": \\"The instanceType does not support the image in the configuration.\\",\\n \\"Status\\": \\"Available\\",\\n \\"InventoryHealth\\": {\\n \\"HealthScore\\": 3,\\n \\"AdequacyScore\\": 3,\\n \\"SupplyScore\\": 3,\\n \\"HotScore\\": 3\\n },\\n \\"ElasticStrength\\": \\"Medium\\"\\n }\\n ],\\n \\"ElasticStrengthModels\\": [\\n {\\n \\"ScalingGroupId\\": \\"asg-wz98mnj7nblv9gc****\\",\\n \\"ElasticStrength\\": \\"Strong\\",\\n \\"TotalStrength\\": 1.5,\\n \\"ResourcePools\\": [\\n {\\n \\"InstanceType\\": \\"ecs.r7.large\\",\\n \\"Strength\\": 0.6,\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-2ze6e8p4******\\"\\n ],\\n \\"Code\\": \\"InstanceTypesOrDiskTypesNotSupported\\",\\n \\"Msg\\": \\"The instanceTypes or diskTypes are not supported.\\",\\n \\"Status\\": \\"Available\\",\\n \\"InventoryHealth\\": {\\n \\"HealthScore\\": 3,\\n \\"AdequacyScore\\": 3,\\n \\"SupplyScore\\": 2,\\n \\"HotScore\\": 0\\n },\\n \\"ElasticStrength\\": \\"Strong\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeElasticStrength', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeElasticStrength', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'DescribeInstanceCreateAndDeleteStatistics' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '221449', + 'abilityTreeNodes' => ['FEATUREessJ54CHK'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-2ze4057nqfbxxxxxxxx', 'title' => ''], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => ['description' => 'The start time of the statistical interval. The time follows the ISO 8601 standard and uses UTC time.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-15T08:00Z'."\n", 'title' => ''], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end time of the statistical interval. The time follows the ISO 8601 standard and uses UTC time.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-18T08:00Z', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '086EFCD4-C76F-4DC6-9EE9-0D9B711E****', 'title' => ''], + 'InstanceCreateAndDeleteStatistics' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Statistic' => [ + 'description' => 'Metrics for instance creation and deletion.'."\n", 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'Metrics for instance creation and deletion.'."\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', - ], + 'DestroyedVmCount' => ['description' => 'The number of released instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '34', 'title' => ''], + 'CreatedVmCount' => ['description' => 'The number of new instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '12', 'title' => ''], + 'Time' => ['description' => 'The time when the statistics are generated. The time is in UTC. Format: yyyyMMddHH.'."\n", 'type' => 'string', 'example' => '2025121623', 'title' => ''], + 'StoppedVmCount' => ['description' => 'The number of instances that are stopped in economical mode.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'StartedVmCount' => ['description' => 'The number of instances that are started from economical mode.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'HostAliases' => [ - 'description' => 'The custom hostname mappings of a container in the elastic container instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'title' => 'DescribeInstanceCreateAndDeleteStatistics', + 'summary' => 'Instance creation and deletion statistics.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeInstanceCreateAndDeleteStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"086EFCD4-C76F-4DC6-9EE9-0D9B711E****\\",\\n \\"InstanceCreateAndDeleteStatistics\\": {\\n \\"Statistic\\": [\\n {\\n \\"DestroyedVmCount\\": 34,\\n \\"CreatedVmCount\\": 12,\\n \\"Time\\": \\"2025121623\\",\\n \\"StoppedVmCount\\": 10,\\n \\"StartedVmCount\\": 5\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeInstanceRefreshes' => [ + 'summary' => 'Queries instance refresh tasks in a scaling group, including basic information and progress of the tasks.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '234886', + 'abilityTreeNodes' => ['FEATUREessACRSW1'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => ['description' => 'The pagination token. Set this parameter to the NextToken value returned in the previous call. You do not need to set this parameter for the first request.', 'type' => 'string', 'docRequired' => false, 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of entries per page in a paging query. Valid values: 1 to 50.'."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'maximum' => '50', 'default' => '10', 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.'."\n" + .'> You must specify either ScalingGroupId or InstanceRefreshTaskIds. If you do not specify either parameter, an error is returned.'."\n" + .'>', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'asg-bp1ffogfdauy0jw0****', 'title' => ''], + ], + [ + 'name' => 'InstanceRefreshTaskIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the instance refresh tasks that you want to query.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of the instance refresh tasks that you want to query.', 'type' => 'string', 'required' => false, 'example' => 'ir-adfa12312*****', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'NextToken' => ['description' => 'The pagination token for the next query. If NextToken is empty, no more results exist.', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f****', 'title' => ''], + 'MaxResults' => ['description' => 'The maximum number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of instance refresh tasks.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'InstanceRefreshTasks' => [ + 'description' => 'The list of instance refresh tasks.', + 'type' => 'array', + 'items' => [ + 'description' => 'The instance refresh task.', + 'type' => 'object', + 'properties' => [ + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'example' => 'asg-bp16pbfcr8j9*****', 'title' => ''], + 'InstanceRefreshTaskId' => ['description' => 'The ID of the instance refresh task.', 'type' => 'string', 'example' => 'ir-1adfa123****', 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'EndTime' => ['description' => 'The end time of the instance refresh task.', 'type' => 'string', 'example' => '2024-08-22T02:09:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The start time of the instance refresh task.', 'type' => 'string', 'example' => '2024-08-22T01:09:00Z', 'title' => ''], + 'Status' => ['description' => 'The current status of the instance refresh task. Valid values:'."\n" + .'- Pending: The instance refresh task is created and waiting to be scheduled.'."\n" + .'- InProgress: The instance refresh task is in progress.'."\n" + .'- Paused: The instance refresh task is paused.'."\n" + .'- CheckpointPause: The instance refresh task is paused because the task progress reached a checkpoint (`Checkpoint.Percentage`).'."\n" + .'- Failed: The instance refresh task failed.'."\n" + .'- Successful: The instance refresh task succeeded.'."\n" + .'- Cancelling: The instance refresh task is being cancelled.'."\n" + .'- Cancelled: The instance refresh task is cancelled.'."\n" + .'- RollbackInProgress: The instance refresh task is being rolled back.'."\n" + .'- RollbackSuccessful: The instance refresh task is rolled back.'."\n" + .'- RollbackFailed: The rollback of the instance refresh task failed.', 'type' => 'string', 'example' => 'InProgress', 'title' => ''], + 'Detail' => ['description' => 'The failure reason when the instance refresh task fails.', 'type' => 'string', 'example' => 'The task exceeded its maximum run time of one week. So the task failed.', 'title' => ''], + 'MinHealthyPercentage' => ['description' => 'The minimum percentage of instances that must remain in service in the scaling group during the instance refresh.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'MaxHealthyPercentage' => ['description' => 'The maximum percentage by which the number of instances in the scaling group can exceed the scaling group capacity during the instance refresh.', 'type' => 'integer', 'format' => 'int32', 'example' => '120', 'title' => ''], + 'DesiredConfiguration' => [ + 'description' => 'The desired configuration for the instance refresh.', 'type' => 'object', 'properties' => [ - 'Ip' => [ - 'description' => 'The added IP address.'."\n", - 'type' => 'string', - 'example' => '192.0.XX.XX'."\n", - ], - 'Hostnames' => [ - 'description' => 'The added hostnames.'."\n", + 'ImageId' => ['description' => 'The ID of the image file used for automatic creation of instances.', 'type' => 'string', 'example' => 'm-uf6g5noisr****', 'title' => ''], + 'ScalingConfigurationId' => ['description' => 'The ID of the scaling configuration.', 'type' => 'string', 'example' => 'asc-wz91ibkhfor****', 'title' => ''], + 'LaunchTemplateId' => ['description' => 'The ID of the launch template from which the scaling group obtains launch configuration information.', 'type' => 'string', 'example' => 'lt-2ze5x4mp*****', 'title' => ''], + 'LaunchTemplateVersion' => ['description' => 'The version of the launch template. Valid values:'."\n" + ."\n" + .'- A fixed template version number.'."\n" + .'- Default: always uses the default version of the template.'."\n" + .'- Latest: always uses the latest version of the template.', 'type' => 'string', 'example' => 'Latest', 'title' => ''], + 'LaunchTemplateOverrides' => [ + 'description' => 'The instance type information that overrides the launch template.', 'type' => 'array', 'items' => [ - 'description' => 'The added hostname.'."\n", - 'type' => 'string', - 'example' => '[\'hehe.com\', \'haha.com\']'."\n", + 'description' => 'The instance type information that overrides the launch template.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The instance type that overrides the instance type specified in the launch template.', 'type' => 'string', 'example' => 'ecs.sn1ne.large', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - ], - ], - ], - '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", + 'Containers' => [ + 'description' => 'The list of containers in the instance.', '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", + 'description' => 'The list of containers in the instance.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The custom container name.', 'type' => 'string', 'example' => 'name', 'title' => ''], + 'Image' => ['description' => 'The container image.', 'type' => 'string', 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', 'title' => ''], + 'Commands' => [ + 'description' => 'The container startup commands.', + 'type' => 'array', + 'items' => ['description' => 'The container startup commands.', 'type' => 'string', 'example' => 'sleep', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Args' => [ + 'description' => 'The arguments for the container startup commands.', + 'type' => 'array', + 'items' => ['description' => 'The arguments for the container startup commands.', 'type' => 'string', 'example' => '100', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'EnvironmentVars' => [ + 'description' => 'The environment variable information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The environment variable information.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable.', 'type' => 'string', 'example' => 'PATH', 'title' => ''], + 'Value' => ['description' => 'The value of the environment variable.', 'type' => 'string', 'example' => '/usr/local/bin', 'title' => ''], + 'FieldRefFieldPath' => ['description' => '>This parameter is not available for use.', 'type' => 'string', 'example' => 'fieldPath', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], - ], - '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" + 'FinishedUpdateCapacity' => ['description' => 'The capacity that has been refreshed.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'TotalNeedUpdateCapacity' => ['description' => 'The total capacity that needs to be refreshed.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'SkipMatching' => ['description' => 'Indicates whether instances that already match the desired configuration are skipped.'."\n" ."\n" - .'* 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" + .'> The system determines whether an instance matches based on the ID of the desired scaling configuration, not by comparing individual configuration items.'."\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" + .'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", + .'- true: Skipped. When the instance refresh task starts, the system checks the configuration of each instance. Instances that were already created with the desired configuration are not refreshed.'."\n" + .'- false: Not skipped. After the instance refresh task starts, all instances in the scaling group are refreshed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'CheckpointPauseTime' => ['description' => 'The pause duration when the task reaches a checkpoint. Unit: minutes.', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'Checkpoints' => [ + 'description' => 'The checkpoints for the refresh task. A checkpoint specifies that the task automatically pauses for CheckpointPauseTime minutes when the proportion of new instances reaches the specified value during the instance refresh.', + 'type' => 'array', + 'items' => [ + 'description' => 'The checkpoints for the refresh task. A checkpoint specifies that the task automatically pauses for CheckpointPauseTime minutes when the proportion of new instances reaches the specified value during the instance refresh.', + 'type' => 'object', + 'properties' => [ + 'Percentage' => ['description' => 'The percentage of new instances relative to the total instances in the scaling group. The task automatically pauses when this percentage is reached.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], - ], - '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" + 'Strategy' => ['description' => 'The execution strategy of the instance refresh task. 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" + .'- Rolling: The instance refresh task creates new instances and releases old instances to perform the refresh.'."\n" ."\n" - .'> For more information about ESSDs, see [ESSDs](~~122389~~).'."\n", - 'type' => 'string', - 'example' => 'PL1'."\n", + .'- ReplaceSystemDisk: The instance refresh task replaces the system cloud disk on existing instances.', 'type' => 'string', 'example' => 'Rolling', 'title' => ''], ], - '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" + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f****\\",\\n \\"MaxResults\\": 50,\\n \\"TotalCount\\": 100,\\n \\"InstanceRefreshTasks\\": [\\n {\\n \\"ScalingGroupId\\": \\"asg-bp16pbfcr8j9*****\\",\\n \\"InstanceRefreshTaskId\\": \\"ir-1adfa123****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"EndTime\\": \\"2024-08-22T02:09:00Z\\",\\n \\"StartTime\\": \\"2024-08-22T01:09:00Z\\",\\n \\"Status\\": \\"InProgress\\",\\n \\"Detail\\": \\"The task exceeded its maximum run time of one week. So the task failed.\\",\\n \\"MinHealthyPercentage\\": 80,\\n \\"MaxHealthyPercentage\\": 120,\\n \\"DesiredConfiguration\\": {\\n \\"ImageId\\": \\"m-uf6g5noisr****\\",\\n \\"ScalingConfigurationId\\": \\"asc-wz91ibkhfor****\\",\\n \\"LaunchTemplateId\\": \\"lt-2ze5x4mp*****\\",\\n \\"LaunchTemplateVersion\\": \\"Latest\\",\\n \\"LaunchTemplateOverrides\\": [\\n {\\n \\"InstanceType\\": \\"ecs.sn1ne.large\\"\\n }\\n ],\\n \\"Containers\\": [\\n {\\n \\"Name\\": \\"name\\",\\n \\"Image\\": \\"registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest\\",\\n \\"Commands\\": [\\n \\"sleep\\"\\n ],\\n \\"Args\\": [\\n \\"100\\"\\n ],\\n \\"EnvironmentVars\\": [\\n {\\n \\"Key\\": \\"PATH\\",\\n \\"Value\\": \\"/usr/local/bin\\",\\n \\"FieldRefFieldPath\\": \\"fieldPath\\"\\n }\\n ]\\n }\\n ]\\n },\\n \\"FinishedUpdateCapacity\\": 10,\\n \\"TotalNeedUpdateCapacity\\": 20,\\n \\"SkipMatching\\": true,\\n \\"CheckpointPauseTime\\": 30,\\n \\"Checkpoints\\": [\\n {\\n \\"Percentage\\": 60\\n }\\n ],\\n \\"Strategy\\": \\"Rolling\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query instance refresh tasks', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeInstanceRefreshes', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + ], + 'DescribeLifecycleActions' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '125398', + 'abilityTreeNodes' => ['FEATUREess54US0Q'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingActivityId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling activity.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asa-bp17mug9t0pegagw****'], + ], + [ + 'name' => 'LifecycleActionStatus', + 'in' => 'query', + 'schema' => ['description' => 'The status of the lifecycle action. Valid values:'."\n" + ."\n" + .'* If a lifecycle action is in the Pending state, Elastic Compute Service (ECS) instances are waiting to be added to a scaling group or waiting to be removed from a scaling group.'."\n" + .'* If a lifecycle action is in the Timeout state, the lifecycle hook that triggers the lifecycle action ends, and ECS instances are added to or removed from the scaling group.'."\n" + .'* If a lifecycle action is in the Completed state, you manually end the lifecycle hook that triggers the lifecycle action ahead of schedule.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Pending'], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => ['description' => 'The token that is used to specify the lifecycle action from which the query starts.'."\n" + ."\n" + .'For example, after the first 10 lifecycle actions are queried, the query starts from the 11th lifecycle action. Set this parameter to the NextToken value that is returned in the previous API call. If you do not specify this parameter, the query starts from the beginning.'."\n", 'type' => 'string', 'required' => false, 'example' => 'AAAAAcSz4VTb1Nq****'], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of entries to return on each page. Valid values: 1 to 50.'."\n" + ."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NextToken' => ['description' => 'The query token returned in this call.'."\n", 'type' => 'string', 'example' => 'AAAAAcSz4VTb1Nq****'], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '42A742EB-FCF3-459E-9C62-E107048C17E3'], + 'TotalCount' => ['description' => 'The total number of the queried lifecycle actions.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3'], + 'MaxResults' => ['description' => 'The maximum number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3'], + 'LifecycleActions' => [ + 'description' => 'The actions of the lifecycle hook.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The lifecycle actions.'."\n", + 'type' => 'object', + 'properties' => [ + 'LifecycleHookId' => ['description' => 'The ID of the lifecycle hook.'."\n", 'type' => 'string', 'example' => 'ash-bp18uoft0deax0f7****'], + 'LifecycleActionToken' => ['description' => 'The token of the lifecycle hook action.'."\n", 'type' => 'string', 'example' => '9C2E9DA7-F794-449A-ACF6-CEE24444F7BB'], + 'LifecycleActionStatus' => ['description' => 'The status of the lifecycle hook action.'."\n", 'type' => 'string', 'example' => 'Pending'], + 'LifecycleActionResult' => ['description' => 'The subsequent action that Auto Scaling performs after the lifecycle hook times out. Valid values:'."\n" ."\n" - .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '40000', + .'* 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****"]'], + ], ], - 'DataCacheBurstingEnabled' => [ - 'description' => 'Indicates whether the Performance Burst feature is enabled for the ESSD AutoPL disk that caches data. Valid values:'."\n" + ], + ], + ], + 'description' => '', + ], + ], + ], + 'title' => 'DescribeLifecycleActions', + 'summary' => 'Queries lifecycle hook actions. When you call the DescribeLifecycleActions operation, you can specify parameters such as ScalingActivityId, NextToken, and MaxResults to query the details such as the action status and ID of a lifecycle hook. You can also call this operation to query the IDs of Elastic Compute Service (ECS) instances on which the lifecycle hook takes effect.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeLifecycleActions', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"AAAAAcSz4VTb1Nq****\\",\\n \\"RequestId\\": \\"42A742EB-FCF3-459E-9C62-E107048C17E3\\",\\n \\"TotalCount\\": 3,\\n \\"MaxResults\\": 3,\\n \\"LifecycleActions\\": [\\n {\\n \\"LifecycleHookId\\": \\"ash-bp18uoft0deax0f7****\\",\\n \\"LifecycleActionToken\\": \\"9C2E9DA7-F794-449A-ACF6-CEE24444F7BB\\",\\n \\"LifecycleActionStatus\\": \\"Pending\\",\\n \\"LifecycleActionResult\\": \\"CONTINUE\\",\\n \\"InstanceIds\\": [\\n \\"[\\\\\\"i-bp11m3fzlqrgk5vh****\\\\\\",\\\\\\"i-bp11m3fzlqrgk5vh****\\\\\\"]\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeLifecycleHooks' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '125347', + 'abilityTreeNodes' => ['FEATUREess54US0Q'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp1igpak5ft1flyp****'], + ], + [ + 'name' => 'LifecycleHookName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the lifecycle hook.'."\n", 'type' => 'string', 'required' => false, 'example' => 'lifecyclehook****'], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The number of the page to return. Pages start from page 1.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 50.'."\n" + ."\n" + .'Default value: 50.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50'], + ], + [ + 'name' => 'LifecycleHookIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the lifecycle hooks that you want to query.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the lifecycle hook that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ash-bp1at9ufhmcf9cmy****'], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing'], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '50'], + 'TotalCount' => ['description' => 'The total number of lifecycle hooks.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'LifecycleHooks' => [ + 'description' => 'Details about the lifecycle hooks.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details about the lifecycle hook.'."\n", + 'type' => 'object', + 'properties' => [ + 'DefaultResult' => ['description' => 'The next action that is performed after the lifecycle hook times out.'."\n", 'type' => 'string', 'example' => 'CONTINUE'], + 'LifecycleHookId' => ['description' => 'The ID of the lifecycle hook.'."\n", 'type' => 'string', 'example' => 'ash-bp19d1032y9kij96****'], + 'LifecycleHookName' => ['description' => 'The name of the lifecycle hook.'."\n", 'type' => 'string', 'example' => 'lifecyclehook****'], + 'LifecycleTransition' => ['description' => 'The type of the scaling activity to which the lifecycle hook applies.'."\n", 'type' => 'string', 'example' => 'SCALE_OUT'], + 'NotificationMetadata' => ['description' => 'The fixed string that is included in a notification that Auto Scaling sends when the lifecycle hook takes effect.'."\n", 'type' => 'string', 'example' => 'Test Lifecycle Hook.'], + 'NotificationArn' => ['description' => 'The ARN of the notification recipient when the lifecycle hook takes effect. The value of this parameter must be in one of the following formats:'."\n" ."\n" - .'* true'."\n" - .'* false'."\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" - .'Default value: false.'."\n" + .'The variables in the preceding value formats have the following meanings:'."\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" + .'* 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" - .'* 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', - ], + .'* Active: The lifecycle hook is enabled.'."\n" + .'* InActive: The lifecycle hook is disabled.'."\n", 'type' => 'string', 'example' => 'Active'], ], ], ], - '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', + 'title' => 'DescribeLifecycleHooks', + 'summary' => 'Queries lifecycle hooks. When you call this operation, you can specify the lifecycle hook ID or scaling group ID to query the details of the desired lifecycle hook, such as the default action after the lifecycle hook times out, scaling activity that corresponds to the lifecycle hook, Alibaba Cloud Resource Name (ARN) of the notification recipient, and effective period of the lifecycle hook.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeLifecycleHooks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"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.', + '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"}]', ], - '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', + 'DescribeLimitation' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREessZ1KWHS'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'MaxNumberOfScheduledTasks' => ['description' => 'The maximum number of scheduled tasks that can be created in a region by using an Alibaba Cloud account.'."\n" + ."\n" + .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '70', 'title' => ''], + 'MaxNumberOfLoadBalancers' => ['description' => 'The maximum number of Classic Load Balancer (CLB, formerly known as SLB) instances that can be associated with a scaling group.'."\n" + ."\n" + .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'MaxNumberOfMaxSize' => ['description' => 'The maximum number of instances that can be contained in a scaling group.'."\n" + ."\n" + .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2000', 'title' => ''], + 'MaxNumberOfAlbServerGroup' => ['description' => 'The maximum number of Application Load Balancer (ALB) server groups that can be attached to a scaling group.'."\n" + ."\n" + .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'MaxNumberOfNlbServerGroup' => ['description' => 'The maximum number of Network Load Balancer (NLB) server groups that can be attached to a scaling group.'."\n" + ."\n" + .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'MaxNumberOfDBInstances' => ['description' => 'The maximum number of ApsaraDB RDS instances that can be associated with a scaling group.'."\n" + ."\n" + .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'MaxNumberOfScalingConfigurations' => ['description' => 'The maximum number of scaling configurations that can be created in a scaling group.'."\n" + ."\n" + .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '70', 'title' => ''], + 'MaxNumberOfMinSize' => ['description' => 'The minimum number of instances that must be contained in a scaling group. The value of `MaxNumberOfMinSize` must be consistent with the value of `MaxNumberOfMaxSize`.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2000', 'title' => ''], + 'MaxNumberOfLifecycleHooks' => ['description' => 'The maximum number of lifecycle hooks that can be created in a scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'MaxNumberOfScalingInstances' => ['description' => 'The maximum number of Elastic Compute Service (ECS) instances or elastic container instances that can be automatically scaled in a scaling group at the same time.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '500', 'title' => ''], + 'MaxNumberOfScalingGroups' => ['description' => 'The maximum number of scaling groups that can be created in a region by using an Alibaba Cloud account.'."\n" + ."\n" + .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'BE9BEB41-E7B8-4C7D-A3CF-2DCB1066****', 'title' => ''], + 'MaxNumberOfNotificationConfigurations' => ['description' => 'The maximum number of notification rules that can be created in a scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '6', 'title' => ''], + 'MaxNumberOfVServerGroups' => ['description' => 'The maximum number of CLB vServer groups that can be attached to a scaling group.'."\n" + ."\n" + .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'MaxNumberOfScalingRules' => ['description' => 'The maximum number of scaling rules that can be created in a scaling group.'."\n" + ."\n" + .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '70', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"MaxNumberOfScheduledTasks\\": 70,\\n \\"MaxNumberOfLoadBalancers\\": 30,\\n \\"MaxNumberOfMaxSize\\": 2000,\\n \\"MaxNumberOfAlbServerGroup\\": 30,\\n \\"MaxNumberOfNlbServerGroup\\": 30,\\n \\"MaxNumberOfDBInstances\\": 30,\\n \\"MaxNumberOfScalingConfigurations\\": 70,\\n \\"MaxNumberOfMinSize\\": 2000,\\n \\"MaxNumberOfLifecycleHooks\\": 10,\\n \\"MaxNumberOfScalingInstances\\": 500,\\n \\"MaxNumberOfScalingGroups\\": 200,\\n \\"RequestId\\": \\"BE9BEB41-E7B8-4C7D-A3CF-2DCB1066****\\",\\n \\"MaxNumberOfNotificationConfigurations\\": 6,\\n \\"MaxNumberOfVServerGroups\\": 5,\\n \\"MaxNumberOfScalingRules\\": 70\\n}","type":"json"}]', + 'title' => 'DescribeLimitation', + 'summary' => 'Queries resource quotas. For example, you can call the DescribeLimitation operation to query the maximum numbers of scheduled tasks that you can create in a scaling group, load balancers that you can attach to a scaling group, instances that you can add to a scaling group, and scaling configurations that you can create in a scaling group.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeLimitation', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'operationType' => 'read', + ], + 'DescribeNotificationConfigurations' => [ + 'summary' => 'Queries notification settings. You can call the DescribeNotificationConfiguration operation to query notification settings of scaling events or resource changes, including the notification types and methods.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '125345', - 'abilityTreeNodes' => [ - 'FEATUREessT4M3WE', - ], + 'abilityTreeCode' => '125360', + 'abilityTreeNodes' => ['FEATUREess6E26FJ', 'FEATUREessFY8KDA'], ], 'parameters' => [ [ - 'name' => 'ScalingConfigurationId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling configuration that you want to modify.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asc-bp16har3jpj6fjbx****', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], ], [ - 'name' => 'ScalingConfigurationName', + 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The 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', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'NotificationConfigurationModels' => [ + 'description' => 'The notification settings.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The notification setting.'."\n", + 'type' => 'object', + 'properties' => [ + 'NotificationArn' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. The value is in one of the following formats:'."\n" + ."\n" + .'* If you specify CloudMonitor as the notification recipient, the value is in the acs:ess:{region-id}:{account-id}:cloudmonitor format.'."\n" + .'* If you specify a Simple Message Queue (SMQ, formerly MNS) as the notification recipient, the value is in the acs:mns:{region-id}:{account-id}:queue/{queuename} format.'."\n" + .'* If you specify an SMQ topic as the notification recipient, the value is in the acs:mns:{region-id}:{account-id}:topic/{topicname} format.'."\n" + ."\n" + .'The variables in the preceding value formats have the following meanings:'."\n" + ."\n" + .'* region-id: the region ID of your scaling group.'."\n" + .'* account-id: the ID of your Alibaba Cloud account.'."\n" + .'* queuename: the name of the SMQ queue.'."\n" + .'* topicname: the name of the SMQ topic.'."\n", 'type' => 'string', 'example' => 'acs:mns:cn-beijing:161456884340****:topic/modifyLifecycleHo****', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], + 'NotificationTypes' => [ + 'description' => 'The types of the notifications.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The types of the notifications.'."\n", 'type' => 'string', 'example' => 'AUTOSCALING:SCALE_IN_SUCCESS', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'TimeZone' => ['description' => 'The time zone of the notification. The value must be in UTC. For example, a value of UTC+8 indicates that the time is 8 hours ahead of Coordinated Universal Time, and a value of UTC-7 indicates that the time is 7 hours behind Coordinated Universal Time.'."\n", 'type' => 'string', 'example' => 'UTC+8', 'title' => ''], + 'MessageEncoding' => ['description' => 'The codec of the notification message content.', 'type' => 'string', 'example' => 'PlainText', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"NotificationConfigurationModels\\": [\\n {\\n \\"NotificationArn\\": \\"acs:mns:cn-beijing:161456884340****:topic/modifyLifecycleHo****\\",\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\",\\n \\"NotificationTypes\\": [\\n \\"AUTOSCALING:SCALE_IN_SUCCESS\\"\\n ],\\n \\"TimeZone\\": \\"UTC+8\\",\\n \\"MessageEncoding\\": \\"PlainText\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeNotificationConfigurations', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeNotificationConfigurations', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + ], + 'DescribeNotificationTypes' => [ + 'summary' => 'Queries notification types. You can call the DescribeNotificationTypes operation to query the types of notifications on scaling events or resource changes occurred in your scaling groups. Notifications are triggered in scenarios such as successful scale-out events, successful scale-in events, expiration of scheduled tasks, and partially successful scale-out events.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Description', - 'in' => 'query', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125339', + 'abilityTreeNodes' => ['FEATUREessFY8KDA'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '> This parameter is unavailable for use.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'desc', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'NotificationTypes' => [ + 'description' => 'The types of the notifications.'."\n" + ."\n" + .'* AUTOSCALING:SCALE_OUT_SUCCESS: The scale-out activity succeeds.'."\n" + .'* AUTOSCALING:SCALE_IN_SUCCESS: The scale-in activity succeeds.'."\n" + .'* AUTOSCALING:SCALE_OUT_ERROR: The scale-out activity fails.'."\n" + .'* AUTOSCALING:SCALE_IN_ERROR: The scale-in activity fails.'."\n" + .'* AUTOSCALING:SCALE_REJECT: The request for scaling activities is rejected.'."\n" + .'* AUTOSCALING:SCALE_OUT_START: The scale-out activity starts.'."\n" + .'* AUTOSCALING:SCALE_IN_START: The scale-in activity starts.'."\n" + .'* AUTOSCALING:SCHEDULE_TASK_EXPIRING: Auto Scaling sends a notification when a scheduled task is about to expire.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The types of the notifications.'."\n" + ."\n" + .'* AUTOSCALING:SCALE_OUT_SUCCESS: The scale-out activity succeeds.'."\n" + .'* AUTOSCALING:SCALE_IN_SUCCESS: The scale-in activity succeeds.'."\n" + .'* AUTOSCALING:SCALE_OUT_ERROR: The scale-out activity fails.'."\n" + .'* AUTOSCALING:SCALE_IN_ERROR: The scale-in activity fails.'."\n" + .'* AUTOSCALING:SCALE_REJECT: The request for scaling activities is rejected.'."\n" + .'* AUTOSCALING:SCALE_OUT_START: The scale-out activity starts.'."\n" + .'* AUTOSCALING:SCALE_IN_START: The scale-in activity starts.'."\n" + .'* AUTOSCALING:SCHEDULE_TASK_EXPIRING: Auto Scaling sends a notification when a scheduled task is about to expire.'."\n", 'type' => 'string', 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"NotificationTypes\\": [\\n \\"AUTOSCALING:SCALE_OUT_SUCCESS\\"\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeNotificationTypes', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeNotificationTypes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'DescribePatternTypes' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'SecurityGroupId', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'abilityTreeCode' => '221452', + 'abilityTreeNodes' => ['FEATUREessWJGIW5'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group to which elastic container instances belong. Elastic container instances that belong to the same security group can communicate with each other.'."\n" - ."\n" - .'If you do not specify a security group, the system uses the default security group in the region that you selected. Make sure that the inbound rules of the security group contain the protocols and port numbers of the containers that you want to expose. If you do not have a default security group in the region, the system creates a default security group and then adds the container protocols and port numbers that you specified to the inbound rules of the security group.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'sg-uf66jeqopgqa9hdn****', - ], + 'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ContainerGroupName', + 'name' => 'VSwitchId', 'in' => 'query', + 'style' => 'repeatList', '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', + '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, - 'docRequired' => false, - 'example' => 'nginx-test', + 'maxItems' => 100, ], ], [ - 'name' => 'RestartPolicy', + 'name' => 'ZoneId', 'in' => 'query', + 'style' => 'repeatList', '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', + '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, - 'example' => 'Always', + 'maxItems' => 100, ], ], [ - 'name' => 'Cpu', + 'name' => 'SpotStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of vCPUs per elastic container instance.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1.0', - ], + 'schema' => ['description' => 'The 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 per elastic container instance. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '2.0', - ], + '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' => 'ResourceGroupId', + 'name' => 'MaxPrice', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-uf66jeqopgqa9hdn****', - ], + 'schema' => ['description' => 'The maximum hourly price for pay-as-you-go or preemptible instances.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2'], ], [ - 'name' => 'DnsPolicy', + '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 Domain Name System (DNS) policy. Valid values:'."\n" + '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" - .'* None: uses the DNS that is specified by DnsConfig.'."\n" - .'* Default: uses the DNS that is specified for the runtime environment.'."\n", - 'type' => 'string', + .'* 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, - 'example' => 'Default', + 'maxItems' => 100, ], ], [ - 'name' => 'EnableSls', + 'name' => 'Architecture', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '> This parameter is not available for use.'."\n", - 'type' => 'boolean', + '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, - 'example' => 'false', + 'maxItems' => 100, ], ], [ - 'name' => 'ImageSnapshotId', + 'name' => 'BurstablePerformance', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the image cache.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'imc-2zebxkiifuyzzlhl****', - ], + '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' => 'RamRoleName', + 'name' => 'CoresList', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The name of the instance Resource Access Management (RAM) role. You can use the same RAM role to access elastic container instances and Elastic Compute Service (ECS) instances. For more information, see [Use an instance RAM role by calling API operations](~~61178~~).'."\n", - 'type' => 'string', + 'description' => '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, - 'example' => 'RamTestRole', + 'maxItems' => 10, ], ], [ - 'name' => 'TerminationGracePeriodSeconds', + 'name' => 'MemoryList', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The buffer period during which the program handles operations before the program is stopped. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', + '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, - 'example' => '60', + 'maxItems' => 10, ], ], [ - 'name' => 'AutoMatchImageCache', + 'name' => 'ChannelId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to automatically match image caches.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The channel ID. This parameter is not for public use.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '79425074'], ], [ - 'name' => 'Ipv6AddressCount', + 'name' => 'InstanceTypeFamilies', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The number of IPv6 addresses.'."\n", - 'type' => 'integer', - 'format' => 'int32', + '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, - 'example' => '1', + 'maxItems' => 100, ], ], [ - 'name' => 'ActiveDeadlineSeconds', + 'name' => 'MinimumCpuCoreCount', 'in' => 'query', - 'schema' => [ - 'description' => 'The validity period of the scaling configuration. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1000', - ], + 'schema' => ['description' => 'The minimum number of vCPUs per instance type.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], ], [ - 'name' => 'SpotStrategy', + 'name' => 'MaximumCpuCoreCount', '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', - ], + 'schema' => ['description' => 'The maximum number of vCPUs per instance type.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4'], ], [ - 'name' => 'SpotPriceLimit', + 'name' => 'GpuSpecs', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The GPU models.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The GPU model.'."\n", 'type' => 'string', 'required' => false, 'example' => '["NVIDIA V100"]'], 'required' => false, - 'example' => '0.025', + 'maxItems' => 100, ], ], [ - 'name' => 'AutoCreateEip', + 'name' => 'InstanceCategories', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to automatically create elastic IP addresses (EIPs) and bind the EIPs to elastic container instances.'."\n", - 'type' => 'boolean', + '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, - 'example' => 'true', + 'maxItems' => 100, ], ], [ - 'name' => 'EipBandwidth', + 'name' => 'CpuArchitectures', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The EIP bandwidth.'."\n" + '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" - .'Default value: 5. Unit: Mbit/s.'."\n", - 'type' => 'integer', - 'format' => 'int32', + .'* x86'."\n" + .'* Arm'."\n", 'type' => 'string', 'required' => false, 'example' => '["X86", "ARM"]'], 'required' => false, - 'maximum' => '1000000', - 'minimum' => '0', - 'example' => '5', + 'maxItems' => 100, ], ], [ - 'name' => 'HostName', + 'name' => 'PhysicalProcessorModels', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The hostname series of elastic container instances.'."\n", - 'type' => 'string', + '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, - 'example' => 'test', + 'maxItems' => 100, ], ], [ - 'name' => 'IngressBandwidth', + 'name' => 'MinimumEniQuantity', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum inbound bandwidth. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'maximum' => '9223372036854775807', - 'minimum' => '0', - 'example' => '1024000', - ], + 'schema' => ['description' => 'The minimum number of elastic network interfaces (ENIs) per instance.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], ], [ - 'name' => 'EgressBandwidth', + 'name' => 'MinimumEniPrivateIpAddressQuantity', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum outbound bandwidth. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'maximum' => '9223372036854775807', - 'minimum' => '0', - 'example' => '1024000', - ], + 'schema' => ['description' => 'The minimum number of IPv4 addresses per ENI.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], ], [ - 'name' => 'CpuOptionsCore', + 'name' => 'MinimumEniIpv6AddressQuantity', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of physical CPU cores. You can specify this parameter for only specific ECS instance types. For more information, see [Specify CPU options](~~197781~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1000', - 'minimum' => '0', - 'example' => '2', - ], + 'schema' => ['description' => 'The minimum number of IPv6 addresses per ENI.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ - 'name' => 'CpuOptionsThreadsPerCore', + 'name' => 'MinimumInitialCredit', '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', - ], + 'schema' => ['description' => 'The initial vCPU credits per t5 or t6 burstable instance.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12'], ], [ - 'name' => 'EphemeralStorage', + 'name' => 'MinimumBaselineCredit', 'in' => 'query', - 'schema' => [ - 'description' => 'The size of the temporary storage space. By default, an Enterprise SSD (ESSD) of the PL1 type is used. Unit: GiB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5000', - 'minimum' => '0', - 'example' => '20', - ], + 'schema' => ['description' => 'The 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' => 'LoadBalancerWeight', + 'name' => 'MinimumMemorySize', 'in' => 'query', - 'schema' => [ - 'description' => 'The load balancing weight of each backend server. Valid values: 1 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The minimum memory size per instance. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4'], ], [ - 'name' => 'Tags', + 'name' => 'MaximumMemorySize', '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, - ], + 'schema' => ['description' => 'The maximum memory size per instance. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4'], ], [ - 'name' => 'ImageRegistryCredentials', + 'name' => 'MinimumGpuAmount', 'in' => 'query', - 'style' => 'repeatList', + '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' => [ - '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', + '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'], + ], ], ], - 'required' => false, ], - 'required' => false, - 'maxItems' => 11, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PatternTypes\\": [\\n {\\n \\"InstanceType\\": \\"ecs.c7.xlarge\\",\\n \\"InstanceFamilyLevel\\": \\"EnterpriseLevel\\",\\n \\"InstanceTypeFamily\\": \\"ecs.c7\\",\\n \\"Cores\\": 4,\\n \\"Memory\\": 8\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribePatternTypes', + 'summary' => 'Queries instance types. When you call the DescribePatternTypes operation, you can specify attributes such as the vSwitch ID, number of vCPUs, memory size, instance family, and maximum acceptable price to filer instance types that meet your business requirements.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ess:DescribePatternTypes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'DescribeRegions' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - '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"]', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125375', + 'abilityTreeNodes' => ['FEATUREessZ1KWHS'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'AcceptLanguage', + 'in' => 'query', + 'schema' => ['description' => 'The language for the response. For more information, see [RFC7231](https://tools.ietf.org/html/rfc7231). Valid values:'."\n" + ."\n" + .'* zh-CN: Chinese'."\n" + .'* en-US: English'."\n" + .'* ja: Japanese'."\n" + ."\n" + .'Default value: zh-CN.'."\n", 'type' => 'string', 'required' => false, 'example' => 'zh-CN', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'Regions' => [ + 'description' => 'The collection of region information.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the regions.'."\n", + 'type' => 'object', + 'properties' => [ + 'ClassicUnavailable' => ['description' => 'Indicates whether the current region supports scaling groups that reside in the classic network. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'RegionEndpoint' => ['description' => 'The region endpoint.'."\n", 'type' => 'string', 'example' => 'ess.aliyuncs.com', 'title' => ''], + 'LocalName' => ['description' => 'The region name.'."\n", 'type' => 'string', 'example' => '华北2(北京)', 'title' => ''], + 'VpcUnavailable' => ['description' => 'Indicates whether the current region supports scaling groups that reside in virtual private clouds (VPCs). Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], ], - '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', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'required' => false, ], - 'required' => false, - 'maxItems' => 21, + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"Regions\\": [\\n {\\n \\"ClassicUnavailable\\": false,\\n \\"RegionEndpoint\\": \\"ess.aliyuncs.com\\",\\n \\"LocalName\\": \\"华北2(北京)\\",\\n \\"VpcUnavailable\\": false,\\n \\"RegionId\\": \\"cn-beijing\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeRegions', + 'summary' => 'Queries regions. Before you activate Auto Scaling, you can call the DescribeRegions operation to query the regions where Auto Scaling is officially launched. This preliminary step facilitates the strategic selection of both the optimal region and availability zones for activating Auto Scaling, thereby guaranteeing the finest access speeds and operational efficiency within your chosen geographical area.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'DescribeScalingActivities' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Volumes', + '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 volumes.'."\n", + '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 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, - ], + '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' => 101, + 'maxItems' => 20, ], ], [ - 'name' => 'InitContainers', + 'name' => 'InstanceRefreshTaskId', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The ID of the instance refresh task. If you specify this parameter, this operation returns the list of scaling activities associated with the instance refresh task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ir-a12ds234fasd*****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The 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', - ], + '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"]'], ], - '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" + '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" - .'> 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" + .'* 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" - .'* 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', + .'* 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"], + ], ], ], - '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', + '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' => '', ], ], - '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, + 'description' => '', ], ], - [ - 'name' => 'DnsConfigNameServers', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IP addresses of DNS servers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IP address of the DNS server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '172.10.*.** '."\n", + ], + 'title' => 'DescribeScalingActivities', + 'summary' => 'Queries scaling activities. You can call the DescribeScalingActivities operation to query the results of scaling activities triggered by scheduled tasks, event-triggered tasks, or manual execution of scaling rules. For example, you can query the status and cause of a scaling activity. You can also query the total number of instances after a scaling activity is complete.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingActivities', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, - 'maxItems' => 20, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC107349-57B7-4405-B1BF-9BF5AF7F2A46\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1,\\n \\"ScalingActivities\\": [\\n {\\n \\"Progress\\": 100,\\n \\"ScalingInstanceNumber\\": 1,\\n \\"AttachedCapacity\\": \\"0\\",\\n \\"TotalCapacity\\": \\"2\\",\\n \\"ScalingGroupId\\": \\"asg-bp18p2yfxow2dloq****\\",\\n \\"AutoCreatedCapacity\\": \\"2\\",\\n \\"EndTime\\": \\"2020-09-10T09:54Z\\",\\n \\"StartTime\\": \\"2020-09-10T09:54Z\\",\\n \\"Description\\": \\"Add \\\\\\\\\\\\\\"1\\\\\\\\\\\\\\" ECS instance\\",\\n \\"StatusCode\\": \\"Successful\\",\\n \\"Cause\\": \\"A user requests to execute scaling rule \\\\\\\\\\\\\\"asr-bp12tcnol686y1ik****\\\\\\\\\\\\\\", changing the Total Capacity from \\\\\\\\\\\\\\"1\\\\\\\\\\\\\\" to \\\\\\\\\\\\\\"2\\\\\\\\\\\\\\".\\",\\n \\"ScalingActivityId\\": \\"asa-bp161xudmuxdzofe****\\",\\n \\"StatusMessage\\": \\"\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\" ECS instances are added\\",\\n \\"CreatedCapacity\\": 1,\\n \\"DestroyedCapacity\\": 1,\\n \\"StartedCapacity\\": 1,\\n \\"StoppedCapacity\\": 1,\\n \\"CreatedInstances\\": [\\n \\"[\\\\\\"i-abc1\\\\\\",\\\\\\"i-abc2\\\\\\"]\\"\\n ],\\n \\"DestroyedInstances\\": [\\n \\"[\\\\n \\\\\\"i-abc1\\\\\\",\\\\n \\\\\\"i-abc2\\\\\\"\\\\n]\\"\\n ],\\n \\"StartedInstances\\": [\\n \\"[\\\\n \\\\\\"i-abc1\\\\\\",\\\\n \\\\\\"i-abc2\\\\\\"\\\\n]\\"\\n ],\\n \\"StoppedInstances\\": [\\n \\"[\\\\n \\\\\\"i-abc1\\\\\\",\\\\n \\\\\\"i-abc2\\\\\\"\\\\n]\\"\\n ],\\n \\"ErrorCode\\": \\"OperationDenied.NoStock\\",\\n \\"ErrorMessage\\": \\"The specified ECS resource is out of stock in this region. Please try again later.\\",\\n \\"Detail\\": \\"\\\\\\"new ECS instances \\\\\\"i-j6c8ilerw, i-j6c8iler4mx\\\\\\" are created.\\\\\\"\\",\\n \\"TriggerSourceType\\": \\"Api\\",\\n \\"TriggerSourceId\\": \\"2346366580*****\\",\\n \\"LifecycleHookContext\\": {\\n \\"DisableLifecycleHook\\": false,\\n \\"IgnoredLifecycleHookIds\\": [\\n \\"ash-bp14zolna43z266bq***\\\\n\\"\\n ]\\n },\\n \\"ActivityMetadata\\": \\"{\\\\\\\\\\\\\\"goatscaler.io/managed\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\"}\\",\\n \\"InstanceRefreshTaskId\\": \\"ir-asdf12adsxg*****\\",\\n \\"ErrorMessages\\": [\\n {\\n \\"Description\\": \\"Fail to create instances into scaling group.\\",\\n \\"Code\\": \\"OperationDenied.NoStock\\",\\n \\"Message\\": \\"The resource is out of stock in the specified zone. Please try other types, or choose other regions and zones.\\",\\n \\"FailedInstanceIds\\": [\\n \\"i-8vbedazhjj6a6******\\"\\n ]\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeScalingActivityDetail' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'DnsConfigSearchs', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '125351', + 'abilityTreeNodes' => ['FEATUREessACRSW1'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingActivityId', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The ID of the scaling activity that you want to query. You can call the DescribeScalingActivities operation to query the IDs of scaling activities.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asa-bp1c9djwrgxjyk31****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The 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", + '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.'], ], - 'required' => false, - 'maxItems' => 20, + 'description' => '', ], ], - [ - '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, + ], + 'title' => 'DescribeScalingActivityDetail', + 'summary' => 'Queries the details of a scaling activity. You can query a scaling activity by its ID. The scaling activity details include the scaling activity status, error code, and error message. You can efficiently troubleshoot issues and analyze service performance based on the error message.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingActivityDetail', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, - 'maxItems' => 20, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B13527BF-1FBD-4334-A512-20F5E9D3FB4D\\",\\n \\"ScalingActivityId\\": \\"asa-bp1c9djwrgxjyk31****\\",\\n \\"Detail\\": \\"new ECS instances \\\\\\\\\\\\\\"i-bp16t2cgmiiymeqv****\\\\\\\\\\\\\\" are created.\\"\\n}","type":"json"}]', + ], + 'DescribeScalingActivityStatistics' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'HostAliases', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '221448', + 'abilityTreeNodes' => ['FEATUREessL0GZCK'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-8vbje5pofxxxxxxxx', 'title' => ''], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => ['description' => 'The start time of the statistical interval. The time follows the ISO 8601 standard and uses UTC time.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-15T08:00Z', 'title' => ''], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end time of the statistical interval. The time follows the ISO 8601 standard and uses UTC time.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-18T08:00Z', 'title' => ''], + ], + [ + 'name' => 'MetricType', + 'in' => 'query', + 'schema' => ['description' => 'The name of the metric on which the scaling activity is counted. Valid values:'."\n" + ."\n" + .'* ScalingActivityStatus: collects statistics on the distribution of scaling activities in different states within a time range.'."\n" + .'* ScalingActivityErrorCodes: the distribution of error codes in failed scaling activities within a time range.'."\n" + ."\n" + .'Default value: ScalingActivityStatus.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ScalingActivityStatus', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - '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", + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'Request ID.'."\n", 'type' => 'string', 'example' => 'A8F44B4D-BAB4-5176-8705-5984xxxxx', 'title' => ''], + 'ScalingActivityStatusStatistics' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Statistic' => [ + 'description' => 'The statistical metrics of the scaling activity status.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The statistical metrics of the scaling activity status.'."\n", + 'type' => 'object', + 'properties' => [ + 'Time' => ['description' => 'The time when the statistics are generated. The time is in UTC. Format: yyyyMMddHH.'."\n", 'type' => 'string', 'example' => '2025121623', 'title' => ''], + 'SuccessActivityCount' => ['description' => 'The number of successful scaling activities.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'FailedActivityCount' => ['description' => 'The number of failed scaling activities.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'WarningActivityCount' => ['description' => 'The number of partially executed scaling activities.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], ], - '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", + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'ScalingActivityErrorCodeStatistics' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ErrorStatistic' => [ + 'description' => 'The error message statistics of the scaling activity.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The error message statistics of the scaling activity.'."\n", + 'type' => 'object', + 'properties' => [ + 'ErrorCode' => ['description' => 'Scaling Activity Error Codes'."\n", 'type' => 'string', 'example' => 'QuotaExceeded.PrivateIpAddress', 'title' => ''], + 'Count' => ['description' => 'The number of failed scaling activities.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'Time' => ['description' => 'The time when the statistics are generated. The time is in UTC. Format: yyyyMMddHH.'."\n", 'type' => 'string', 'example' => '2025121623', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], - 'required' => false, - 'maxItems' => 51, ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'required' => false, ], - 'required' => false, - 'maxItems' => 101, + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'SecurityContextSysCtls', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The security contexts in which the elastic container instance runs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The security context in which the elastic container instance runs.'."\n", - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'The variable value of the security context in which the elastic container instance runs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '65536', - ], - 'Name' => [ - 'description' => 'The variable name of the security context in which the elastic container instance runs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'kernel.msgmax '."\n", - ], - ], - 'required' => false, + ], + 'title' => 'DescribeScalingActivityStatistics', + 'summary' => 'The distribution of scaling activities in different states over a period of time.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingActivityStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'required' => false, - 'maxItems' => 11, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A8F44B4D-BAB4-5176-8705-5984xxxxx\\",\\n \\"ScalingActivityStatusStatistics\\": {\\n \\"Statistic\\": [\\n {\\n \\"Time\\": \\"2025121623\\",\\n \\"SuccessActivityCount\\": 10,\\n \\"FailedActivityCount\\": 1,\\n \\"WarningActivityCount\\": 2\\n }\\n ]\\n },\\n \\"ScalingActivityErrorCodeStatistics\\": {\\n \\"ErrorStatistic\\": [\\n {\\n \\"ErrorCode\\": \\"QuotaExceeded.PrivateIpAddress\\",\\n \\"Count\\": 4,\\n \\"Time\\": \\"2025121623\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeScalingConfigurations' => [ + 'summary' => 'Queries information about ECS-type scaling configurations, including instance types and images, so that you can learn about the ECS instance templates used for elastic scale-out in advance.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '133422', + 'abilityTreeNodes' => ['FEATUREessVYTHU5'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group to which the scaling configuration belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number of the scaling configuration list. Minimum value: 1.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page for a paged query. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'default' => '10', 'example' => '50', 'title' => ''], + ], [ - 'name' => 'NtpServers', + 'name' => 'ScalingGroupId', '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, - ], + 'schema' => ['description' => 'The ID of the scaling group. You can query all scaling configurations in the specified scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp17pelvl720x3v7****', 'title' => ''], ], [ - 'name' => 'AcrRegistryInfos', + 'name' => 'ScalingConfigurationIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The Container Registry Enterprise Edition instances.'."\n", + 'description' => 'The IDs of the scaling configurations that you want to query.'."\n" + ."\n" + .'The query results include scaling configurations in both the Active and Inactive states, which are identified by the LifecycleState response parameter.', 'type' => 'array', - 'items' => [ - '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, - ], + 'items' => ['description' => 'The IDs of the scaling configurations that you want to query.'."\n" + ."\n" + .'The query results include scaling configurations in both the Active and Inactive states, which are identified by the LifecycleState response parameter.', 'type' => 'string', 'required' => false, 'example' => 'asc-bp17pelvl720x5ub****', 'title' => ''], 'required' => false, - 'maxItems' => 21, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'CostOptimization', + 'name' => 'ScalingConfigurationNames', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to enable the Cost Optimization feature. Valid values:'."\n" + 'description' => 'The names of the scaling configurations that you want to query.'."\n" ."\n" - .'* true'."\n" - .'* false'."\n" + .'The query results ignore invalid scaling configuration names without returning an error.', + 'type' => 'array', + 'items' => ['description' => 'The names of the scaling configurations that you want to query.'."\n" ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', + .'The query results ignore invalid scaling configuration names without returning an error.', 'type' => 'string', 'required' => false, 'example' => 'scalingcon**** '."\n", 'title' => ''], 'required' => false, - 'example' => 'false', + 'maxItems' => 10, + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'PageNumber' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of scaling configurations.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingConfigurations' => [ + 'description' => 'The collection of scaling configuration information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of scaling configuration information.', + 'type' => 'object', + 'properties' => [ + 'DeploymentSetId' => ['description' => 'The ID of the deployment set to which the ECS instance belongs.', 'type' => 'string', 'example' => 'ds-bp1frxuzdg87zh4p****', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the scaling configuration was created.', 'type' => 'string', 'example' => '2014-08-14T10:58Z', 'title' => ''], + 'ScalingConfigurationName' => ['description' => 'The name of the scaling configuration.', 'type' => 'string', 'example' => 'scalingconfigura****', 'title' => ''], + 'SystemDiskDescription' => ['description' => 'The description of the system cloud disk.', 'type' => 'string', 'example' => 'Test system disk.', 'title' => ''], + 'KeyPairName' => ['description' => 'The name of the key pair used to log on to the ECS instance.', 'type' => 'string', 'example' => 'keypair****', 'title' => ''], + 'SecurityGroupId' => ['description' => 'The ID of the security group to which the ECS instance belongs. ECS instances in the same security group can access each other.', 'type' => 'string', 'example' => 'sg-bp18kz60mefs****', 'title' => ''], + 'PrivatePoolOptions.Id' => ['description' => 'The ID of the private pool. This is the ID of the elasticity assurance or capacity reservation.', 'type' => 'string', 'example' => 'eap-bp67acfmxazb4****', 'title' => ''], + 'SystemDiskAutoSnapshotPolicyId' => ['description' => 'The ID of the automatic snapshot policy applied to the system cloud disk.', 'type' => 'string', 'example' => 'sp-bp12m37ccmxvbmi5****', 'title' => ''], + 'SpotStrategy' => ['description' => 'The preemption policy for pay-as-you-go instances. Valid values:'."\n" + .' '."\n" + .'- NoSpot: a regular pay-as-you-go instance.'."\n" + .'- SpotWithPriceLimit: a spot instance with a user-defined maximum hourly price.'."\n" + .'- SpotAsPriceGo: a spot instance priced at the market price at the time of purchase.', 'type' => 'string', 'example' => 'NoSpot', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group to which the scaling configuration belongs.', 'type' => 'string', 'example' => 'asg-bp17pelvl720x3v7****', 'title' => ''], + 'Affinity' => ['description' => 'Specifies whether the instance on a dedicated host is associated with the dedicated host. Valid values:'."\n" + ."\n" + .'- default: The instance is not associated with the dedicated host. When an instance that has the economical mode enabled is restarted, the instance may be placed on another dedicated host in the automatic deployment resource pool if the resources of the original dedicated host are insufficient.'."\n" + ."\n" + .'- host: The instance is associated with the dedicated host. When an instance that has the economical mode enabled is restarted, the instance remains on the original dedicated host. If the resources of the original dedicated host are insufficient, the instance fails to restart.', 'type' => 'string', 'example' => 'default', 'title' => ''], + 'Tenancy' => ['description' => 'Specifies whether to create the instance on a dedicated host. Valid values:'."\n" + ."\n" + .'- default: creates a non-dedicated-host instance.'."\n" + ."\n" + .'- host: creates a dedicated-host instance. If you do not specify DedicatedHostId, Alibaba Cloud automatically selects a dedicated host for the instance.'."\n" + ."\n" + .'Default value: default.', 'type' => 'string', 'example' => 'default', 'title' => ''], + 'SystemDiskSize' => ['description' => 'The size of the system cloud disk. Unit: GiB.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Ipv6AddressCount' => ['description' => 'The number of randomly generated IPv6 addresses allocated to the network interface controller (NIC).', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'SpotDuration' => ['description' => 'The retention period of the spot instance. Unit: hours.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'LifecycleState' => ['description' => 'The state of the scaling configuration in the scaling group. Valid values:'."\n" + ."\n" + .'- Active: The scaling configuration is in the active state. The scaling group uses the active scaling configuration for automatic creation of ECS instances.'."\n" + .'- Inacitve: The scaling configuration is in the inactive state. The scaling configuration exists in the scaling group, but the scaling group does not use it for automatic creation of ECS instances.', 'type' => 'string', 'example' => 'Active', 'title' => ''], + 'InstanceName' => ['description' => 'The name of the ECS instance.', 'type' => 'string', 'example' => 'instance****', 'title' => ''], + 'SecurityEnhancementStrategy' => ['description' => 'Specifies whether security hardening is enabled. Valid values:'."\n" + ."\n" + .'- Active: Security hardening is enabled. This value is applicable only to public images.'."\n" + .'- Deactive: Security hardening is disabled. This value is applicable to all image types.', 'type' => 'string', 'example' => 'Active', 'title' => ''], + 'UserData' => ['description' => 'The custom data of the ECS instance.', 'type' => 'string', 'example' => 'echo hello ecs! '."\n", 'title' => ''], + 'PrivatePoolOptions.MatchCriteria' => ['description' => 'The private pool capacity option for instance startup. After an elasticity assurance or capacity reservation takes effect, a private pool is generated for instances to select during startup. Valid values:'."\n" + ."\n" + .'- Open: open mode. The system automatically matches an open private pool. If no matching private pool is available, the system uses resources from the public pool to start the instance.'."\n" + ."\n" + .'- Target: specified mode. The instance uses the specified private pool to start. If the specified private pool is unavailable, the instance fails to start.'."\n" + ."\n" + .'- None: none mode. The instance does not use private pool capacity to start.', 'type' => 'string', 'example' => 'Open', 'title' => ''], + 'DedicatedHostId' => ['description' => 'Specifies whether to create the ECS instance on a dedicated host. Because dedicated hosts do not support the creation of spot instances, the SpotStrategy and SpotPriceLimit settings in the request are automatically ignored when DedicatedHostId is specified.'."\n" + ."\n" + .'You can call the DescribeDedicatedHosts operation to query the list of dedicated host IDs.', 'type' => 'string', 'example' => 'dh-bp67acfmxazb4p****', 'title' => ''], + 'InstanceGeneration' => ['description' => 'The generation of the ECS instance.', 'type' => 'string', 'example' => 'ecs-3', 'title' => ''], + 'HpcClusterId' => ['description' => 'The ID of the HPC cluster to which the ECS instance belongs.', 'type' => 'string', 'example' => 'hpc-clus****', 'title' => ''], + 'PasswordInherit' => ['description' => 'Specifies whether to use the password preset in the image.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Memory' => ['description' => 'The memory size. Unit: GiB.'."\n" + ."\n" + .'Specifying both CPU and Memory defines an instance type range. For example, CPU=2 and Memory=16 defines all instance types configured with 2 vCPUs and 16 GiB of memory. Auto Scaling determines the available instance type set based on factors such as I/O optimization and zones, and creates instances with the lowest price based on price sorting.'."\n" + ."\n" + .'> This configuration takes effect only in cost optimization mode when no instance type is specified in the scaling configuration.', 'type' => 'integer', 'format' => 'int32', 'example' => '16', 'title' => ''], + 'ImageId' => ['description' => 'The ID of the image file used for automatic creation of instances.', 'type' => 'string', 'example' => 'centos6u5_64_20G_aliaegis_2014****.vhd', 'title' => ''], + 'ImageFamily' => ['description' => 'The name of the image family. By setting this parameter, you can obtain the latest available image in the current image family for instance creation. If `ImageId` is already specified, this parameter cannot be set.', 'type' => 'string', 'example' => 'hangzhou-daily-update', 'title' => ''], + 'ImageOwnerAlias' => ['description' => 'The source of the image. Valid values:'."\n" + ."\n" + .'- system: a public image provided by Alibaba Cloud.'."\n" + .'- self: a custom image that you created.'."\n" + .'- others: a shared image or community image provided by other Alibaba Cloud users.'."\n" + .'- marketplace: an image from Alibaba Cloud Marketplace.', 'type' => 'string', 'example' => 'system', 'title' => ''], + 'LoadBalancerWeight' => ['description' => 'The weight of the ECS instance as a backend server. Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'SystemDiskCategory' => ['description' => 'The category of the system cloud disk. Valid values:'."\n" + ."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.', 'type' => 'string', 'example' => 'cloud', 'title' => ''], + 'HostName' => ['description' => 'The hostname of the ECS instance.', 'type' => 'string', 'example' => 'LocalHost', 'title' => ''], + 'SystemDiskName' => ['description' => 'The name of the system cloud disk.', 'type' => 'string', 'example' => 'cloud_ssd_Test', 'title' => ''], + 'InternetMaxBandwidthOut' => ['description' => 'The maximum outbound public bandwidth. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'InternetMaxBandwidthIn' => ['description' => 'The maximum inbound public bandwidth. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type of the ECS instance.', 'type' => 'string', 'example' => 'ecs.g6.large', 'title' => ''], + 'InstanceDescription' => ['description' => 'The description of the ECS instance.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], + 'IoOptimized' => ['description' => 'Indicates whether the instance is an I/O optimization instance. Valid values:'."\n" + ."\n" + .'- none: non-I/O optimization.'."\n" + .'- optimized: I/O optimization.', 'type' => 'string', 'example' => 'none', 'title' => ''], + 'RamRoleName' => ['description' => 'The name of the RAM role associated with the ECS instance. The RAM role name is provided and maintained by RAM. You can call ListRoles to query available RAM roles.', 'type' => 'string', 'example' => 'ramrole****', 'title' => ''], + 'SystemDiskPerformanceLevel' => ['description' => 'The performance level (PL) of the system cloud disk when the system cloud disk is an ESSD cloud disk.', 'type' => 'string', 'example' => 'PL1', 'title' => ''], + 'Cpu' => ['description' => 'The number of vCPUs.'."\n" + ."\n" + .'Specifying both CPU and Memory defines an instance type range. For example, CPU=2 and Memory=16 defines all instance types configured with 2 vCPUs and 16 GiB of memory. Auto Scaling determines the available instance type set based on factors such as I/O optimization and zones, and creates instances with the lowest price based on price sorting.'."\n" + ."\n" + .'> This configuration takes effect only in cost optimization mode when no instance type is specified in the scaling configuration.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the ECS instance belongs.', 'type' => 'string', 'example' => 'rg-aekzn2ou7xo****', 'title' => ''], + 'ZoneId' => ['description' => 'The zone ID of the instance. You can call DescribeZones to query the list of available zones.', 'type' => 'string', 'example' => 'cn-hangzhou-g', 'title' => ''], + 'InternetChargeType' => ['description' => 'The billing method for network usage. Valid values:'."\n" + ."\n" + .'- PayByBandwidth: pay-by-bandwidth. The value of InternetMaxBandwidthOut is the selected fixed bandwidth value.'."\n" + .'- PayByTraffic: pay-by-traffic. The value of InternetMaxBandwidthOut is only a bandwidth upper limit. Billing is based on the actual network traffic generated.', 'type' => 'string', 'example' => 'PayByTraffic', 'title' => ''], + 'ImageName' => ['description' => 'The name of the image file.', 'type' => 'string', 'example' => 'centos6u5_64_20G_aliaegis_2014****.vhd '."\n", 'title' => ''], + 'ScalingConfigurationId' => ['description' => 'The ID of the scaling configuration.', 'type' => 'string', 'example' => 'asc-bp1ezrfgoyn5kijl****', 'title' => ''], + 'CreditSpecification' => ['description' => 'The running mode of the burstable instance. Valid values:'."\n" + .'- Standard: standard mode. For more information about instance performance, see the performance constrained mode section in [What are burstable instances](~~59977~~).'."\n" + .'- Unlimited: unlimited mode. For more information about instance performance, see the unlimited mode section in [What are burstable instances](~~59977~~).', 'type' => 'string', 'example' => 'Standard', 'title' => ''], + 'SpotInterruptionBehavior' => ['description' => 'The break mode of the spot instance.', 'type' => 'string', 'example' => 'Terminate', 'title' => ''], + 'CustomPriorities' => [ + 'description' => 'The custom priorities of instance type + vSwitch combinations.'."\n" + .'>This parameter takes effect only when the scaling policy of the scaling group is set to priority policy.'."\n" + ."\n" + .'When an instance cannot be created based on a higher-priority instance type + vSwitch combination, Auto Scaling automatically selects the next-priority combination to create ECS instance.'."\n" + ."\n" + .'> If only some instance type + vSwitch custom priorities are specified, the unspecified combinations have lower priority than the specified ones, and the unspecified combinations are still prioritized based on the vSwitch order of the scaling group and ECS instance type order of the scaling configuration.'."\n" + .'> - For example, if the vSwitch order of the scaling group is vsw1 and vsw2, ECS instance type order of the scaling configuration is type1 and type2, and the custom priority order is ["vsw2+type2", "vsw1+type2"], the final priority is: "vsw2+type2" > "vsw1+type2" > "vsw1+type1" > "vsw2+type1".', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The instance type of the ECS instance.', 'type' => 'string', 'example' => 'ecs.c6a.4xlarge', 'title' => ''], + 'VswitchId' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'example' => 'vsw-bp14zolna43z266bq****'."\n", 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'DataDisks' => [ + 'description' => 'The collection of data cloud disk information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of data cloud disk information.', + 'type' => 'object', + 'properties' => [ + 'PerformanceLevel' => ['description' => 'The performance level (PL) of the data cloud disk when the data cloud disk is an ESSD cloud disk.', 'type' => 'string', 'example' => 'PL1', 'title' => ''], + 'Description' => ['description' => 'The description of the data cloud disk.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], + 'SnapshotId' => ['description' => 'The ID of the snapshot used to create the data cloud disk.', 'type' => 'string', 'example' => 's-23f2i****', 'title' => ''], + 'Device' => ['description' => 'The mount point of the data cloud disk.', 'type' => 'string', 'example' => '/dev/xvdb', 'title' => ''], + 'Size' => ['description' => 'The size of the data cloud disk. Unit: GiB. Valid values:'."\n" + ."\n" + .'- cloud: 5 to 2000.'."\n" + .'- cloud_efficiency: 20 to 32768.'."\n" + .'- cloud_ssd: 20 to 32768.'."\n" + .'- cloud_essd: 20 to 32768.'."\n" + .'- ephemeral_ssd: 5 to 800.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'DiskName' => ['description' => 'The name of the data cloud disk.', 'type' => 'string', 'example' => 'cloud_ssdData', 'title' => ''], + 'AutoSnapshotPolicyId' => ['description' => 'The ID of the automatic snapshot policy applied to the data cloud disk.', 'type' => 'string', 'example' => 'sp-bp19nq9enxqkomib****', 'title' => ''], + 'Category' => ['description' => 'The category of the data cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance attribute of a basic cloud disk created along with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.'."\n" + .'- cloud_regional_disk_auto: regional ESSD.', 'type' => 'string', 'example' => 'cloud', 'title' => ''], + 'KMSKeyId' => ['description' => 'The ID of the KMS key associated with the data cloud disk.', 'type' => 'string', 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'title' => ''], + 'DeleteWithInstance' => ['description' => 'Indicates whether the data cloud disk is released when the instance is released. Valid values:'."\n" + ."\n" + .'- true: The data cloud disk is released when the instance is released.'."\n" + .'- false: The data cloud disk is retained when the instance is released.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Encrypted' => ['description' => 'Indicates whether the data cloud disk is encrypted. Valid values:'."\n" + ."\n" + .'- true: encrypted.'."\n" + .'- false: not encrypted.'."\n" + ."\n" + .'Default value: false.', 'type' => 'string', 'example' => 'false', 'title' => ''], + 'Categories' => [ + 'description' => 'The multiple disk types of the data cloud disk. The first disk type has the highest priority, and the priority of other disk types decreases in sequence. When a higher-priority disk type cannot be used, Auto Scaling automatically attempts the next-priority disk type to create the data cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance attribute of a basic cloud disk created along with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.'."\n" + .'- cloud_regional_disk_auto: regional ESSD.', + 'type' => 'array', + 'items' => ['description' => 'The multiple disk types of the data cloud disk. The first disk type has the highest priority, and the priority of other disk types decreases in sequence. When a higher-priority disk type cannot be used, Auto Scaling automatically attempts the next-priority disk type to create the data cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance attribute of a basic cloud disk created along with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_auto: ESSD AutoPL cloud disk.'."\n" + .'- cloud_regional_disk_auto: regional ESSD.', 'type' => 'string', 'example' => 'cloud_essd', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ProvisionedIops' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metrics of the data cloud disk.'."\n" + ."\n" + .'> IOPS (Input/Output Operations Per Second) measures the number of I/O operations that block storage can process per second, representing the read/write (output/input) capability. Unit: operations per second.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], + 'BurstingEnabled' => ['description' => 'Indicates whether the data cloud disk has Burst (performance burst) enabled. Valid values:'."\n" + .'- true: enabled.'."\n" + .'- false: not enabled.'."\n" + ."\n" + .'> This parameter is displayed only when `DataDisk.Category` is set to `cloud_auto`.'."\n" + ."\n" + .'For more information, see [ESSD AutoPL cloud disk](~~368372~~).', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Tags' => [ + 'description' => 'The collection of tag information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of tag information.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the instance. Valid values of N: 1 to 20.'."\n" + ."\n" + .'If you specify this parameter, it cannot be an empty string. The tag key can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'example' => 'binary', 'title' => ''], + 'Value' => ['description' => 'The tag value of the instance. Valid values of N: 1 to 20.'."\n" + ."\n" + .'If you specify this parameter, it can be an empty string. The tag value can be up to 128 characters in length and cannot start with `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'example' => 'alterTable', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SpotPriceLimits' => [ + 'description' => 'The collection of spot instance information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of spot instance information.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The instance type of the spot instance.', 'type' => 'string', 'example' => 'ecs.g6.large '."\n", 'title' => ''], + 'PriceLimit' => ['description' => 'The price limit for the spot instance.', 'type' => 'number', 'format' => 'float', 'example' => '0.125 '."\n", 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'InstancePatternInfos' => [ + 'description' => 'The collection of intelligent configuration information used to filter instance types that meet the requirements.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of intelligent configuration information used to filter instance types that meet the requirements.', + 'type' => 'object', + 'properties' => [ + 'MaxPrice' => ['description' => 'The maximum hourly price acceptable for pay-as-you-go or spot instances.', 'type' => 'number', 'format' => 'float', 'example' => '2', 'title' => ''], + 'Cores' => ['description' => 'The number of vCPU cores of the instance type.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'Memory' => ['description' => 'The memory size of the instance type. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'example' => '4', 'title' => ''], + 'InstanceFamilyLevel' => ['description' => 'The level of the instance family.'."\n" + ."\n" + .'- EntryLevel: entry level, which refers to shared instance types. Lower cost but no guarantee of stable computing performance. Suitable for scenarios with low average CPU utilization. For more information, see [Shared instance types](~~108489~~).'."\n" + .'- EnterpriseLevel: enterprise level. Stable performance with dedicated resources. Suitable for scenarios that require high stability. For more information, see [Instance families](~~25378~~).'."\n" + .'- CreditEntryLevel: credit-based entry level, which refers to burstable instances. Uses CPU credits to ensure computing performance. Suitable for scenarios with low average CPU utilization and occasional bursts. For more information, see [Burstable instances](~~59977~~).', 'type' => 'string', 'example' => 'EnterpriseLevel', 'title' => ''], + 'Architectures' => [ + 'description' => 'The architecture types of the instance type. Valid values:'."\n" + ."\n" + .'- X86: X86 computing.'."\n" + .'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n" + .'- BareMental: ECS Bare Metal Instance server.'."\n" + .'- Arm: Arm computing.', + 'type' => 'array', + 'items' => ['description' => 'The architecture types of the instance type. Valid values:'."\n" + ."\n" + .'- X86: X86 computing.'."\n" + .'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n" + .'- BareMental: ECS Bare Metal Instance server.'."\n" + .'- Arm: Arm computing.', 'type' => 'string', 'example' => 'X86', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'BurstablePerformance' => ['description' => 'Specifies whether the instance type is a burstable instance type. Valid values:'."\n" + ."\n" + .'- Exclude: excludes burstable instance types.'."\n" + .'- Include: includes burstable instance types.'."\n" + .'- Required: includes only burstable instance types.', 'type' => 'string', 'example' => 'Include', 'title' => ''], + 'ExcludedInstanceTypes' => [ + 'description' => 'The instance types to exclude. You can use wildcard characters (*) to exclude a single instance type or an entire instance family. For example:'."\n" + ."\n" + .'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n" + .'- ecs.c6.*: excludes all instance types in the c6 instance family.', + 'type' => 'array', + 'items' => ['description' => 'The instance types to exclude. You can use wildcard characters (*) to exclude a single instance type or an entire instance family. For example:'."\n" + ."\n" + .'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n" + .'- ecs.c6.*: excludes all instance types in the c6 instance family.', 'type' => 'string', 'example' => 'ecs.n1.small/ecs.n1.*/*7*', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'InstanceTypeFamilies' => [ + 'description' => 'The instance families to query. N indicates that multiple instance families can be specified. Valid values of N: 1 to 10.', + 'type' => 'array', + 'items' => ['description' => 'The instance families to query. N indicates that multiple instance families can be specified. Valid values of N: 1 to 10.', 'type' => 'string', 'example' => 'ecs.g6', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'MinimumCpuCoreCount' => ['description' => 'The minimum number of vCPU cores of the instance type.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'MaximumCpuCoreCount' => ['description' => 'The maximum number of vCPU cores of the instance type.'."\n" + ."\n" + .'> MaximumCpuCoreCount cannot exceed 4 times the value of MinimumCpuCoreCount.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'GpuSpecs' => [ + 'description' => 'The GPU types.', + 'type' => 'array', + 'items' => ['description' => 'The GPU types.', 'type' => 'string', 'example' => 'NVIDIA V100', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'InstanceCategories' => [ + 'description' => 'The instance categorization. Valid values:'."\n" + ."\n" + .'> N indicates that multiple instance categories can be set. Valid values of N: 1 to 10.'."\n" + ."\n" + .'- General-purpose: general-purpose.'."\n" + .'- Compute-optimized: compute-optimized.'."\n" + .'- Memory-optimized: memory-optimized.'."\n" + .'- Big data: big data.'."\n" + .'- Local SSDs: local SSD.'."\n" + .'- High Clock Speed: high frequency.'."\n" + .'- Enhanced: enhanced.'."\n" + .'- Shared: shared.'."\n" + .'- Compute-optimized with GPU: GPU computing.'."\n" + .'- Visual Compute-optimized: visual compute-optimized.'."\n" + .'- Heterogeneous Service: heterogeneous service.'."\n" + .'- Compute-optimized with FPGA: FPGA-accelerated compute-optimized.'."\n" + .'- Compute-optimized with NPU: NPU-accelerated compute-optimized.'."\n" + .'- ECS Bare Metal: ECS Bare Metal Instance server.'."\n" + .'- High Performance Compute: high-performance computing (HPC).', + 'type' => 'array', + 'items' => ['description' => 'The instance categorization. Valid values:'."\n" + ."\n" + .'> N indicates that multiple instance categories can be set. Valid values of N: 1 to 10.'."\n" + ."\n" + .'- General-purpose: general-purpose.'."\n" + .'- Compute-optimized: compute-optimized.'."\n" + .'- Memory-optimized: memory-optimized.'."\n" + .'- Big data: big data.'."\n" + .'- Local SSDs: local SSD.'."\n" + .'- High Clock Speed: high frequency.'."\n" + .'- Enhanced: enhanced.'."\n" + .'- Shared: shared.'."\n" + .'- Compute-optimized with GPU: GPU computing.'."\n" + .'- Visual Compute-optimized: visual compute-optimized.'."\n" + .'- Heterogeneous Service: heterogeneous service.'."\n" + .'- Compute-optimized with FPGA: FPGA-accelerated compute-optimized.'."\n" + .'- Compute-optimized with NPU: NPU-accelerated compute-optimized.'."\n" + .'- ECS Bare Metal: ECS Bare Metal Instance server.'."\n" + .'- High Performance Compute: high-performance computing (HPC).', 'type' => 'string', 'example' => 'Compute-optimized with GPU', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'CpuArchitectures' => [ + 'description' => 'The CPU architectures of the instance type. Valid values:'."\n" + ."\n" + .'> N indicates that multiple CPU architectures can be specified. Valid values of N: 1 to 2.'."\n" + ."\n" + .'- X86.'."\n" + .'- ARM.', + 'type' => 'array', + 'items' => ['description' => 'The CPU architecture of the instance. Valid values:'."\n" + ."\n" + .'> N indicates that multiple CPU architectures can be specified. Valid values of N: 1 to 2.'."\n" + ."\n" + .'- X86.'."\n" + .'- ARM.', 'type' => 'string', 'example' => 'X86', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'PhysicalProcessorModels' => [ + 'description' => 'The processor models of the instance. N indicates that multiple processor models can be specified. Valid values of N: 1 to 10.', + 'type' => 'array', + 'items' => ['description' => 'The processor models of the instance. N indicates that multiple processor models can be specified. Valid values of N: 1 to 10.', 'type' => 'string', 'example' => 'Intel Xeon(Ice Lake) Platinum 8369B', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'MinimumEniQuantity' => ['description' => 'The minimum upper limit of elastic network interfaces (ENIs) that the instance supports to mount per network interface controller (NIC).', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'MinimumEniPrivateIpAddressQuantity' => ['description' => 'The minimum upper limit of IPv4 addresses per elastic network interfaces (ENI) on a single network interface controller (NIC) that the instance supports.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'MinimumEniIpv6AddressQuantity' => ['description' => 'The minimum upper limit of IPv6 addresses per elastic network interfaces (ENI) on a single network interface controller (NIC) that the instance supports.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MinimumInitialCredit' => ['description' => 'The minimum initial vCPU credits for burstable instances (t5 and t6).', 'type' => 'integer', 'format' => 'int32', 'example' => '12', 'title' => ''], + 'MinimumBaselineCredit' => ['description' => 'The minimum baseline vCPU computing performance (sum of all vCPUs) for burstable instances (t5 and t6).', 'type' => 'integer', 'format' => 'int32', 'example' => '12', 'title' => ''], + 'MinimumMemorySize' => ['description' => 'The minimum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'example' => '4', 'title' => ''], + 'MaximumMemorySize' => ['description' => 'The maximum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'example' => '4', 'title' => ''], + 'MinimumGpuAmount' => ['description' => 'The minimum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'MaximumGpuAmount' => ['description' => 'The maximum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SystemDiskCategories' => [ + 'description' => 'The multiple disk types of the system cloud disk. The first disk type has the highest priority, and the priority of other disk types decreases in sequence. When a higher-priority disk type cannot be used, Auto Scaling automatically attempts the next-priority disk type to create the system cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.', + 'type' => 'array', + 'items' => ['description' => 'The multiple disk types of the system cloud disk. The first disk type has the highest priority, and the priority of other disk types decreases in sequence. When a higher-priority disk type cannot be used, Auto Scaling automatically attempts the next-priority disk type to create the system cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.', 'type' => 'string', 'example' => 'cloud', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'WeightedCapacities' => [ + 'description' => 'The weights corresponding to the specified instance types, representing the capacity that a single instance of the instance type represents in the scaling group. A larger weight means fewer instances of this type are needed to meet the expected capacity.', + 'type' => 'array', + 'items' => ['description' => 'The weights corresponding to the specified instance types, representing the capacity that a single instance of the instance type represents in the scaling group. A larger weight means fewer instances of this type are needed to meet the expected capacity.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'InstanceTypes' => [ + 'description' => 'The collection of instance types of the ECS instance.', + 'type' => 'array', + 'items' => ['description' => 'The collection of instance types of the ECS instance.', 'type' => 'string', 'example' => 'ecs.g6.large', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'SecurityGroupIds' => [ + 'description' => 'The IDs of the multiple security groups to which the ECS instance belongs. ECS instances in the same security group can access each other.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of the multiple security groups to which the ECS instance belongs. ECS instances in the same security group can access each other.', 'type' => 'string', 'example' => 'sg-bp18kz60mefs****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'SchedulerOptions' => [ + 'description' => '> This parameter is in invitational preview and is not publicly available.', + 'type' => 'object', + 'properties' => [ + 'ManagedPrivateSpaceId' => ['description' => '> This parameter is in invitational preview and is not publicly available.', 'type' => 'string', 'example' => 'testManagedPrivateSpaceId', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'SystemDiskEncrypted' => ['description' => 'Indicates whether the system cloud disk is encrypted. Valid values:'."\n" + ."\n" + .'- true: encrypted.'."\n" + ."\n" + .'- false: not encrypted.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'SystemDiskKMSKeyId' => ['description' => 'The ID of the KMS key used by the system cloud disk.', 'type' => 'string', 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40**** '."\n", 'title' => ''], + 'SystemDiskEncryptAlgorithm' => ['description' => 'The encryption algorithm used by the system cloud disk. Valid values:'."\n" + ."\n" + .'- AES-256.'."\n" + ."\n" + .'- SM4-128.', 'type' => 'string', 'example' => 'AES-256 '."\n", 'title' => ''], + 'SystemDiskProvisionedIops' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metrics of the system cloud disk.'."\n" + ."\n" + .'> IOPS (Input/Output Operations Per Second) measures the number of I/O operations that can be processed per second, indicating the read/write capability of block storage.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], + 'SystemDiskBurstingEnabled' => ['description' => 'Indicates whether the system cloud disk has Burst (performance burst) enabled. Valid values:'."\n" + ."\n" + .'- true: enabled.'."\n" + .'- false: not enabled.'."\n" + .' '."\n" + .'> This parameter is supported only when SystemDisk.Category is set to cloud_auto.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'ImageOptionsLoginAsNonRoot' => ['description' => 'Indicates whether the ECS instance uses the ecs-user user to log on. Valid values:'."\n" + ."\n" + .'- true: yes.'."\n" + .'- false: no.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'DeletionProtection' => ['description' => 'The release protection property of the instance, which specifies whether the instance can be directly released from the ECS console or by calling the DeleteInstance operation. Valid values:'."\n" + ."\n" + .'- true: Release protection is enabled. The instance cannot be directly released from the ECS console or by calling the DeleteInstance operation.'."\n" + ."\n" + .'- false: Release protection is disabled. The instance can be directly released from the ECS console or by calling the DeleteInstance operation.'."\n" + ."\n" + .'> This property applies only to pay-as-you-go instances and prevents instances scaled out by Auto Scaling from being accidentally deleted. It does not affect normal scale-in activities. Instances with release protection enabled can still be released by scale-in activities.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'StorageSetId' => ['description' => 'The ID of the storage set.', 'type' => 'string', 'example' => 'ss-bp67acfmxazb4p****', 'title' => ''], + 'StorageSetPartitionNumber' => ['description' => 'The maximum number of partitions in the storage set. Valid values: integers greater than or equal to 2.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'NetworkInterfaces' => [ + 'description' => 'The list of elastic network interfaces (ENIs).', + 'type' => 'array', + 'items' => [ + 'description' => 'The elastic network interface (ENI).', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The type of the elastic network interfaces (ENIs). Valid values:'."\n" + ."\n" + .'- Primary: primary network interface controller (NIC).'."\n" + ."\n" + .'- Secondary: secondary elastic network interfaces (ENIs).', 'type' => 'string', 'example' => 'Primary', 'title' => ''], + 'NetworkInterfaceTrafficMode' => ['description' => 'The communication mode of the elastic network interfaces (ENIs). Valid values:'."\n" + ."\n" + .'- Standard: uses the TCP communication mode.'."\n" + .'- HighPerformance: enables the Elastic RDMA Interface (ERI) and uses the RDMA communication mode.', 'type' => 'string', 'example' => 'HighPerformance', 'title' => ''], + 'Ipv6AddressCount' => ['description' => 'The number of randomly generated IPv6 addresses allocated to the primary ENI.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'SecurityGroupIds' => [ + 'description' => 'The IDs of one or more security groups to which the elastic network interfaces (ENIs) belong.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of one or more security groups to which the elastic network interfaces (ENIs) belong.', 'type' => 'string', 'example' => 'sg-2vc3e1v7xxxxx', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'SecondaryPrivateIpAddressCount' => ['description' => 'The number of secondary private IPv4 addresses assigned to the ENI. Valid values: 1 to 49.'."\n" + ."\n" + .'- The value cannot exceed the maximum number of IP addresses allowed for the instance type. For more information, see [Instance families](https://www.alibabacloud.com/help/en/ecs/user-guide/overview-of-instance-families).'."\n" + ."\n" + .'- NetworkInterface.N.SecondaryPrivateIpAddressCount specifies the number of secondary private IPv4 addresses to assign to the ENI (excluding the primary private IP address of the ENI). The system randomly assigns addresses from the available CIDR block of the vSwitch (NetworkInterface.N.VSwitchId) associated with the ENI.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'DedicatedHostClusterId' => ['description' => 'The ID of the dedicated host cluster.', 'type' => 'string', 'example' => 'dc-zm04u8r3lohsq****', 'title' => ''], + 'PasswordSetted' => ['description' => 'Indicates whether a password is set for the instance. Valid values:'."\n" + ."\n" + .'- true: A password is set for the instance.'."\n" + .'- false: No password is set for the instance.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'SecurityOptions' => [ + 'description' => 'The security options.', + 'type' => 'object', + 'properties' => [ + 'ConfidentialComputingMode' => ['description' => 'The confidential computing mode. Valid values:'."\n" + .'- Enclave: The ECS instance uses Enclave to build a confidential computing environment. For more information, see [Build a confidential computing environment by using Enclave](~~203433~~).'."\n" + .'- TDX: A TDX confidential computing environment is built. For more information, see [Build a TDX confidential computing environment](~~479090~~).', 'type' => 'string', 'example' => 'TDX', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'HttpEndpoint' => ['description' => 'Indicates whether the access channel for instance metadata is enabled. Valid values:'."\n" + .'- enabled: Enabled.'."\n" + .'- disabled: Disabled.', 'type' => 'string', 'example' => 'enabled', 'title' => ''], + 'HttpTokens' => ['description' => 'Indicates whether the China-enhanced mode (IMDSv2) is forcefully used when accessing instance metadata. Valid values:'."\n" + ."\n" + .'- optional: Not forcefully used.'."\n" + .'- required: Forcefully used. After this value is set, instance metadata cannot be accessed in normal mode.', 'type' => 'string', 'example' => 'optional', 'title' => ''], + 'ResourcePoolOptions' => [ + 'description' => 'The resource pool policy used when creating instances.'."\n" + ."\n" + .'- This parameter takes effect only when pay-as-you-go instances are created.', + 'type' => 'object', + 'properties' => [ + 'Strategy' => ['description' => 'Resource pools include private pools generated after elasticity assurance or capacity reservation takes effect, and public pools, which are available for instance startup. Valid values:'."\n" + ."\n" + .'- PrivatePoolFirst: Private pool first. When this strategy is selected and ResourcePoolOptions.PrivatePoolIds is specified or PrivatePoolTags conditions are met, the corresponding private pool is used first. If no private pool is specified or the specified private pool has insufficient capacity, open-type private pools are automatically matched. If no matching private pool is available, the public pool is used to create instances.'."\n" + ."\n" + .'- PrivatePoolOnly: Private pool only. When this strategy is selected, ResourcePoolOptions.PrivatePoolIds must be specified. If the specified private pool has insufficient capacity, the instance fails to start.'."\n" + ."\n" + .'- PublicPoolFirst: Public pool first. The public pool is used first to create instances. When public pool resources are insufficient, private pool resources are used as a supplement. Open-type private pools are automatically matched first. If no matching private pool is available, the Target-type private pools specified by ResourcePoolOptions.PrivatePoolIds or matching PrivatePoolTags conditions are used.'."\n" + .'- None: No resource pool policy is used.', 'type' => 'string', 'example' => 'PrivatePoolFirst', 'title' => ''], + 'PrivatePoolIds' => [ + 'description' => 'The private pool IDs, which are the elasticity assurance IDs or capacity reservation IDs.', + 'type' => 'array', + 'items' => ['description' => 'The private pool IDs, which are the elasticity assurance IDs or capacity reservation IDs.', 'type' => 'string', 'example' => 'eap-bp67acfmxazb4****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'PrivatePoolTags' => [ + 'description' => 'The tags used to filter available Target-type private pools.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags used to filter available Target-type private pools.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the private pool.', 'type' => 'string', 'example' => 'TestKey', 'title' => ''], + 'Value' => ['description' => 'The tag value of the private pool.', 'type' => 'string', 'example' => 'TestValue', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'InstanceTypeCandidateOptions' => [ + 'description' => 'When the candidate mode is enabled and issues such as insufficient inventory occur, similar instance types of the same size are supplemented based on the currently selected instance types, or vSwitches in candidate zones are created and added to the scaling group.', + 'type' => 'object', + 'properties' => [ + 'Enabled' => ['description' => 'Indicates whether the candidate mode is enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'MaxPrice' => ['description' => 'The maximum price for candidate instance types.', 'type' => 'number', 'format' => 'float', 'example' => '2', 'title' => ''], + 'AllowDifferentGeneration' => ['description' => 'Indicates whether instance types of other generations can be supplemented.'."\n" + ."\n" + .'- For example, if the current instance type is ecs.c7.large, enabling this option allows candidate instance types such as ecs.c6.large and ecs.c8.large.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'AllowCrossAz' => ['description' => 'Indicates whether vSwitches in other zones can be supplemented.'."\n" + .'> The instance type remains unchanged. Only new zones are used as candidates. When all selected zones in the scaling group cannot be used for scale-out due to issues such as insufficient inventory, new zone vSwitches are automatically added to the scaling group based on this configuration.'."\n" + .'> For example, if the scaling group is configured with the cn-hangzhou-h and cn-hangzhou-g zones, and neither zone can be used for scale-out, Auto Scaling may create a vSwitch in cn-hangzhou-k based on real-time inventory and add it to the scaling group.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'AllowCidrBlocks' => [ + 'description' => 'The CIDR blocks of the vSwitches that can be supplemented when vSwitches in other zones are allowed.', + 'type' => 'array', + 'items' => ['description' => 'The CIDR blocks of the vSwitches that can be supplemented when vSwitches in other zones are allowed.', 'type' => 'string', 'example' => '172.16.0.0/24'."\n", 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'CpuOptions' => [ + 'description' => 'The CPU options.', + 'type' => 'object', + 'properties' => [ + 'NestedVirtualization' => ['description' => 'Indicates whether hardware-based nested virtualization is enabled. Valid values:'."\n" + ."\n" + .'* enabled'."\n" + .'* disabled', 'type' => 'string', 'example' => 'enabled', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"ScalingConfigurations\\": [\\n {\\n \\"DeploymentSetId\\": \\"ds-bp1frxuzdg87zh4p****\\",\\n \\"CreationTime\\": \\"2014-08-14T10:58Z\\",\\n \\"ScalingConfigurationName\\": \\"scalingconfigura****\\",\\n \\"SystemDiskDescription\\": \\"Test system disk.\\",\\n \\"KeyPairName\\": \\"keypair****\\",\\n \\"SecurityGroupId\\": \\"sg-bp18kz60mefs****\\",\\n \\"PrivatePoolOptions.Id\\": \\"eap-bp67acfmxazb4****\\",\\n \\"SystemDiskAutoSnapshotPolicyId\\": \\"sp-bp12m37ccmxvbmi5****\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"ScalingGroupId\\": \\"asg-bp17pelvl720x3v7****\\",\\n \\"Affinity\\": \\"default\\",\\n \\"Tenancy\\": \\"default\\",\\n \\"SystemDiskSize\\": 100,\\n \\"Ipv6AddressCount\\": 1,\\n \\"SpotDuration\\": 1,\\n \\"LifecycleState\\": \\"Active\\",\\n \\"InstanceName\\": \\"instance****\\",\\n \\"SecurityEnhancementStrategy\\": \\"Active\\",\\n \\"UserData\\": \\"echo hello ecs!\\\\t\\\\n\\",\\n \\"PrivatePoolOptions.MatchCriteria\\": \\"Open\\",\\n \\"DedicatedHostId\\": \\"dh-bp67acfmxazb4p****\\",\\n \\"InstanceGeneration\\": \\"ecs-3\\",\\n \\"HpcClusterId\\": \\"hpc-clus****\\",\\n \\"PasswordInherit\\": true,\\n \\"Memory\\": 16,\\n \\"ImageId\\": \\"centos6u5_64_20G_aliaegis_2014****.vhd\\",\\n \\"ImageFamily\\": \\"hangzhou-daily-update\\",\\n \\"ImageOwnerAlias\\": \\"system\\",\\n \\"LoadBalancerWeight\\": 1,\\n \\"SystemDiskCategory\\": \\"cloud\\",\\n \\"HostName\\": \\"LocalHost\\",\\n \\"SystemDiskName\\": \\"cloud_ssd_Test\\",\\n \\"InternetMaxBandwidthOut\\": 10,\\n \\"InternetMaxBandwidthIn\\": 10,\\n \\"InstanceType\\": \\"ecs.g6.large\\",\\n \\"InstanceDescription\\": \\"FinanceDept\\",\\n \\"IoOptimized\\": \\"none\\",\\n \\"RamRoleName\\": \\"ramrole****\\",\\n \\"SystemDiskPerformanceLevel\\": \\"PL1\\",\\n \\"Cpu\\": 2,\\n \\"ResourceGroupId\\": \\"rg-aekzn2ou7xo****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"InternetChargeType\\": \\"PayByTraffic\\",\\n \\"ImageName\\": \\"centos6u5_64_20G_aliaegis_2014****.vhd\\\\t\\\\n\\",\\n \\"ScalingConfigurationId\\": \\"asc-bp1ezrfgoyn5kijl****\\",\\n \\"CreditSpecification\\": \\"Standard\\",\\n \\"SpotInterruptionBehavior\\": \\"Terminate\\",\\n \\"CustomPriorities\\": [\\n {\\n \\"InstanceType\\": \\"ecs.c6a.4xlarge\\",\\n \\"VswitchId\\": \\"vsw-bp14zolna43z266bq****\\\\n\\"\\n }\\n ],\\n \\"DataDisks\\": [\\n {\\n \\"PerformanceLevel\\": \\"PL1\\",\\n \\"Description\\": \\"FinanceDept\\",\\n \\"SnapshotId\\": \\"s-23f2i****\\",\\n \\"Device\\": \\"/dev/xvdb\\",\\n \\"Size\\": 200,\\n \\"DiskName\\": \\"cloud_ssdData\\",\\n \\"AutoSnapshotPolicyId\\": \\"sp-bp19nq9enxqkomib****\\",\\n \\"Category\\": \\"cloud\\",\\n \\"KMSKeyId\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40****\\",\\n \\"DeleteWithInstance\\": true,\\n \\"Encrypted\\": \\"false\\",\\n \\"Categories\\": [\\n \\"cloud_essd\\"\\n ],\\n \\"ProvisionedIops\\": 100,\\n \\"BurstingEnabled\\": false\\n }\\n ],\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"binary\\",\\n \\"Value\\": \\"alterTable\\"\\n }\\n ],\\n \\"SpotPriceLimits\\": [\\n {\\n \\"InstanceType\\": \\"ecs.g6.large\\\\t\\\\n\\",\\n \\"PriceLimit\\": 0.125\\n }\\n ],\\n \\"InstancePatternInfos\\": [\\n {\\n \\"MaxPrice\\": 2,\\n \\"Cores\\": 2,\\n \\"Memory\\": 4,\\n \\"InstanceFamilyLevel\\": \\"EnterpriseLevel\\",\\n \\"Architectures\\": [\\n \\"X86\\"\\n ],\\n \\"BurstablePerformance\\": \\"Include\\",\\n \\"ExcludedInstanceTypes\\": [\\n \\"ecs.n1.small/ecs.n1.*/*7*\\"\\n ],\\n \\"InstanceTypeFamilies\\": [\\n \\"ecs.g6\\"\\n ],\\n \\"MinimumCpuCoreCount\\": 2,\\n \\"MaximumCpuCoreCount\\": 4,\\n \\"GpuSpecs\\": [\\n \\"NVIDIA V100\\"\\n ],\\n \\"InstanceCategories\\": [\\n \\"Compute-optimized with GPU\\"\\n ],\\n \\"CpuArchitectures\\": [\\n \\"X86\\"\\n ],\\n \\"PhysicalProcessorModels\\": [\\n \\"Intel Xeon(Ice Lake) Platinum 8369B\\"\\n ],\\n \\"MinimumEniQuantity\\": 2,\\n \\"MinimumEniPrivateIpAddressQuantity\\": 2,\\n \\"MinimumEniIpv6AddressQuantity\\": 1,\\n \\"MinimumInitialCredit\\": 12,\\n \\"MinimumBaselineCredit\\": 12,\\n \\"MinimumMemorySize\\": 4,\\n \\"MaximumMemorySize\\": 4,\\n \\"MinimumGpuAmount\\": 2,\\n \\"MaximumGpuAmount\\": 2\\n }\\n ],\\n \\"SystemDiskCategories\\": [\\n \\"cloud\\"\\n ],\\n \\"WeightedCapacities\\": [\\n 4\\n ],\\n \\"InstanceTypes\\": [\\n \\"ecs.g6.large\\"\\n ],\\n \\"SecurityGroupIds\\": [\\n \\"sg-bp18kz60mefs****\\"\\n ],\\n \\"SchedulerOptions\\": {\\n \\"ManagedPrivateSpaceId\\": \\"testManagedPrivateSpaceId\\"\\n },\\n \\"SystemDiskEncrypted\\": false,\\n \\"SystemDiskKMSKeyId\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40****\\\\t\\\\n\\",\\n \\"SystemDiskEncryptAlgorithm\\": \\"AES-256\\\\t\\\\n\\",\\n \\"SystemDiskProvisionedIops\\": 100,\\n \\"SystemDiskBurstingEnabled\\": false,\\n \\"ImageOptionsLoginAsNonRoot\\": false,\\n \\"DeletionProtection\\": false,\\n \\"StorageSetId\\": \\"ss-bp67acfmxazb4p****\\",\\n \\"StorageSetPartitionNumber\\": 2,\\n \\"NetworkInterfaces\\": [\\n {\\n \\"InstanceType\\": \\"Primary\\",\\n \\"NetworkInterfaceTrafficMode\\": \\"HighPerformance\\",\\n \\"Ipv6AddressCount\\": 1,\\n \\"SecurityGroupIds\\": [\\n \\"sg-2vc3e1v7xxxxx\\"\\n ],\\n \\"SecondaryPrivateIpAddressCount\\": 2\\n }\\n ],\\n \\"DedicatedHostClusterId\\": \\"dc-zm04u8r3lohsq****\\",\\n \\"PasswordSetted\\": false,\\n \\"SecurityOptions\\": {\\n \\"ConfidentialComputingMode\\": \\"TDX\\"\\n },\\n \\"HttpEndpoint\\": \\"enabled\\",\\n \\"HttpTokens\\": \\"optional\\",\\n \\"ResourcePoolOptions\\": {\\n \\"Strategy\\": \\"PrivatePoolFirst\\",\\n \\"PrivatePoolIds\\": [\\n \\"eap-bp67acfmxazb4****\\"\\n ],\\n \\"PrivatePoolTags\\": [\\n {\\n \\"Key\\": \\"TestKey\\",\\n \\"Value\\": \\"TestValue\\"\\n }\\n ]\\n },\\n \\"InstanceTypeCandidateOptions\\": {\\n \\"Enabled\\": true,\\n \\"MaxPrice\\": 2,\\n \\"AllowDifferentGeneration\\": true,\\n \\"AllowCrossAz\\": true,\\n \\"AllowCidrBlocks\\": [\\n \\"172.16.0.0/24\\\\n\\"\\n ]\\n },\\n \\"CpuOptions\\": {\\n \\"NestedVirtualization\\": \\"enabled\\"\\n }\\n }\\n ]\\n}","type":"json"}]', + 'gatewayOptions' => [ + 'gatewayProtocols' => [], + ], + 'title' => 'Query eCS-type scaling configurations', + 'changeSet' => [], + 'ramActions' => [ [ - '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', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingConfigurations', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + ], + 'DescribeScalingGroupDetail' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - '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', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '212843', + 'abilityTreeNodes' => ['FEATUREess7569XW'], + ], + 'parameters' => [ [ - 'name' => 'InstanceTypes', + 'name' => 'RegionId', '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, - ], + 'schema' => ['description' => 'The region ID of the scaling group. For more information, see [Regions and zones](~~40654~~).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'DataCacheBucket', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The bucket in which data caches are stored.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], + 'allowEmptyValue' => false, + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'DataCachePL', + 'name' => 'OutputFormat', 'in' => 'query', + 'schema' => ['description' => 'The output format. Set the value to yaml.'."\n", 'type' => 'string', 'required' => false, 'example' => 'YAML', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The 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', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'ScalingGroup' => [ + 'description' => 'The scaling group.'."\n", + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'The virtual private cloud (VPC) ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'vpc-wz9fcq97y1vqkd8bijcq6', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the scaling group was created.'."\n", 'type' => 'string', 'example' => '2014-08-14T10:58Z'."\n", 'title' => ''], + 'TotalInstanceCount' => ['description' => 'The total number of Elastic Compute Service (ECS) instances in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingGroupName' => ['description' => 'The name of the scaling group. The name of each scaling group must be unique in a region.'."\n" + ."\n" + .'The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter or digit.'."\n", 'type' => 'string', 'example' => 'dyrSuvBOtO1dEdIlIbp****'."\n", 'title' => ''], + 'SpotInstancePools' => ['description' => 'The number of instance types that are specified. Preemptible instances of multiple lowest-priced instance types are evenly distributed across the zones of the scaling group. Valid values: 0 to 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'StoppedCapacity' => ['description' => 'The number of instances that are stopped in Economical Mode in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'OnDemandPercentageAboveBaseCapacity' => ['description' => 'The percentage of pay-as-you-go instances among the excess instances when the minimum number of pay-as-you-go instances reaches the requirement. Valid values: 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'ModificationTime' => ['description' => 'The time when the scaling group was modified.'."\n", 'type' => 'string', 'example' => '2014-08-14T10:58Z'."\n", 'title' => ''], + 'MinSize' => ['description' => 'The minimum number of ECS instances that must be contained in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'asg-bp14wlu85wrpchm0****'."\n", 'title' => ''], + 'CompensateWithOnDemand' => ['description' => 'Indicates whether pay-as-you-go ECS instances can be automatically created to reach the required number of ECS instances when preemptible ECS instances cannot be created due to high prices or insufficient inventory of resources. This parameter takes effect when you set `MultiAZPolicy` to `COST_OPTIMIZED`. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ScalingPolicy' => ['description' => 'The reclaim mode of the scaling group. Valid values:'."\n" + ."\n" + .'* recycle: economical mode'."\n" + .'* release: release mode'."\n" + .'* forcerelease: forced release mode'."\n" + .'* forcerecycle: forced recycle mode'."\n" + ."\n" + .'For more information, see [RemoveInstances](~~25955~~).'."\n", 'type' => 'string', 'example' => 'recycle', 'title' => ''], + 'RemovingWaitCapacity' => ['description' => 'The number of ECS instances that are in the Pending Remove state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ActiveCapacity' => ['description' => 'The number of ECS instances that are in the In Service state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'OnDemandBaseCapacity' => ['description' => 'The minimum number of pay-as-you-go instances that must be contained in the scaling group. Valid values: 0 to 1000. If the number of pay-as-you-go instances in the scaling group is less than the value of this parameter, Auto Scaling preferentially creates pay-as-you-go instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'ProtectedCapacity' => ['description' => 'The number of ECS instances that are in the Protected state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'HealthCheckType' => ['description' => 'The health check mode of the scaling group. Valid values:'."\n" + ."\n" + .'* NONE: Auto Scaling does not perform health checks.'."\n" + .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" + .'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of Classic Load Balancer (CLB) instances are not supported as the health check basis for instances in the scaling group.'."\n", 'type' => 'string', 'example' => 'ECS', 'title' => ''], + 'LifecycleState' => ['description' => 'The status of the scaling group. Valid values:'."\n" + ."\n" + .'* Active: The scaling group is in the Enabled state. Enabled scaling groups can receive requests to execute scaling rules and trigger scaling activities.'."\n" + .'* Inactive: The scaling group is in the Disabled state. Disabled scaling groups cannot receive requests to execute scaling rules.'."\n" + .'* Deleting: The scaling group is being deleted. Scaling groups that are being deleted cannot receive requests to execute scaling rules, and the parameter settings of the scaling groups cannot be modified.'."\n", 'type' => 'string', 'example' => 'Active', 'title' => ''], + 'GroupDeletionProtection' => ['description' => 'Indicates whether Deletion Protection is enabled for the scaling group. Valid values:'."\n" + ."\n" + .'* true: Deletion Protection is enabled for the scaling group. This way, the scaling group cannot be deleted.'."\n" + .'* false: Deletion Protection is disabled for the scaling group.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ActiveScalingConfigurationId' => ['description' => 'The ID of the active scaling configuration in the scaling group.'."\n", 'type' => 'string', 'example' => 'asc-bp1et2qekq3ojr33****'."\n", 'title' => ''], + 'GroupType' => ['description' => 'The type of the instances that are managed by the scaling group. Valid values:'."\n" + ."\n" + .'* ECS: ECS instances'."\n" + .'* ECI: elastic container instances'."\n", 'type' => 'string', 'example' => 'ECS', 'title' => ''], + 'MultiAZPolicy' => ['description' => 'The scaling policy of the ECS instances in the multi-zone scaling group. Valid values:'."\n" + ."\n" + .'* PRIORITY: ECS instances are created based on the value of VSwitchIds. If Auto Scaling cannot create ECS instances in the zone where the vSwitch of the highest priority resides, Auto Scaling creates ECS instances in the zone where the vSwitch of the next highest priority resides.'."\n" + ."\n" + .'* COST_OPTIMIZED: ECS instances are created based on the unit prices of their vCPUs. Auto Scaling preferentially creates ECS instances that use the lowest-priced vCPUs. If preemptible instance types are specified in the scaling configuration, Auto Scaling preferentially creates preemptible instances. You can also specify CompensateWithOnDemand to allow Auto Scaling to create pay-as-you-go instances in the case that preemptible instances cannot be created due to insufficient inventory of preemptible instance types.'."\n" + ."\n" + .' **'."\n" + ."\n" + .' **Note** The COST_OPTIMIZED setting takes effect only if you specified multiple instance types or preemptible instance types in your scaling configuration.'."\n" + ."\n" + .'* BALANCE: ECS instances are evenly distributed across the zones of the scaling group. If ECS instance are unevenly distributed across the specified zones due to insufficient inventory of instance types, you can call the RebalanceInstance operation to rebalance the distribution of the ECS instances.'."\n", 'type' => 'string', 'example' => 'PRIORITY', 'title' => ''], + 'RemovingCapacity' => ['description' => 'The number of ECS instances that are being removed from the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'PendingWaitCapacity' => ['description' => 'The number of ECS instances that are in the Pending Add state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'StandbyCapacity' => ['description' => 'The number of ECS instances that are in the Standby state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'CurrentHostName' => ['description' => '> This parameter is not available for use.'."\n", 'type' => 'string', 'example' => 'hostname', 'title' => ''], + 'PendingCapacity' => ['description' => 'The number of ECS instances that are being added to the scaling group and configured.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'LaunchTemplateId' => ['description' => 'The ID of the launch template that is used by the scaling group.'."\n", 'type' => 'string', 'example' => 'lt-m5e3ofjr1zn1aw7****'."\n", 'title' => ''], + 'TotalCapacity' => ['description' => 'The total weighted capacity of all ECS instances in the scaling group if Weighted is specified. In other cases, the value of this parameter indicates the total number of ECS instances in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'DesiredCapacity' => ['description' => 'The expected number of ECS instances in the scaling group. Auto Scaling automatically maintains the expected number of ECS instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'SpotInstanceRemedy' => ['description' => 'Indicates whether preemptible instances can be supplemented. If this parameter is set to true, Auto Scaling creates an instance to replace a preemptible instance when Auto Scaling receives the system message which indicates that the preemptible instance is to be reclaimed.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'LaunchTemplateVersion' => ['description' => 'The version number of the launch template.'."\n", 'type' => 'string', 'example' => 'Default', 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'cn-shenzhen', 'title' => ''], + 'VSwitchId' => ['description' => 'The vSwitch ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'vsw-bp1whw2u46cn8zubm****'."\n", 'title' => ''], + 'MaxSize' => ['description' => 'The maximum number of ECS instances that can be contained in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'DefaultCooldown' => ['description' => 'The cooldown period of the scaling group. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'VServerGroups' => [ + 'description' => 'The backend vServer groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'LoadBalancerId' => ['description' => 'The ID of the Classic Load Balancer (CLB, formerly known as Server Load Balancer or SLB) instance to which the backend vServer group belongs.'."\n", 'type' => 'string', 'example' => '147b46d767c-cn-qingdao-cm5****'."\n", 'title' => ''], + 'VServerGroupAttributes' => [ + 'description' => 'The attributes of the backend vServer group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => ['description' => 'The ID of the backend vServer group.'."\n", 'type' => 'string', 'example' => 'rsp-bp12bjrny****'."\n", 'title' => ''], + 'Weight' => ['description' => 'The weight of the backend vServer group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Port' => ['description' => 'The port number of a backend vServer.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'LaunchTemplateOverrides' => [ + 'description' => 'The information about the instance types that are extended in the launch template.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'WeightedCapacity' => ['description' => 'The weight of the instance type. The value of this parameter indicates the capacity of an instance of the specified instance type in the scaling group. A higher weight indicates that a smaller number of instances of the specified instance type are required to meet the expected capacity requirement.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type. The instance type that is specified by using this parameter overwrites the instance type of the launch template.'."\n", 'type' => 'string', 'example' => 'ecs.c5.xlarge'."\n", 'title' => ''], + 'SpotPriceLimit' => ['description' => 'The maximum bid price of the instance type that is specified by `LaunchTemplateOverride.InstanceType`.'."\n" + ."\n" + .'> This parameter takes effect only if you specify `LaunchTemplateId`.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.025', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'AlbServerGroups' => [ + 'description' => 'The information about the Application Load Balancer (ALB) server groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'AlbServerGroupId' => ['description' => 'The ID of the Application Load Balancer (ALB) server group.'."\n", 'type' => 'string', 'example' => 'sgp-ddwb0y0g6y9bjm****'."\n", 'title' => ''], + 'Weight' => ['description' => 'The weight of an ECS instance as a backend server in the ALB server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by an ECS instance as a backend server in the ALB server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'ServerGroups' => [ + 'description' => 'The information about the server groups.'."\n" + ."\n" + .'> You can use this parameter to obtain the information about the ALB, NLB, and GWLB server groups associated with a scaling group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The server groups.'."\n", + 'type' => 'object', + 'properties' => [ + 'ServerGroupId' => ['description' => 'The ID of the server group.'."\n", 'type' => 'string', 'example' => 'sgp-i9ouakeaerr*****'."\n", 'title' => ''], + 'Type' => ['description' => 'The type of the server group. Valid values:'."\n" + ."\n" + .'* ALB'."\n" + .'* NLB'."\n" + .'* GWLB'."\n", 'type' => 'string', 'example' => 'ALB', 'title' => ''], + 'Weight' => ['description' => 'The weight of an ECS instance as a backend server in the server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by an ECS instance as a backend server in the server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'RemovalPolicies' => [ + 'description' => 'The instance removal policies.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The instance removal policy. Valid values:'."\n" + ."\n" + .'* OldestInstance: Auto Scaling removes ECS instances that are added at the earliest point in time to the scaling group.'."\n" + .'* NewestInstance: Auto Scaling removes ECS instances that are most recently added to the scaling group.'."\n" + .'* OldestScalingConfiguration: Auto Scaling removes ECS instances that are created based on the earliest scaling configuration.'."\n", 'type' => 'string', 'example' => 'OldestScalingConfiguration', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'DBInstanceIds' => [ + 'description' => 'The IDs of the ApsaraDB RDS instances that are associated with the scaling group.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the ApsaraDB RDS instance that is associated with the scaling group.'."\n", 'type' => 'string', 'example' => 'rm-bp15556qzebg1****'."\n", 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'LoadBalancerIds' => [ + 'description' => 'The IDs of the SLB instances that are associated with the scaling group.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the SLB instance that is associated with the scaling group.'."\n", 'type' => 'string', 'example' => 'lb-bp19byhscefk3x0li****'."\n", 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'VSwitchIds' => [ + 'description' => 'The IDs of the vSwitches that are associated with the scaling group. If you specify VSwitchIds, VSwitchId is ignored.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the vSwitch that is associated with the scaling group. If you specify VSwitchIds, VSwitchId is ignored.'."\n", 'type' => 'string', 'example' => 'vsw-bp1whw2u46cn8zubm****'."\n", 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'SuspendedProcesses' => [ + 'description' => 'The processes that are suspended. If no process is suspended, null is returned. Valid values:'."\n" + ."\n" + .'* ScaleIn: scale-in'."\n" + .'* ScaleOut: scale-out'."\n" + .'* HealthCheck: health check'."\n" + .'* AlarmNotification: event-triggered task'."\n" + .'* ScheduledAction: scheduled task'."\n", + 'type' => 'array', + 'items' => ['description' => 'The process that is suspended. If no process is suspended, null is returned. Valid values:'."\n" + ."\n" + .'* ScaleIn: scale-in'."\n" + .'* ScaleOut: scale-out'."\n" + .'* HealthCheck: health check'."\n" + .'* AlarmNotification: event-triggered task'."\n" + .'* ScheduledAction: scheduled task'."\n", 'type' => 'string', 'example' => 'ScaleIn', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'SystemSuspended' => ['description' => 'Indicates whether Auto Scaling stops executing scaling activities in the scaling group. Valid values:'."\n" + ."\n" + .'* true: Auto Scaling stops executing scaling activities in the scaling group if the scaling activities failed for more than seven consecutive days in the scaling group. You must modify the scaling group or scaling configuration to resume the execution of the scaling activities.'."\n" + .'* false: Auto Scaling does not stop executing scaling activities in the scaling group.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'IsElasticStrengthInAlarm' => ['description' => '> This parameter is not available for use.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'MonitorGroupId' => ['description' => 'The ID of the CloudMonitor application group that is associated with the scaling group.'."\n", 'type' => 'string', 'example' => '1497****'."\n", 'title' => ''], + 'AzBalance' => ['description' => 'Indicates whether instances in the scaling group are evenly distributed across zones. This parameter takes effect only if you set `MultiAZPolicy` to `COMPOSABLE`. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'AllocationStrategy' => ['description' => 'The allocation policy of instances. Auto Scaling selects instance types based on the allocation policy to create the required number of instances. You can apply the policy to pay-as-you-go instances and preemptible instances. This parameter takes effect only if you set `MultiAZPolicy` to `COMPOSABLE`. Valid values:'."\n" + ."\n" + .'* priority: Auto Scaling selects instance types based on the specified order to create the required number of instances.'."\n" + .'* lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPUs to create the required number of instances.'."\n", 'type' => 'string', 'example' => 'priority', 'title' => ''], + 'SpotAllocationStrategy' => ['description' => 'The allocation policy of preemptible instances. Auto Scaling selects instance types based on the allocation policy to create the required number of preemptible instances. You can apply the policy to pay-as-you-go instances and preemptible instances. This parameter takes effect only if you set `MultiAZPolicy` to `COMPOSABLE`. Valid values:'."\n" + ."\n" + .'* priority: Auto Scaling selects instance types based on the specified order to create the required number of preemptible instances.'."\n" + .'* lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPUs to create the required number of preemptible instances.'."\n", 'type' => 'string', 'example' => 'lowestPrice', 'title' => ''], + 'MaxInstanceLifetime' => ['description' => 'The maximum life span of an instance in the scaling group. Unit: seconds.'."\n" + ."\n" + .'Valid values: 0 or from 86400 to `Integer.maxValue`. A value of 0 for MaxInstanceLifetime indicates that any previously set limit has been removed, which effectively disables the maximum instance lifetime constraint.'."\n" + ."\n" + .'Default value: null.'."\n" + ."\n" + .'> This parameter is not supported by scaling groups of the Elastic Container Instance type and scaling groups whose ScalingPolicy is set to Recycle.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => 'null', 'title' => ''], + 'CustomPolicyARN' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the function that is specified in the custom scale-in policy. This parameter takes effect only if you set the first value of RemovalPolicies to CustomPolicy.'."\n", 'type' => 'string', 'example' => 'null', 'title' => ''], + 'InitCapacity' => ['description' => 'The number of instances that are in the Initialized state and not added to the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the scaling group belongs.'."\n" + ."\n" + .'> If you specify this parameter, new scaling groups are added to the specified resource group. If you do not specify this parameter, new scaling groups are added to the default resource group.'."\n", 'type' => 'string', 'example' => 'rg-aek2epf32c4uyji', 'title' => ''], + 'LoadBalancerConfigs' => [ + 'description' => 'The CLB configurations.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'LoadBalancerId' => ['description' => 'The ID of the CLB instance.'."\n", 'type' => 'string', 'example' => 'lb-2zein3ytoeq49cmkbyxr0', 'title' => ''], + 'Weight' => ['description' => 'The weight of a backend server.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'EnableDesiredCapacity' => ['description' => 'Indicates whether the Expected Number of Instances feature is enabled. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Tags' => [ + 'description' => 'The tags of the scaling group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'TagKey' => ['description' => 'The tag key of the scaling group.'."\n", 'type' => 'string', 'example' => 'Department', 'title' => ''], + 'TagValue' => ['description' => 'The tag value of the scaling group.'."\n", 'type' => 'string', 'example' => 'Finance', 'title' => ''], + 'Propagate' => ['description' => 'Indicates whether the tags of the scaling group can be propagated to instances. Valid values:'."\n" + ."\n" + .'* true: The tags of the scaling group can be propagated to only instances that are newly created.'."\n" + .'* false: The tags of the scaling group cannot be propagated to any instances.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'HealthCheckTypes' => [ + 'description' => 'The health check mode of the scaling group. Valid values:'."\n" + ."\n" + .'* NONE: Auto Scaling does not perform health checks.'."\n" + .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" + .'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of CLB instances are not supported as the health check basis for instances in the scaling group.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The health check modes of the scaling group. Valid values:'."\n" + ."\n" + .'* NONE: Auto Scaling does not perform health checks.'."\n" + .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" + .'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of CLB instances are not supported as the health check basis for instances in the scaling group.'."\n", 'type' => 'string', 'example' => 'ECS', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'Output' => ['description' => 'The output details of the scaling group of the Elastic Container Instance type. Currently, the output is displayed in a Kubernetes Deployment YAML file.'."\n", 'type' => 'string', 'example' => 'apiVersion: apps/v1'."\n" + .'kind: Deployment'."\n" + .'metadata:'."\n" + .' name: nginx-deployment'."\n" + .' labels:'."\n" + .' app: nginx'."\n" + .' spec:'."\n" + .' replicas: 3'."\n" + .' selector:'."\n" + .' matchLabels:'."\n" + .' app: nginx'."\n" + .' template:'."\n" + .' metadata:'."\n" + .' labels:'."\n" + .' app: nginx'."\n" + .' annotations:'."\n" + .' k8s.aliyun.com/eip-bandwidth: 10'."\n" + .' k8s.aliyun.com/eci-with-eip: true'."\n" + .' spec:'."\n" + .' containers:'."\n" + .' - name: nginx'."\n" + .' image: nginx:1.14.2'."\n" + .' ports:'."\n" + .' - containerPort: 80', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'DataCacheProvisionedIops', - 'in' => 'query', - 'schema' => [ - 'description' => 'The provisioned read/write IOPS of the ESSD AutoPL disk in which data caches are stored. Valid values: 0 to min{50,000, 1,000 × *Capacity - Baseline IOPS}. Baseline IOPS = min{1,800+50 x *Capacity, 50,000}.'."\n" - ."\n" - .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '40000', + ], + 'title' => 'DescribeScalingGroupDetail', + 'summary' => 'Queries a scaling group. You can call the DescribeScalingGroupDetail operation to query the basic information, instances, and scaling configurations of a scaling group. If you set OutputFormat to YAML for a scaling group of the Elastic Container Instance type, the output is a Kubernetes Deployment file in the YAML format.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingGroupDetail', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingGroup\\": {\\n \\"VpcId\\": \\"vpc-wz9fcq97y1vqkd8bijcq6\\",\\n \\"CreationTime\\": \\"2014-08-14T10:58Z\\\\n\\",\\n \\"TotalInstanceCount\\": 1,\\n \\"ScalingGroupName\\": \\"dyrSuvBOtO1dEdIlIbp****\\\\n\\",\\n \\"SpotInstancePools\\": 5,\\n \\"StoppedCapacity\\": 1,\\n \\"OnDemandPercentageAboveBaseCapacity\\": 20,\\n \\"ModificationTime\\": \\"2014-08-14T10:58Z\\\\n\\",\\n \\"MinSize\\": 1,\\n \\"ScalingGroupId\\": \\"asg-bp14wlu85wrpchm0****\\\\n\\",\\n \\"CompensateWithOnDemand\\": true,\\n \\"ScalingPolicy\\": \\"recycle\\",\\n \\"RemovingWaitCapacity\\": 1,\\n \\"ActiveCapacity\\": 1,\\n \\"OnDemandBaseCapacity\\": 30,\\n \\"ProtectedCapacity\\": 1,\\n \\"HealthCheckType\\": \\"ECS\\",\\n \\"LifecycleState\\": \\"Active\\",\\n \\"GroupDeletionProtection\\": true,\\n \\"ActiveScalingConfigurationId\\": \\"asc-bp1et2qekq3ojr33****\\\\n\\",\\n \\"GroupType\\": \\"ECS\\",\\n \\"MultiAZPolicy\\": \\"PRIORITY\\",\\n \\"RemovingCapacity\\": 0,\\n \\"PendingWaitCapacity\\": 0,\\n \\"StandbyCapacity\\": 1,\\n \\"CurrentHostName\\": \\"hostname\\",\\n \\"PendingCapacity\\": 0,\\n \\"LaunchTemplateId\\": \\"lt-m5e3ofjr1zn1aw7****\\\\n\\",\\n \\"TotalCapacity\\": 1,\\n \\"DesiredCapacity\\": 5,\\n \\"SpotInstanceRemedy\\": true,\\n \\"LaunchTemplateVersion\\": \\"Default\\",\\n \\"RegionId\\": \\"cn-shenzhen\\",\\n \\"VSwitchId\\": \\"vsw-bp1whw2u46cn8zubm****\\\\n\\",\\n \\"MaxSize\\": 2,\\n \\"DefaultCooldown\\": 60,\\n \\"VServerGroups\\": [\\n {\\n \\"LoadBalancerId\\": \\"147b46d767c-cn-qingdao-cm5****\\\\n\\",\\n \\"VServerGroupAttributes\\": [\\n {\\n \\"VServerGroupId\\": \\"rsp-bp12bjrny****\\\\n\\",\\n \\"Weight\\": 1,\\n \\"Port\\": 80\\n }\\n ]\\n }\\n ],\\n \\"LaunchTemplateOverrides\\": [\\n {\\n \\"WeightedCapacity\\": 4,\\n \\"InstanceType\\": \\"ecs.c5.xlarge\\\\n\\",\\n \\"SpotPriceLimit\\": 0.025\\n }\\n ],\\n \\"AlbServerGroups\\": [\\n {\\n \\"AlbServerGroupId\\": \\"sgp-ddwb0y0g6y9bjm****\\\\n\\",\\n \\"Weight\\": 100,\\n \\"Port\\": 80\\n }\\n ],\\n \\"ServerGroups\\": [\\n {\\n \\"ServerGroupId\\": \\"sgp-i9ouakeaerr*****\\\\n\\",\\n \\"Type\\": \\"ALB\\",\\n \\"Weight\\": 100,\\n \\"Port\\": 80\\n }\\n ],\\n \\"RemovalPolicies\\": [\\n \\"OldestScalingConfiguration\\"\\n ],\\n \\"DBInstanceIds\\": [\\n \\"rm-bp15556qzebg1****\\\\n\\"\\n ],\\n \\"LoadBalancerIds\\": [\\n \\"lb-bp19byhscefk3x0li****\\\\n\\"\\n ],\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1whw2u46cn8zubm****\\\\n\\"\\n ],\\n \\"SuspendedProcesses\\": [\\n \\"ScaleIn\\"\\n ],\\n \\"SystemSuspended\\": true,\\n \\"IsElasticStrengthInAlarm\\": false,\\n \\"MonitorGroupId\\": \\"1497****\\\\n\\",\\n \\"AzBalance\\": false,\\n \\"AllocationStrategy\\": \\"priority\\",\\n \\"SpotAllocationStrategy\\": \\"lowestPrice\\",\\n \\"MaxInstanceLifetime\\": 0,\\n \\"CustomPolicyARN\\": \\"null\\",\\n \\"InitCapacity\\": 0,\\n \\"ResourceGroupId\\": \\"rg-aek2epf32c4uyji\\",\\n \\"LoadBalancerConfigs\\": [\\n {\\n \\"LoadBalancerId\\": \\"lb-2zein3ytoeq49cmkbyxr0\\",\\n \\"Weight\\": 100\\n }\\n ],\\n \\"EnableDesiredCapacity\\": true,\\n \\"Tags\\": [\\n {\\n \\"TagKey\\": \\"Department\\",\\n \\"TagValue\\": \\"Finance\\",\\n \\"Propagate\\": false\\n }\\n ],\\n \\"HealthCheckTypes\\": [\\n \\"ECS\\"\\n ]\\n },\\n \\"Output\\": \\"apiVersion: apps/v1\\\\nkind: Deployment\\\\nmetadata:\\\\n name: nginx-deployment\\\\n labels:\\\\n app: nginx\\\\n spec:\\\\n replicas: 3\\\\n selector:\\\\n matchLabels:\\\\n app: nginx\\\\n template:\\\\n metadata:\\\\n labels:\\\\n app: nginx\\\\n annotations:\\\\n k8s.aliyun.com/eip-bandwidth: 10\\\\n k8s.aliyun.com/eci-with-eip: true\\\\n spec:\\\\n containers:\\\\n - name: nginx\\\\n image: nginx:1.14.2\\\\n ports:\\\\n - containerPort: 80\\"\\n}","type":"json"}]', + ], + 'DescribeScalingGroupDiagnoseDetails' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => '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', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '221455', + 'abilityTreeNodes' => ['FEATUREessA4Z14P'], + ], + 'parameters' => [ [ - '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' => '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' => 'Override', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'title' => '是否覆盖。取值范围:'."\n" - ."\n" - .'true:覆盖。'."\n" - .'false:不覆盖。', - 'description' => 'Specifies whether to override existing data. Valid Values:'."\n" - ."\n" - .'true false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The 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' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '89945DD3-9072-47D0-A318-353284CF****', + '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'], + ], + ], ], ], ], ], ], - 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'Forbidden.RiskControl', - 'errorMessage' => 'Forbidden.RiskControl', + 'title' => 'Query the Latest Diagnostics Details of a Scaling Group', + 'summary' => 'DescribeScalingGroupDiagnoseDetails', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingGroupDiagnoseDetails', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CF****\\"\\n}","type":"json"}]', - 'title' => 'ModifyEciScalingConfiguration', - 'description' => '* To rename a scaling configuration in a scaling group, ensure the new name is unique within that group.'."\n" - .'* You can call the [DescribeEciScalingConfigurations](~~459374~~) operation to check the modification result.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"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"}]', ], - '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', - ], + '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' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '212847', - 'abilityTreeNodes' => [ - 'FEATUREessWJGIW5', - 'FEATUREessT4M3WE', - ], + 'abilityTreeCode' => '125357', + 'abilityTreeNodes' => ['FEATUREess7569XW'], ], 'parameters' => [ [ - 'name' => 'Content', + 'name' => 'RegionId', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'description' => 'The content of the configuration file.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'apiVersion: apps/v1'."\n" - .'kind: Deployment'."\n" - .'metadata:'."\n" - .' name: nginx-deployment'."\n" - .' labels:'."\n" - .' app: nginx'."\n" - .' spec:'."\n" - .' replicas: 3'."\n" - .' selector:'."\n" - .' matchLabels:'."\n" - .' app: nginx'."\n" - .' template:'."\n" - .' metadata:'."\n" - .' labels:'."\n" - .' app: nginx'."\n" - .' annotations:'."\n" - .' k8s.aliyun.com/eip-bandwidth: 10'."\n" - .' k8s.aliyun.com/eci-with-eip: true'."\n" - .' spec:'."\n" - .' containers:'."\n" - .' - name: nginx'."\n" - .' image: nginx:1.14.2'."\n" - .' ports:'."\n" - .' - containerPort: 80', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number. Page starts from page 1.'."\n" + ."\n" + .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'default' => '10', 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'GroupType', + 'in' => 'query', + 'schema' => ['description' => 'The type of instances that are managed by the scaling group. Valid values:'."\n" + ."\n" + .'* ECS: Elastic Compute Service (ECS) instances.'."\n" + .'* ECI: elastic container instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''], + ], + [ + 'name' => 'ScalingGroupIds', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', + 'description' => 'The IDs of the scaling groups that you want to query.'."\n" + ."\n" + .'The IDs of inactive scaling groups are not included in the query results, and no error is returned.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the scaling group that you want to query.'."\n" + ."\n" + .'The IDs of inactive scaling groups are not displayed in the query results, and no error is returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''], 'required' => false, - 'example' => 'cn-qingdao', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'ScalingGroupNames', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', + 'description' => 'The names of the scaling groups that you want to query.'."\n" + ."\n" + .'The names of inactive scaling groups are not displayed in the query results, and no error is reported.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The name of the scaling group that you want to query.'."\n" + ."\n" + .'The names of inactive scaling groups are not displayed in the query results, and no error is reported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scalinggroup**** '."\n", 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ScalingConfigurationId', + 'name' => 'ScalingGroupName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource group to which the scaling group that you want to query belongs.'."\n" + ."\n" + .'> If no scaling group belongs to the specified resource group, the query result is empty and no error is reported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-123******', 'title' => ''], + ], + [ + 'name' => 'Tags', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the scaling configuration.'."\n" - ."\n" - .'If you want the system to update a scaling configuration of the Elastic Container Instance type based on a YAML configuration file, you must specify `ScalingConfigurationId`. If you do not specify `ScalingConfigurationId`, the system creates a new scaling configuration based on the YAML configuration file.'."\n", - 'type' => 'string', + 'description' => 'The tags of the scaling group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag of the scaling group.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Department', 'title' => ''], + 'Value' => ['description' => 'The tag value of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Finance '."\n", 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'docRequired' => false, - 'example' => 'asc-bp1i65jd06v04vdh****', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", + 'description' => 'Details about the scaling group list.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'ScalingConfigurationId' => [ - 'description' => 'The ID of the scaling configuration.'."\n", - 'type' => 'string', - 'example' => 'asc-bp16har3jpj6fjbx****', + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingGroups' => [ + 'description' => 'The scaling groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The scaling group.'."\n", + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'The ID of the virtual private cloud (VPC) in which the scaling group resides.'."\n", 'type' => 'string', 'example' => 'vpc-bp1vwnn14rqpyiczj****', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the scaling group was created.'."\n", 'type' => 'string', 'example' => '2014-08-14T10:58Z', 'title' => ''], + 'TotalInstanceCount' => ['description' => 'The total number of ECS instances in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingGroupName' => ['description' => 'The name of the scaling group.'."\n", 'type' => 'string', 'example' => 'dyrSuvBOtO1dEdIlIbp****', 'title' => ''], + 'SpotInstancePools' => ['description' => 'The number of instance types in the scaling group. Auto Scaling evenly creates preemptible instances of multiple instance types that are provided at the lowest price across the zones of the scaling group. Valid values: 0 to 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'StoppedCapacity' => ['description' => 'The number of instances that was stopped in Economical Mode in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'OnDemandPercentageAboveBaseCapacity' => ['description' => 'The percentage of pay-as-you-go instances in excess when the minimum number of pay-as-you-go instances reaches the threshold. Valid values: 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'ModificationTime' => ['description' => 'The time when the scaling group was last modified.'."\n", 'type' => 'string', 'example' => '2014-08-14T10:58Z', 'title' => ''], + 'MinSize' => ['description' => 'The minimum number of ECS instances that must be contained in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'asg-bp14wlu85wrpchm0****', 'title' => ''], + 'CompensateWithOnDemand' => ['description' => 'Indicates whether Auto Scaling can create pay-as-you-go instances to supplement preemptible instances if preemptible instances cannot be created due to price-related factors or insufficient inventory when MultiAZPolicy is set to COST_OPTIMIZED. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ScalingPolicy' => ['description' => 'The instance reclaim mode of the scaling group. Valid values:'."\n" + ."\n" + .'* recycle: economical mode.'."\n" + .'* release: release mode.'."\n" + .'* forcerelease: forced release mode.'."\n" + ."\n" + .'For more information, see [RemoveInstances](~~25955~~).'."\n", 'type' => 'string', 'example' => 'recycle', 'title' => ''], + 'RemovingWaitCapacity' => ['description' => 'The number of ECS instances that are in the Pending Remove state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ActiveCapacity' => ['description' => 'The number of ECS instances that are in the In Service state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'OnDemandBaseCapacity' => ['description' => 'The minimum number of pay-as-you-go instances that must be contained in the scaling group. Valid values: 0 to 1000. If the number of pay-as-you-go instances is less than the value of this parameter, Auto Scaling preferentially creates pay-as-you-go instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''], + 'ProtectedCapacity' => ['description' => 'The number of ECS instances that are in the Protected state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'HealthCheckType' => ['description' => 'The health check mode of the scaling group. Valid values:'."\n" + ."\n" + .'* NONE: Auto Scaling does not perform health checks.'."\n" + .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" + .'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of Classic Load Balancer (CLB) instances are not supported as the health check basis for instances in the scaling group.'."\n", 'type' => 'string', 'example' => 'ECS', 'title' => ''], + 'LifecycleState' => ['description' => 'The status of the scaling group. Valid values:'."\n" + ."\n" + .'* Active: The scaling group is active. Active scaling groups can receive requests to execute scaling rules and trigger scaling activities.'."\n" + .'* Inactive: The scaling group is in the Disabled state. Disabled scaling groups cannot receive requests to execute scaling rules.'."\n" + .'* Deleting: The scaling group is being deleted. Scaling groups that are being deleted cannot receive requests to execute scaling rules, and the parameter settings of the scaling groups cannot be modified.'."\n", 'type' => 'string', 'example' => 'Active', 'title' => ''], + 'GroupDeletionProtection' => ['description' => 'Indicates whether the Deletion Protection feature is enabled for the scaling group. Valid values:'."\n" + ."\n" + .'* true: The Deletion Protection feature is enabled for the scaling group. The scaling group cannot be deleted.'."\n" + .'* false: The Deletion Protection feature is disabled for the scaling group.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ActiveScalingConfigurationId' => ['description' => 'The ID of the active scaling configuration in the scaling group.'."\n", 'type' => 'string', 'example' => 'asc-bp1et2qekq3ojr33****', 'title' => ''], + 'GroupType' => ['description' => 'The type of instances that are managed by the scaling group.'."\n", 'type' => 'string', 'example' => 'ECS', 'title' => ''], + 'MultiAZPolicy' => ['description' => 'The scaling policy of the ECS instances in the multi-zone scaling group. Valid values:'."\n" + ."\n" + .'* PRIORITY: ECS instances are created based on the value of VSwitchIds. If Auto Scaling cannot create ECS instances in the zone where the vSwitch of the highest priority resides, Auto Scaling creates ECS instances in the zone where the vSwitch of the next highest priority resides.'."\n" + ."\n" + .'* COST_OPTIMIZED: ECS instances are created based on the unit prices of their vCPUs. Auto Scaling preferentially creates ECS instances whose vCPUs are provided at the lowest price. If preemptible instance types are specified in the scaling configuration, Auto Scaling preferentially creates preemptible instances. You can also specify CompensateWithOnDemand to allow Auto Scaling to create pay-as-you-go instances if preemptible instances cannot be created due to limited stock.'."\n" + ."\n" + .' **'."\n" + ."\n" + .' **Note** The COST_OPTIMIZED setting takes effect only if your scaling configuration contains multiple instance types or contains preemptible instance types.'."\n" + ."\n" + .'* BALANCE: ECS instances are evenly distributed across the zones that are specified for the scaling group. If ECS instances become unevenly distributed across the specified zones due to limited instance type availability, you can call the RebalanceInstance operation to balance the distribution of the ECS instances.'."\n", 'type' => 'string', 'example' => 'PRIORITY', 'title' => ''], + 'RemovingCapacity' => ['description' => 'The number of ECS instances that are being removed from the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'PendingWaitCapacity' => ['description' => 'The number of ECS instances that are in the Pending Add state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'StandbyCapacity' => ['description' => 'The number of ECS instances that are in the Standby state in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'CurrentHostName' => ['description' => '> This parameter is unavailable.'."\n", 'type' => 'string', 'example' => 'hostname', 'title' => ''], + 'PendingCapacity' => ['description' => 'The number of ECS instances that are being added to the scaling group and configured.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'LaunchTemplateId' => ['description' => 'The ID of the launch template that is used by the scaling group.'."\n", 'type' => 'string', 'example' => 'lt-m5e3ofjr1zn1aw7****', 'title' => ''], + 'TotalCapacity' => ['description' => 'The total weighted capacity of all ECS instances in the scaling group if Weighted is specified. In other cases, this parameter specifies the total number of ECS instances in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'DesiredCapacity' => ['description' => 'The expected number of ECS instances in the scaling group. Auto Scaling automatically maintains the expected number of ECS instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'SpotInstanceRemedy' => ['description' => 'Indicates whether preemptible instances can be supplemented. If this parameter is set to true, Auto Scaling proactively creates instances to replace the preemptible instances for reclamation when Auto Scaling receives a system notification.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'LaunchTemplateVersion' => ['description' => 'The version of the launch template that is used by the scaling group.'."\n", 'type' => 'string', 'example' => 'Default', 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'cn-qingdao', 'title' => ''], + 'VSwitchId' => ['description' => 'The vSwitch ID of the scaling group.'."\n", 'type' => 'string', 'example' => 'vsw-bp1whw2u46cn8zubm****', 'title' => ''], + 'MaxSize' => ['description' => 'The maximum number of ECS instances that can be contained in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'DefaultCooldown' => ['description' => 'The cooldown period of the scaling group. During the cooldown period, Auto Scaling does not execute the scaling activities that are triggered by [CloudMonitor](~~35170~~) event-triggered tasks.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'VServerGroups' => [ + 'description' => 'The backend vServer groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The backend vServer group.'."\n", + 'type' => 'object', + 'properties' => [ + 'LoadBalancerId' => ['description' => 'The ID of the load balancer to which the backend vServer group belongs.'."\n", 'type' => 'string', 'example' => '147b46d767c-cn-qingdao-cm5****', 'title' => ''], + 'VServerGroupAttributes' => [ + 'description' => 'The attributes of the backend vServer groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The attributes of the backend vServer group.'."\n", + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => ['description' => 'The ID of the backend vServer group.'."\n", 'type' => 'string', 'example' => 'rsp-bp12bjrny****', 'title' => ''], + 'Weight' => ['description' => 'The weight of the backend vServer group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Port' => ['description' => 'The port number that is used by the load balancer to provide external services.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '22', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'LaunchTemplateOverrides' => [ + 'description' => 'The instance types that are extended in the launch template.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The instance type that is extended in the launch template.'."\n", + 'type' => 'object', + 'properties' => [ + 'WeightedCapacity' => ['description' => 'The weight of the instance type. The value of this parameter indicates the capacity of a single instance of the specified instance type in the scaling group. A higher weight indicates that a smaller number of instances of the specified instance type are required to meet the expected capacity.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type. The instance type that is specified by this parameter overrides the instance type that is specified in the launch template.'."\n", 'type' => 'string', 'example' => 'ecs.c5.xlarge', 'title' => ''], + 'SpotPriceLimit' => ['description' => 'The maximum bid price of the instance type that is specified by `LaunchTemplateOverride.InstanceType`.'."\n" + ."\n" + .'> This parameter takes effect only if you use `LaunchTemplateId` to specify a launch template.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.025', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'AlbServerGroups' => [ + 'description' => 'The Application Load Balancer (ALB) server groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ALB server group.'."\n", + 'type' => 'object', + 'properties' => [ + 'AlbServerGroupId' => ['description' => 'The ID of the ALB server group.'."\n", 'type' => 'string', 'example' => 'sgp-ddwb0y0g6y9bjm****', 'title' => ''], + 'Weight' => ['description' => 'The weight of an ECS instance as a backend server in the ALB server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by an ECS instance as a backend server in the ALB server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'ServerGroups' => [ + 'description' => 'The information about the server groups.'."\n" + ."\n" + .'> You can use this parameter to obtain the information about the ALB, NLB, and GWLB server groups associated with a scaling group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The server group information.'."\n", + 'type' => 'object', + 'properties' => [ + 'ServerGroupId' => ['description' => 'The ID of the server group.'."\n", 'type' => 'string', 'example' => 'sgp-i9ouakeaerr*****', 'title' => ''], + 'Type' => ['description' => 'The type of the server group. Valid values:'."\n" + ."\n" + .'* ALB'."\n" + .'* NLB'."\n" + .'* GWLB'."\n", 'type' => 'string', 'example' => 'ALB', 'title' => ''], + 'Weight' => ['description' => 'The weight of an ECS instance as a backend server in the server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port number used by each ECS instance in the server group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'RemovalPolicies' => [ + 'description' => 'The instance removal policies. Valid values:'."\n" + ."\n" + .'* OldestInstance: Auto Scaling removes ECS instances that are added at the earliest point in time to the scaling group.'."\n" + .'* NewestInstance: Auto Scaling removes ECS instances that are most recently added to the scaling group.'."\n" + .'* OldestScalingConfiguration: Auto Scaling removes ECS instances that are created from the earliest scaling configuration.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The instance removal policy. Valid values:'."\n" + ."\n" + .'* OldestInstance: Auto Scaling removes ECS instances that are added at the earliest point in time to the scaling group.'."\n" + .'* NewestInstance: Auto Scaling removes ECS instances that are most recently added to the scaling group.'."\n" + .'* OldestScalingConfiguration: Auto Scaling removes ECS instances that are created from the earliest scaling configuration.'."\n", 'type' => 'string', 'example' => 'OldestScalingConfiguration', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'DBInstanceIds' => [ + 'description' => 'The IDs of the ApsaraDB RDS instances that are attached to the scaling group.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the ApsaraDB RDS instance that is attached to the scaling group.'."\n", 'type' => 'string', 'example' => 'rm-bp15556qzebg1****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'LoadBalancerIds' => [ + 'description' => 'The IDs of the load balancers that are attached to the scaling group.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the load balancer that is attached to the scaling group.'."\n", 'type' => 'string', 'example' => 'lb-bp19byhscefk3x0li****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'VSwitchIds' => [ + 'description' => 'The IDs of the vSwitches that are associated with the scaling group. If you specify VSwitchIds, VSwitchId is ignored.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the vSwitch that is associated with the scaling group. If you specify VSwitchIds, VSwitchId is ignored.'."\n", 'type' => 'string', 'example' => 'vsw-bp1whw2u46cn8zubm****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'SuspendedProcesses' => [ + 'description' => 'The processes that are suspended. If no process is suspended, null is returned. Valid values:'."\n" + ."\n" + .'* ScaleIn: scale-in processes.'."\n" + .'* ScaleOut: scale-out processes.'."\n" + .'* HealthCheck: health check processes.'."\n" + .'* AlarmNotification: event-triggered task processes.'."\n" + .'* ScheduledAction: scheduled task processes.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The process that is suspended. If no process is suspended, null is returned. Valid values:'."\n" + ."\n" + .'* ScaleIn: scale-in processes.'."\n" + .'* ScaleOut: scale-out processes.'."\n" + .'* HealthCheck: health check processes.'."\n" + .'* AlarmNotification: event-triggered task processes.'."\n" + .'* ScheduledAction: scheduled task processes.'."\n", 'type' => 'string', 'example' => 'ScaleIn', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'SystemSuspended' => ['description' => 'Indicates whether Auto Scaling stops executing scaling activities in the scaling group. Valid values:'."\n" + ."\n" + .'* true: Auto Scaling stops executing scaling activities in the scaling group if the scaling activities failed for more than seven consecutive days in the scaling group. In this case, you must modify the scaling group or scaling configuration to resume the scaling activities.'."\n" + .'* false: Auto Scaling does not stop executing scaling activities in the scaling group.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'IsElasticStrengthInAlarm' => ['description' => '> This parameter is not available for use.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'MonitorGroupId' => ['description' => 'The ID of the CloudMonitor application group that is associated with the scaling group.'."\n", 'type' => 'string', 'example' => '1497****', 'title' => ''], + 'AzBalance' => ['description' => 'Indicates whether instances in the scaling group are evenly distributed across the specified zones. This parameter takes effect only if you set `MultiAZPolicy` to `COMPOSABLE`. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'AllocationStrategy' => ['description' => 'The instance allocation policy. Auto Scaling selects instance types based on the allocation policy to create the required number of preemptible instances. The policy is suitable for pay-as-you-go instances and preemptible instances. This parameter takes effect only if you set `MultiAZPolicy` to `COMPOSABLE`. Valid values:'."\n" + ."\n" + .'* priority: Auto Scaling adopts the predefined instance type sequence to create the required number of preemptible instances.'."\n" + .'* lowestPrice: Auto Scaling selects instance types that have the most economical vCPU pricing to create the required number of instances.'."\n", 'type' => 'string', 'example' => 'priority', 'title' => ''], + 'SpotAllocationStrategy' => ['description' => 'The allocation policy of preemptible instances. This parameter indicates the manner in which Auto Scaling selects instance types to create the required number of preemptible instances. This parameter takes effect only if you set `MultiAZPolicy` to `COMPOSABLE`. Valid values:'."\n" + ."\n" + .'* priority: Auto Scaling adopts the predefined instance type sequence to create the required number of preemptible instances.'."\n" + .'* lowestPrice: Auto Scaling selects instance types that have the most economical vCPU pricing to create the required number of preemptible instances.'."\n" + ."\n" + .'Default value: priority.'."\n", 'type' => 'string', 'example' => 'lowestPrice', 'title' => ''], + 'MaxInstanceLifetime' => ['description' => 'The maximum life span of each ECS instance in the scaling group. Unit: seconds.'."\n" + ."\n" + .'Valid values: 0 or `[86400, Integer.maxValue]`. A value of 0 for MaxInstanceLifetime indicates that a previously set limit has been removed. This effectively disables the maximum instance lifetime constraint.'."\n" + ."\n" + .'Default value: null.'."\n" + ."\n" + .'> This parameter is not supported by scaling groups of the Elastic Container Instance type and scaling groups whose ScalingPolicy is set to Recycle.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => 'null', 'title' => ''], + 'CustomPolicyARN' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the function that is specified in the custom scale-in policy. This parameter takes effect only if you set the first value of RemovalPolicies to CustomPolicy.'."\n", 'type' => 'string', 'example' => 'acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name', 'title' => ''], + 'InitCapacity' => ['description' => 'The number of instances that are initialized before they are added into the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the scaling group belongs.'."\n", 'type' => 'string', 'example' => 'rg-123****', 'title' => ''], + 'LoadBalancerConfigs' => [ + 'description' => 'The load balancer configurations.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The load balancer configuration.'."\n", + 'type' => 'object', + 'properties' => [ + 'LoadBalancerId' => ['description' => 'The ID of the CLB instance.'."\n", 'type' => 'string', 'example' => 'lb-2zep8alpq5zq1a2xwyxxx', 'title' => ''], + 'Weight' => ['description' => 'The weight of an ECS instance as a backend server in the CLB server group. An increase in the weight of an ECS instance indicates an increase in the number of access requests that are forwarded to the ECS instance. If you set the weight of an ECS instance to 0, no access requests are forwarded to the ECS instance. Valid values: 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'EnableDesiredCapacity' => ['description' => 'Indicates whether the Expected Number of Instances feature is enabled. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'Tags' => [ + 'description' => 'The tags of the scaling group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag of the scaling group.'."\n", + 'type' => 'object', + 'properties' => [ + 'TagKey' => ['description' => 'The tag key of the scaling group.'."\n", 'type' => 'string', 'example' => 'Department', 'title' => ''], + 'TagValue' => ['description' => 'The tag value of the scaling group.'."\n", 'type' => 'string', 'example' => 'Finance', 'title' => ''], + 'Propagate' => ['description' => 'Indicates whether the tags of the scaling group can be propagated to instances. Valid values:'."\n" + ."\n" + .'* true: The tags of the scaling group can be propagated only to new instances.'."\n" + .'* false: The tags of the scaling group cannot be propagated to instances.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'HealthCheckTypes' => [ + 'description' => 'The health check mode of the scaling group. Valid values:'."\n" + ."\n" + .'* NONE: Auto Scaling does not perform health checks.'."\n" + .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" + .'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of CLB instances are not supported as the health check basis for instances in the scaling group.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The health check modes of the scaling group. Valid values: 0 to 1024.'."\n" + ."\n" + .'* NONE: Auto Scaling does not perform health checks.'."\n" + .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" + .'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of CLB instances are not supported as the health check basis for instances in the scaling group.'."\n", 'type' => 'string', 'example' => 'ECS', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'DBInstances' => [ + 'description' => 'The databases that are attached to the scaling group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The database that is attached to the scaling group.'."\n", + 'type' => 'object', + 'properties' => [ + 'DBInstanceId' => ['description' => 'The ID of the database.'."\n", 'type' => 'string', 'example' => 'rm-m5eqju85s45mu0***'."\n", 'title' => ''], + 'Type' => ['description' => 'The type of the database. Valid values:'."\n" + ."\n" + .'* RDS.'."\n" + .'* Redis.'."\n" + .'* MongoDB.'."\n", 'type' => 'string', 'example' => 'RDS', 'title' => ''], + 'SecurityGroupIds' => [ + 'description' => 'The IDs of the security groups that are added to the security group whitelist of the attached database.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the security group that is added to the security group whitelist of the attached database.'."\n" + ."\n" + .'If you set `RemoveSecurityGroup` in the DetachDBInstances operation to `true`, the security groups specified by this parameter are removed from the security group whitelist of the attached database.'."\n", 'type' => 'string', 'example' => 'sg-uf65zt66cf2a0q47***', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SpotCapacity' => ['description' => 'The number of preemptible instances in the scaling group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'StopInstanceTimeout' => ['description' => 'The period of time that is required by the Elastic Compute Service (ECS) instance to enter the Stopped state during the scale-in process. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'CapacityOptions' => [ + 'description' => 'The capacity options.'."\n", + 'type' => 'object', + 'properties' => [ + 'OnDemandBaseCapacity' => ['description' => 'The minimum number of pay-as-you-go instances required in the scaling group. When the actual number of pay-as-you-go instances drops below the minimum threshold, Auto Scaling preferentially creates pay-as-you-go instances. Valid values: 0 to 1000.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'OnDemandPercentageAboveBaseCapacity' => ['description' => 'The percentage of pay-as-you-go instances in the excess instances when the minimum number of pay-as-you-go instances is reached. `OnDemandBaseCapacity` specifies the minimum number of pay-as-you-go instances required in the scaling group. Valid values: 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'CompensateWithOnDemand' => ['description' => 'Indicates whether pay-as-you-go ECS instances can be automatically created to reach the required number of ECS instances when preemptible ECS instances cannot be created due to high prices or insufficient inventory of resources. This parameter takes effect when you set `MultiAZPolicy` to `COST_OPTIMIZED`. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'SpotAutoReplaceOnDemand' => ['description' => 'Specifies whether to replace pay-as-you-go ECS instances with preemptible ECS instances. If you specify `CompensateWithOnDemand`, it may result in a higher percentage of pay-as-you-go instances compared to the value of `OnDemandPercentageAboveBaseCapacity`. In this scenario, Auto Scaling will try to deploy preemptible ECS instances to replace the surplus pay-as-you-go ECS instances. When `CompensateWithOnDemand` is specified, Auto Scaling creates pay-as-you-go ECS instances if there are not enough preemptible instance types available. To avoid keeping these pay-as-you-go ECS instances for long periods, Auto Scaling tries to replace them with preemptible instances as soon as enough of preemptible instance types become available. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'PriceComparisonMode' => ['description' => 'Indicates how prices are compared. Valid values:'."\n" + ."\n" + .'* PricePerUnit: Prices are compared based on the price per instance capacity.'."\n" + ."\n" + .' Capacity is determined by the weights assigned to instance types in the scaling group. If no weight is specified, a default weight of 1 is used, meaning each instance is assigned a capacity of 1.'."\n" + ."\n" + .'* PricePerVCpu: Prices are compared based on the price per vCPU.'."\n", 'type' => 'string', 'example' => 'PricePerUnit', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'BalanceMode' => ['description' => 'The zone balancing mode. This mode takes effect only when the zone balancing mode is enabled. Valid value:'."\n" + ."\n" + .'* Default value: BalancedBestEffort. If a resource fails to be created in a zone, the resource is downgraded to another zone. This ensures best-effort delivery of the resource.'."\n" + .'* BalancedOnly: If a resource fails to be created in a zone, the resource is not downgraded to another zone. The scale-out activity is partially successful to avoid excessive imbalance of resources in different zones.'."\n", 'type' => 'string', 'title' => '', 'example' => 'BalancedBestEffort'], + 'AutoRebalance' => ['description' => 'Whether to enable automatic rebalancing for the scaling group. This takes effect only when BalancedOnly is enabled for the scaling group. Valid value:'."\n" + ."\n" + .'* false: Auto rebalancing is disabled for the scaling group.'."\n" + .'* true: If Auto rebalancing is enabled, the scaling group automatically detects the capacity of the zone. If the capacity of the zone is unbalanced, the scaling group actively scales out the zone and re-balances the capacity of the zone.'."\n", 'type' => 'boolean', 'title' => '', 'example' => 'false'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - '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', - ], + 'title' => 'DescribeScalingGroups', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - '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", + '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"}]', ], - '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', - ], + 'DescribeScalingInstances' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeCode' => '221452', - 'abilityTreeNodes' => [ - 'FEATUREessWJGIW5', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125341', + 'abilityTreeNodes' => ['FEATUREessPMOEEX'], ], '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', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ExcludedInstanceType', + 'name' => 'ScalingGroupId', '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, - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], ], [ - 'name' => 'Architecture', + 'name' => 'ScalingConfigurationId', '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, - ], + 'schema' => ['description' => 'The ID of the associated scaling configuration.', 'type' => 'string', 'required' => false, 'example' => 'asc-bp1i65jd06v04vdh****', 'title' => ''], ], [ - 'name' => 'BurstablePerformance', + 'name' => 'HealthStatus', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to include burstable instance types. Valid values:'."\n" - ."\n" - .'* Exclude: does not include burstable instance types.'."\n" - .'* Include: includes burstable instance types.'."\n" - .'* Required: includes only burstable instance types.'."\n" - ."\n" - .'Default value: Include.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Include', - ], + 'schema' => ['description' => 'The health check status of the ECS instance in the scaling group. ECS instances that are not in the Running state are considered unhealthy. Valid values: '."\n" + ."\n" + .'- Healthy: The ECS instance is healthy. '."\n" + .'- Unhealthy: The ECS instance is unhealthy. '."\n" + ."\n" + .'Auto Scaling automatically removes unhealthy ECS instances from the scaling group and releases the ECS instances created by automatic creation.'."\n" + ."\n" + .'Whether a manually added ECS instance is released depends on its managed state. If the instance lifecycle is not managed by the scaling group, the instance is only removed but not released. If the instance lifecycle is managed by the scaling group, the instance is removed and released.'."\n" + ."\n" + .'> Make sure that your account has a sufficient available quota. If your account has an overdue payment, all pay-as-you-go ECS instances (including pay-as-you-go instances and spot instances) are stopped or even released. For information about how the status of ECS instances in a scaling group changes after an overdue payment occurs, see [Overdue payments](~~170589~~).', 'type' => 'string', 'required' => false, 'example' => 'Healthy', 'title' => ''], ], [ - 'name' => 'CoresList', + 'name' => 'LifecycleState', '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, - ], + 'schema' => ['description' => 'The lifecycle state of the ECS instance in the scaling group. Valid values:'."\n" + .' '."\n" + .'- InService: The ECS instance is added to the scaling group and provides services in the Normal state. '."\n" + .'- Pending: The ECS instance is being added to the scaling group. During this procedure, the ECS instance is added to the backend server group of the associated load balancing instance and to the access whitelist of the associated ApsaraDB RDS instance.'."\n" + .'- Pending:Wait: The ECS instance is waiting to be added to the scaling group. If a lifecycle hook that applies to scale-out activities is created for the scaling group, the ECS instance is suspended and waits for the lifecycle hook timeout to end.'."\n" + .'- Protected: The ECS instance is protected. The ECS instance provides services as expected, but Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle.'."\n" + .'- Standby: The ECS instance is in the standby state. The ECS instance does not provide services, the weight of SLB backend server is set to zero, and Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle.'."\n" + .'- Stopped: The ECS instance is stopped and does not provide services.'."\n" + .'- Removing: The ECS instance is being removed from the scaling group. During this procedure, the ECS instance is removed from the backend server group of the associated load balancing instance and from the access whitelist of the associated ApsaraDB RDS instance. '."\n" + .'- Removing:Wait: The ECS instance is waiting to be removed from the scaling group. If a lifecycle hook that applies to scale-down activities is created for the scaling group, the ECS instance is suspended and waits for the lifecycle hook timeout to end.', 'type' => 'string', 'required' => false, 'example' => 'InService', 'title' => ''], ], [ - 'name' => 'MemoryList', + 'name' => 'CreationType', '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, - ], + 'schema' => ['description' => 'The method used to create the instance in the scaling group. Valid values: '."\n" + ."\n" + .'- AutoCreated: The ECS instance is created by automatic creation based on the instance configuration source in Auto Scaling. '."\n" + .'- Attached: The ECS instance is not created by Auto Scaling but manually added to the scaling group.'."\n" + .'- Managed: The managed instance is not created by Auto Scaling but manually added to the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'AutoCreated', 'title' => ''], ], [ - 'name' => 'ChannelId', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The channel ID. This parameter is not for public use.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '79425074', - ], + 'schema' => ['description' => 'The page number of the ECS instance list. Minimum value: 1.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], [ - 'name' => 'InstanceTypeFamilies', + 'name' => 'PageSize', '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, - ], + 'schema' => ['description' => 'The number of entries per page in a paged query. Settings: Maximum value: 100.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'default' => '10', 'example' => '10', 'title' => ''], ], [ - 'name' => 'MinimumCpuCoreCount', + 'name' => 'ScalingActivityId', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of vCPUs per instance type.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'required' => false, 'example' => 'asa-bp1c9djwrgxjyk31****', 'title' => ''], ], [ - 'name' => 'MaximumCpuCoreCount', + 'name' => 'InstanceIds', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The maximum number of vCPUs per instance type.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The IDs of the ECS instances.'."\n" + ."\n" + .'Invalid InstanceId values are ignored in the query results, and no error is returned.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of the ECS instances.'."\n" + ."\n" + .'Invalid InstanceId values are ignored in the query results, and no error is returned.', 'type' => 'string', 'required' => false, 'example' => 'i-bp109k5j3dum1ce6****', 'title' => ''], 'required' => false, - 'example' => '4', + 'maxItems' => 200, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'GpuSpecs', + 'name' => 'CreationTypes', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The GPU models.'."\n", + 'description' => 'The methods used to create instances in the scaling group. You can specify only one of this parameter and CreationType.', 'type' => 'array', - 'items' => [ - 'description' => 'The GPU model.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["NVIDIA V100"]', - ], + 'items' => ['description' => 'The method used to create instances in the scaling group. Valid values: AutoCreated, Attached, and Managed.', 'type' => 'string', 'required' => false, 'example' => 'AutoCreated', 'title' => ''], 'required' => false, - 'maxItems' => 100, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'InstanceCategories', + 'name' => 'LifecycleStates', '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", + 'description' => 'The lifecycle states of ECS instances in the scaling group. You can specify only one of this parameter and LifecycleState. We recommend that you use this parameter.', 'type' => 'array', - 'items' => [ - 'description' => 'The classification of the instance type. Valid values:'."\n" - ."\n" - .'* General-purpose: general-purpose instance type.'."\n" - .'* Compute-optimized: compute-optimized instance type.'."\n" - .'* Memory-optimized: memory-optimized instance type.'."\n" - .'* Big data: big data instance type.'."\n" - .'* Local SSDs: instance type with local SSDs.'."\n" - .'* High Clock Speed: instance type with high clock speeds.'."\n" - .'* Enhanced: enhanced instance type.'."\n" - .'* Shared: shared instance type.'."\n" - .'* Compute-optimized with GPU: GPU-accelerated compute-optimized instance type.'."\n" - .'* Visual Compute-optimized: visual compute-optimized instance type.'."\n" - .'* Heterogeneous Service: heterogeneous service instance type.'."\n" - .'* Compute-optimized with FPGA: FPGA-accelerated compute-optimized instance type.'."\n" - .'* Compute-optimized with NPU: NPU-accelerated compute-optimized instance type.'."\n" - .'* ECS Bare Metal: ECS Bare Metal Instance type.'."\n" - .'* High Performance Compute: HPC-optimized instance type.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["Compute-optimized with GPU"]', - ], + 'items' => ['description' => 'The lifecycle state of the ECS instance in the scaling group. Valid values:'."\n" + .' '."\n" + .'- InService: The ECS instance is added to the scaling group and provides services in the Normal state. '."\n" + .'- Pending: The ECS instance is being added to the scaling group. During this procedure, the ECS instance is added to the backend server group of the associated load balancing instance and to the access whitelist of the associated ApsaraDB RDS instance.'."\n" + .'- Pending:Wait: The ECS instance is waiting to be added to the scaling group. If a lifecycle hook that applies to scale-out activities is created for the scaling group, the ECS instance is suspended and waits for the lifecycle hook timeout to end.'."\n" + .'- Protected: The ECS instance is protected. The ECS instance provides services as expected, but Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle.'."\n" + .'- Standby: The ECS instance is in the standby state. The ECS instance does not provide services, the weight of SLB backend server is set to zero, and Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle.'."\n" + .'- Stopped: The ECS instance is stopped and does not provide services.'."\n" + .'- Removing: The ECS instance is being removed from the scaling group. During this procedure, the ECS instance is removed from the backend server group of the associated load balancing instance and from the access whitelist of the associated ApsaraDB RDS instance. '."\n" + .'- Removing:Wait: The ECS instance is waiting to be removed from the scaling group. If a lifecycle hook that applies to scale-down activities is created for the scaling group, the ECS instance is suspended and waits for the lifecycle hook timeout to end.', 'type' => 'string', 'required' => false, 'example' => 'InService', 'title' => ''], 'required' => false, - 'maxItems' => 100, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'CpuArchitectures', - 'in' => 'query', - 'style' => 'repeatList', + ], + 'responses' => [ + 200 => [ '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"]', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B13527BF-1FBD-4334-A512-20F5E9D3****', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalSpotCount' => ['description' => 'The total number of running spot instances in the current scaling group.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of ECS instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScalingInstances' => [ + 'description' => 'The collection of ECS instance information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of ECS instance information.', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => ['description' => 'The time when the ECS instance was added to the scaling group. The value is accurate to the minute.', 'type' => 'string', 'example' => '2020-05-18T03:11Z', 'title' => ''], + 'LoadBalancerWeight' => ['description' => 'The weight of the load balancing instance.'."\n" + .'> This parameter is deprecated and is not recommended.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'LaunchTemplateId' => ['description' => 'The ID of the launch template.', 'type' => 'string', 'example' => 'lt-m5e3ofjr1zn1aw7****', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the ECS instance.', 'type' => 'string', 'example' => 'i-bp109k5j3dum1ce6****', 'title' => ''], + 'SpotStrategy' => ['description' => 'The preemption policy of the spot instance. Valid values:'."\n" + ."\n" + .'- SpotWithPriceLimit: The spot instance has a maximum price limit.'."\n" + .'- SpotAsPriceGo: The system automatically bids at the current market price.', 'type' => 'string', 'example' => 'SpotWithPriceLimit', 'title' => ''], + 'LaunchTemplateVersion' => ['description' => 'The version of the launch template.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'HealthStatus' => ['description' => 'The health check status of the ECS instance in the scaling group. ECS instances that are not in the Running state are considered unhealthy. Valid values: '."\n" + ."\n" + .'- Healthy: The ECS instance is healthy. '."\n" + .'- Unhealthy: The ECS instance is unhealthy. '."\n" + ."\n" + .'Auto Scaling automatically removes unhealthy ECS instances from the scaling group and releases the ECS instances created by automatic creation.'."\n" + ."\n" + .'Whether a manually added ECS instance is released depends on its managed state. If the instance lifecycle is not managed by the scaling group, the instance is only removed but not released. If the instance lifecycle is managed by the scaling group, the instance is removed and released.'."\n" + ."\n" + .'> Make sure that your account has a sufficient available quota. If your account has an overdue payment, all pay-as-you-go ECS instances (including pay-as-you-go instances and spot instances) are stopped or even released. For information about how the status of ECS instances in a scaling group changes after an overdue payment occurs, see [Overdue payments](~~170589~~).', 'type' => 'string', 'example' => 'Healthy', 'title' => ''], + 'ScalingGroupId' => ['description' => 'The ID of the scaling group to which the instance belongs.', 'type' => 'string', 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], + 'WarmupState' => ['description' => 'The warmup state of the ECS instance. Valid values: '."\n" + .' '."\n" + .'- NoNeedWarmup: No warmup is required.'."\n" + .'- WaitingForInstanceWarmup: The instance is waiting for warmup to complete.'."\n" + .'- InstanceWarmupFinish: Warmup is complete.', 'type' => 'string', 'example' => 'NoNeedWarmup', 'title' => ''], + 'LifecycleState' => ['description' => 'The lifecycle state of the ECS instance in the scaling group. Valid values:'."\n" + .' '."\n" + .'- InService: The ECS instance is added to the scaling group and provides services in the Normal state. '."\n" + .'- Pending: The ECS instance is being added to the scaling group. During this procedure, the ECS instance is added to the backend server group of the associated load balancing instance and to the access whitelist of the associated ApsaraDB RDS instance.'."\n" + .'- Pending:Wait: The ECS instance is waiting to be added to the scaling group. If a lifecycle hook that applies to scale-out activities is created for the scaling group, the ECS instance is suspended and waits for the lifecycle hook timeout to end.'."\n" + .'- Protected: The ECS instance is protected. The ECS instance provides services as expected, but Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle.'."\n" + .'- Standby: The ECS instance is in the standby state. The ECS instance does not provide services, the weight of SLB backend server is set to zero, and Auto Scaling does not manage the lifecycle of the ECS instance. You must manually manage the lifecycle.'."\n" + .'- Stopped: The ECS instance is stopped and does not provide services.'."\n" + .'- Removing: The ECS instance is being removed from the scaling group. During this procedure, the ECS instance is removed from the backend server group of the associated load balancing instance and from the access whitelist of the associated ApsaraDB RDS instance. '."\n" + .'- Removing:Wait: The ECS instance is waiting to be removed from the scaling group. If a lifecycle hook that applies to scale-down activities is created for the scaling group, the ECS instance is suspended and waits for the lifecycle hook timeout to end.', 'type' => 'string', 'example' => 'InService', 'title' => ''], + 'CreationType' => ['description' => 'The method used to create the ECS instance. Valid values: '."\n" + ."\n" + .'- AutoCreated: The ECS instance is created by automatic creation based on the instance configuration source in Auto Scaling. '."\n" + .'- Attached: The ECS instance is not created by Auto Scaling but manually added to the scaling group.', 'type' => 'string', 'example' => 'AutoCreated', 'title' => ''], + 'ZoneId' => ['description' => 'The zone ID of the ECS instance.', 'type' => 'string', 'example' => 'cn-hangzhou-g', 'title' => ''], + 'ScalingConfigurationId' => ['description' => 'The ID of the associated scaling configuration.', 'type' => 'string', 'example' => 'asc-bp1i65jd06v04vdh****', 'title' => ''], + 'Entrusted' => ['description' => 'Indicates whether the manually added instance is managed by the scaling group. A managed manually added instance is released when it is removed from the scaling group (excluding manual removal). Valid values:'."\n" + .'- true: The instance is managed by the scaling group.'."\n" + .'- false: The instance is not managed by the scaling group.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'WeightedCapacity' => ['description' => 'The weight of the instance type. The weight indicates the capacity that a single instance of this instance type represents in the scaling group. A higher weight means that fewer instances of this type are required to meet the expected capacity.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'CreatedTime' => ['description' => 'The time when the ECS instance was added to the scaling group. The value is accurate to the second.', 'type' => 'string', 'example' => '2020-05-18T03:11:39Z', 'title' => ''], + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity during which the ECS instance was added to the scaling group.', 'type' => 'string', 'example' => 'asa-bp1c9djwrgxjyk31****', 'title' => ''], + 'ScalingInstanceId' => ['description' => 'The instance identity in the scaling group, which has a one-to-one mapping with the ECS instance ID or Elastic Container Instance (ECI) instance identity.', 'type' => 'string', 'example' => 'asi-j6cj1gcte640ekhb****', 'title' => ''], + 'PrivateIpAddress' => ['description' => 'The private IP address of the instance in the scaling group.', 'type' => 'string', 'example' => '1**.2*.1**.2**', 'title' => ''], + 'ReplaceStatus' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], ], - 'required' => false, - 'maxItems' => 100, + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'title' => 'Query ECS instances in a scaling group', + 'summary' => 'Calls DescribeScalingInstances to query the list and information of ECS instances in a scaling group by scaling group ID, including the total number of running spot instances, the total number of ECS instances, the warmup state of ECS instances, and the lifecycle state in the current scaling group. You can also filter ECS instances by health check status, lifecycle state, or creation type.', + 'changeSet' => [], + 'ramActions' => [ [ - '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"]', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, - 'maxItems' => 100, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B13527BF-1FBD-4334-A512-20F5E9D3****\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalSpotCount\\": 4,\\n \\"TotalCount\\": 1,\\n \\"ScalingInstances\\": [\\n {\\n \\"CreationTime\\": \\"2020-05-18T03:11Z\\",\\n \\"LoadBalancerWeight\\": 50,\\n \\"LaunchTemplateId\\": \\"lt-m5e3ofjr1zn1aw7****\\",\\n \\"InstanceId\\": \\"i-bp109k5j3dum1ce6****\\",\\n \\"SpotStrategy\\": \\"SpotWithPriceLimit\\",\\n \\"LaunchTemplateVersion\\": \\"1\\",\\n \\"HealthStatus\\": \\"Healthy\\",\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\",\\n \\"WarmupState\\": \\"NoNeedWarmup\\",\\n \\"LifecycleState\\": \\"InService\\",\\n \\"CreationType\\": \\"AutoCreated\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"ScalingConfigurationId\\": \\"asc-bp1i65jd06v04vdh****\\",\\n \\"Entrusted\\": true,\\n \\"WeightedCapacity\\": 4,\\n \\"CreatedTime\\": \\"2020-05-18T03:11:39Z\\",\\n \\"ScalingActivityId\\": \\"asa-bp1c9djwrgxjyk31****\\",\\n \\"ScalingInstanceId\\": \\"asi-j6cj1gcte640ekhb****\\",\\n \\"PrivateIpAddress\\": \\"1**.2*.1**.2**\\",\\n \\"ReplaceStatus\\": \\"\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeScalingRules' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'MinimumEniQuantity', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '125364', + 'abilityTreeNodes' => ['FEATUREessRL7GKO'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of elastic network interfaces (ENIs) per instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'The 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' => 'MinimumEniPrivateIpAddressQuantity', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of IPv4 addresses per ENI.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], + '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' => 'MinimumEniIpv6AddressQuantity', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of IPv6 addresses per ENI.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + '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' => 'MinimumInitialCredit', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The initial vCPU credits per t5 or t6 burstable instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '12', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp1ffogfdauy0jw0****'], ], [ - 'name' => 'MinimumBaselineCredit', + 'name' => 'ScalingRuleType', 'in' => 'query', - 'schema' => [ - 'description' => 'The baseline vCPU computing performance (overall baseline performance of all vCPUs) per t5 or t6 burstable instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '12', - ], + 'schema' => ['description' => 'The 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' => 'MinimumMemorySize', + 'name' => 'ShowAlarmRules', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum memory size per instance. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '4', - ], + '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' => 'MaximumMemorySize', + 'name' => 'ScalingRuleIds', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The maximum memory size per instance. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', + '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, - 'example' => '4', + 'maxItems' => 10, ], ], [ - 'name' => 'MinimumGpuAmount', + 'name' => 'ScalingRuleNames', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The minimum number of GPUs per instance. The value must be a positive integer.'."\n", - 'type' => 'integer', - 'format' => 'int32', + '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, - 'example' => '2', + 'maxItems' => 10, ], ], [ - 'name' => 'MaximumGpuAmount', + 'name' => 'ScalingRuleAris', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The maximum number of GPUs per instance. The value must be a positive integer.'."\n", - 'type' => 'integer', - 'format' => 'int32', + '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, - 'example' => '2', + 'maxItems' => 10, ], ], ], '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", + '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' => [ - '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', + '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'], + ], + ], ], - 'InstanceTypeFamily' => [ - 'description' => 'The instance family.'."\n", - 'type' => 'string', - 'example' => 'ecs.c7', + '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'], + ], + ], ], - 'Cores' => [ - 'description' => 'The number of vCPUs that are assigned to the instance type.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', + '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' => '', + ], ], - 'Memory' => [ - 'description' => 'The memory size that are assigned to the instance type. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '8', + '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 \\"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', + 'title' => 'DescribeScalingRules', + 'summary' => 'Queries scaling rules. When you call this operation, you can specify the ID, name, or Alibaba Cloud Resource Name (ARN) of a scaling rule to query the details of the scaling rule. For example, you can query the adjustment method, instance warm-up period, and associated event-triggered tasks of the desired scaling rule.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"ScalingRules\\": [\\n {\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"AdjustmentType\\": \\"QuantityChangeInCapacity\\",\\n \\"InitialMaxSize\\": 100,\\n \\"EstimatedInstanceWarmup\\": 300,\\n \\"ScaleOutEvaluationCount\\": 3,\\n \\"PredictiveScalingMode\\": \\"PredictAndScale\\",\\n \\"MinAdjustmentMagnitude\\": 1,\\n \\"ScalingRuleAri\\": \\"ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****\\",\\n \\"PredictiveTaskBufferTime\\": 30,\\n \\"MinSize\\": 1,\\n \\"ScalingGroupId\\": \\"asg-bp1ffogfdauy0jw0****\\",\\n \\"PredictiveValueBehavior\\": \\"MaxOverridePredictiveValue\\",\\n \\"TargetValue\\": 0.125,\\n \\"Cooldown\\": 20,\\n \\"MaxSize\\": 2,\\n \\"PredictiveValueBuffer\\": 50,\\n \\"ScalingRuleType\\": \\"SimpleScalingRule\\",\\n \\"AdjustmentValue\\": 1,\\n \\"ScaleInEvaluationCount\\": 15,\\n \\"DisableScaleIn\\": true,\\n \\"ScalingRuleName\\": \\"scalingrule****\\",\\n \\"ScalingRuleId\\": \\"asr-bp1dvirgwkoowxk7****\\",\\n \\"Alarms\\": [\\n {\\n \\"AlarmTaskId\\": \\"asg-bp18p2yfxow2dloq****_1f9458d1-70e1-4bee-8c7f-7a47695b****\\",\\n \\"ComparisonOperator\\": \\">=\\",\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"EvaluationCount\\": 3,\\n \\"AlarmTaskName\\": \\"alarmtask****\\",\\n \\"MetricType\\": \\"system\\",\\n \\"Threshold\\": 50,\\n \\"Statistics\\": \\"Average\\",\\n \\"Dimensions\\": [\\n {\\n \\"DimensionKey\\": \\"scaling_group\\",\\n \\"DimensionValue\\": \\"asg-bp18p2yfxow2dloq****\\"\\n }\\n ],\\n \\"Period\\": 60\\n }\\n ],\\n \\"StepAdjustments\\": [\\n {\\n \\"MetricIntervalUpperBound\\": 5,\\n \\"ScalingAdjustment\\": 1,\\n \\"MetricIntervalLowerBound\\": 1\\n }\\n ],\\n \\"AlarmDimensions\\": [\\n {\\n \\"DimensionKey\\": \\"rulePool\\",\\n \\"DimensionValue\\": \\"sgp-l1cbirz451yxu2dxxx\\"\\n }\\n ],\\n \\"MetricType\\": \\"system\\",\\n \\"HybridMonitorNamespace\\": \\"aliyun-test\\",\\n \\"HybridMetrics\\": [\\n {\\n \\"Id\\": \\"a\\",\\n \\"Expression\\": \\"(a+b)/2\\",\\n \\"MetricName\\": \\"AliyunSmq_NumberOfMessagesVisible\\",\\n \\"Statistic\\": \\"Average\\",\\n \\"Dimensions\\": [\\n {\\n \\"DimensionKey\\": \\"queue\\",\\n \\"DimensionValue\\": \\"testQueue\\"\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeScheduledTasks' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '125334', - 'abilityTreeNodes' => [ - 'FEATUREessRTZKQT', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '125344', + 'abilityTreeNodes' => ['FEATUREessAWW1X1'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group to which the scaling rule belongs.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1ffogfdauy0jw0****', - ], + 'schema' => ['description' => 'The region ID of the scaling group to which the scheduled task belongs.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao'], ], [ - 'name' => 'ScalingRuleName', + 'name' => 'PageNumber', '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****', - ], + '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' => 'Cooldown', + 'name' => 'PageSize', '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', - ], + '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' => 'MinAdjustmentMagnitude', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of instances that must be scaled when the AdjustmentType parameter is set to PercentChangeInCapacity. This parameter takes effect only if you set the ScalingRuleType parameter to SimpleScalingRule or StepScalingRule.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The ID of the scaling group to which the scheduled task belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp1bo5tca4m56nap****'], ], [ - 'name' => 'AdjustmentType', + 'name' => 'ScheduledActions', 'in' => 'query', + 'style' => 'repeatList', '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" + '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" - .'* 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', + .'Set the value to the unique identifier of the scaling rule (ScalingRuleAri).'."\n", 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****'], 'required' => false, - 'example' => 'QuantityChangeInCapacity', + 'maxItems' => 20, ], ], [ - 'name' => 'AdjustmentValue', + 'name' => 'ScheduledTaskIds', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The IDs of the scheduled tasks that you want to query.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The ID of the scheduled task that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'edRtShc57WGXdt8TlPbr****'], 'required' => false, - 'example' => '100', + 'maxItems' => 20, ], ], [ - 'name' => 'ScalingRuleType', + 'name' => 'ScheduledTaskNames', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The names of the scheduled tasks that you want to query.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The name of the scheduled task that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scheduled****'], 'required' => false, - 'example' => 'SimpleScalingRule', - 'default' => 'SimpleScalingRule', + 'maxItems' => 20, ], ], [ - 'name' => 'EstimatedInstanceWarmup', + 'name' => 'TaskName', 'in' => 'query', - 'schema' => [ - 'description' => 'The warmup period of an instance. This parameter is available only if you set the ScalingRuleType parameter to TargetTrackingScalingRule or PredictiveScalingRule. Auto Scaling adds ECS instances that are in the warmup state to a scaling group but does not report monitoring data to CloudMonitor during the warmup period.'."\n" - ."\n" - .'> Auto Scaling calculates the number of ECS instances that must be scaled. ECS instances in the warmup state are not counted towards the current capacity of the scaling group.'."\n" - ."\n" - .'Valid values: 0 to 86400. Unit: seconds.'."\n" - ."\n" - .'Default value: 300.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '300', - ], + 'schema' => ['description' => 'The name of scheduled task N. Fuzzy search based on keywords is supported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scheduled****'], ], [ - 'name' => 'MetricName', + 'name' => 'RecurrenceType', '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', - ], + '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' => 'TargetValue', + 'name' => 'RecurrenceValue', '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', - ], + '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' => 'DisableScaleIn', + 'name' => 'TaskEnabled', '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', - ], + 'schema' => ['description' => 'Specifies whether scheduled task N is enabled.'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], - [ - 'name' => 'ScaleInEvaluationCount', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ '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', + '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' => '', ], ], - [ - 'name' => 'ScaleOutEvaluationCount', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of consecutive times that the event-triggered task created for scale-out activities must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and then associated with the target tracking scaling rule.'."\n" - ."\n" - .'Default value: 3.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', + ], + 'title' => 'DescribeScheduledTasks', + 'summary' => 'Queries scheduled tasks. A scheduled task is a predefined task that triggers the automatic execution of a scaling rule at the specified point in time. It ensures an automatic scaling of computing resources to fulfill your business demands at a minimum cost. After you create a scheduled task, you can call the DescribeScheduledTasks operation to query the details of the task, such as the execution time point and the scaling group ID. You can also call this operation to query the total number of existing scheduled tasks.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScheduledTasks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"ScheduledTasks\\": [\\n {\\n \\"TaskEnabled\\": true,\\n \\"RecurrenceValue\\": \\"1\\",\\n \\"RecurrenceType\\": \\"Daily\\",\\n \\"MaxValue\\": 10,\\n \\"ScheduledTaskName\\": \\"scheduled****\\",\\n \\"RecurrenceEndTime\\": \\"2014-08-20T16:55Z\\",\\n \\"DesiredCapacity\\": 10,\\n \\"ScheduledTaskId\\": \\"edRtShc57WGXdt8TlPbr****\\",\\n \\"MinValue\\": 0,\\n \\"ScalingGroupId\\": \\"asg-bp1bo5tca4m56nap****\\",\\n \\"LaunchExpirationTime\\": 600,\\n \\"Description\\": \\"Test scheduled task.\\",\\n \\"ScheduledAction\\": \\"ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp1id5rhu8edp7kd****\\",\\n \\"LaunchTime\\": \\"2014-08-18T10:52Z\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DetachAlbServerGroups' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - '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', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125336', + 'abilityTreeNodes' => ['FEATUREessJZ6DNF'], + ], + 'parameters' => [ [ - 'name' => 'PredictiveValueBehavior', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum value for predication tasks. Valid values:'."\n" - ."\n" - .'* MaxOverridePredictiveValue: uses the initial maximum capacity as the maximum value for prediction tasks if the predicted value is greater than the initial maximum capacity.'."\n" - .'* PredictiveValueOverrideMax: uses the predicted value as the maximum value for prediction tasks if the predicted value is greater than the initial maximum capacity.'."\n" - .'* PredictiveValueOverrideMaxWithBuffer: increases the predicted value by a percentage that is specified by the PredictiveValueBuffer parameter. If the predicted value that is increased by the percentage is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks.'."\n" - ."\n" - .'Default value: MaxOverridePredictiveValue.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'MaxOverridePredictiveValue', - ], + 'schema' => ['description' => 'The region ID of the scaling group. Examples: cn-hangzhou and cn-shanghai.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'PredictiveValueBuffer', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ratio based on which the predicted value is increased when you set `PredictiveValueBehavior` to `PredictiveValueOverrideMaxWithBuffer`. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.'."\n" - ."\n" - .'Default value: 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp18p2yfxow2dloq****'], ], [ - 'name' => 'PredictiveTaskBufferTime', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The amount of buffer time before the prediction task is executed. By default, all prediction tasks that are automatically created for a predictive scaling rule are executed on the hour. You can specify an amount of buffer time for resource preparation before the prediction tasks are executed. Valid values: 0 to 60. Unit: minutes.'."\n" - ."\n" - .'Default value: 0.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - ], + 'schema' => ['description' => 'The 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' => 'InitialMaxSize', + 'name' => 'ForceDetach', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of ECS instances that can be contained in the scaling group. If you specify InitialMaxSize, you must specify `PredictiveValueBehavior`.'."\n" - ."\n" - .'The default value of this parameter is the value of MaxSize.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], + 'schema' => ['description' => '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' => 'StepAdjustments', + 'name' => 'AlbServerGroups', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Details of the step adjustments.'."\n", + 'description' => 'Details of the ALB server groups.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'Details of the step adjustments.'."\n", + 'description' => 'Details of the ALB server groups.'."\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', - ], + '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' => false, - 'maxItems' => 20, + 'required' => true, + 'maxItems' => 100, ], ], - [ - 'name' => 'RegionId', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', + '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' => '', ], ], - [ - '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, + ], + 'title' => 'DetachAlbServerGroups', + 'summary' => 'Detaches Application Load Balancer (ALB) server groups from a scaling group. When you call the DetachAlbServerGroups operation, you can specify the scaling group ID, ALB server group ID, and port used by Elastic Compute Service (ECS) instances in the desired ALB server group to detach one or more ALB server groups from your scaling group.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachAlbServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, - 'maxItems' => 5, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-2ze6wxj8vsohn6j9****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'DetachDBInstances' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'none', + 'abilityTreeCode' => '125376', + 'abilityTreeNodes' => ['FEATUREessJZ6DNF'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****'], + ], [ - 'name' => 'MetricType', + 'name' => 'ForceDetach', 'in' => 'query', - 'schema' => [ - 'description' => 'The metric type. Valid values:'."\n" - ."\n" - .'* system: system metrics of CloudMonitor.'."\n" - .'* custom: custom metrics that are reported to CloudMonitor.'."\n" - .'* hybrid: metrics of Hybrid Cloud Monitoring.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'system', - ], + 'schema' => ['description' => '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' => 'HybridMonitorNamespace', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Hybrid Cloud Monitoring namespace.'."\n" - ."\n" - .'For information about how to manage Hybrid Cloud Monitoring namespaces, see [Manage namespaces](~~217606~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'aliyun-test', - ], + 'schema' => ['description' => 'The 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' => 'HybridMetrics', + 'name' => 'DBInstances', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The Hybrid Cloud Monitoring metrics. For more information, see [Create a custom target tracking scaling rule](~~2852162~~).'."\n", + 'description' => 'The IDs of the ApsaraDB RDS instances. You can specify up to five ApsaraDB RDS instances.'."\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, + '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' => 'AlarmOptions', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'flat', - 'schema' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Period' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], - ], - 'required' => false, - ], + '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' => [ @@ -18979,60 +12507,33 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ScalingRuleAri' => [ - 'description' => 'The unique identifier of the scaling rule.'."\n", - 'type' => 'string', - 'example' => 'ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'ScalingRuleId' => [ - 'description' => 'The ID of the scaling rule, which is generated by the system and is globally unique.'."\n", - 'type' => 'string', - 'example' => 'asr-bp1dvirgwkoowxk7****', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], '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', + 'title' => 'DetachDBInstances', + 'summary' => 'Detaches one or more ApsaraDB RDS instances from a scaling group. If you want to decrease the number of ApsaraDB RDS instances attached to your scaling group, you can call the DetachDBInstance operation. This operation liberates ApsaraDB RDS instances from your scaling group, thereby significantly boosting the agility and efficiency in managing and allocating your resources.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ess:DetachDBInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'DetachInstances' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -19041,1049 +12542,796 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '125391', - 'abilityTreeNodes' => [ - 'FEATUREessRTZKQT', - ], + 'abilityTreeCode' => '125382', + 'abilityTreeNodes' => ['FEATUREessDFX5TO'], ], 'parameters' => [ [ - 'name' => 'ScalingRuleId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling rule that you want to modify.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asr-bp1dvirgwkoowxk7****', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****'], ], [ - 'name' => 'ScalingRuleName', + 'name' => 'DecreaseDesiredCapacity', '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****', - ], + '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' => 'Cooldown', + 'name' => 'DetachOption', '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', - ], + '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' => 'MinAdjustmentMagnitude', + 'name' => 'InstanceIds', 'in' => 'query', + 'style' => 'repeatList', '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', + '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' => 'AdjustmentType', + 'name' => 'LifecycleHook', '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', - ], + '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' => 'AdjustmentValue', + 'name' => 'IgnoreInvalidInstance', 'in' => 'query', - 'schema' => [ - 'description' => 'The target value specified in the scaling rule. This parameter is required when the ScalingRuleType parameter is set to SimpleScalingRule or StepScalingRule. The number of ECS instances that are scaled in a single scaling activity cannot exceed 1,000.'."\n" - ."\n" - .'* Valid values if you set the AdjustmentType parameter to QuantityChangeInCapacity: -1000 to 1000.'."\n" - .'* Valid values if you set the AdjustmentType parameter to PercentChangeInCapacity: -100 to 10000.'."\n" - .'* Valid values if you set the AdjustmentType parameter to TotalCapacity: 0 to 2000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], + 'schema' => ['description' => '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' => 'EstimatedInstanceWarmup', + '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' => [ - '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', + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.'."\n", 'type' => 'string', 'example' => 'asa-bp1gbswjhjrw8tko****'], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + ], + 'description' => '', ], ], + ], + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], + ], + ], + 'title' => 'DetachInstances', + 'summary' => 'Removes instances from a scaling group. If an enabled scaling group has no ongoing scaling activities, you can call the DetachInstances operation to remove one or more Elastic Compute Service (ECS) instances, elastic container instances, or Alibaba Cloud-hosted third-party instances from the scaling group.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1gbswjhjrw8tko****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'DetachLoadBalancers' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'MetricName', + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125361', + 'abilityTreeNodes' => ['FEATUREess2GK585'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', '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', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp1ffogfdauy0jw0****'], ], [ - 'name' => 'TargetValue', + 'name' => 'ForceDetach', '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', - ], + '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' => 'DisableScaleIn', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to disable scale-in. This parameter is available only if you set the ScalingRuleType parameter to TargetTrackingScalingRule.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The 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' => 'ScaleInEvaluationCount', + 'name' => 'Async', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of consecutive times that the event-triggered task created for scale-in activities must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and then associated with the target tracking scaling rule.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '15', - ], + 'schema' => ['description' => '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' => 'ScaleOutEvaluationCount', + 'name' => 'LoadBalancers', 'in' => 'query', + 'style' => 'repeatList', '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', + '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' => 'PredictiveScalingMode', + 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The 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', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity. The value of this parameter is returned only if you set the Async parameter to true. You can call the describescalingactivities operation to query all scaling activity IDs and use the scaling activity IDs to check the status of the scaling activities.'."\n", 'type' => 'string', 'example' => 'asa-bp140qd7mak8k63f****'], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + ], + ], + ], + ], + 'title' => 'DetachLoadBalancers', + 'summary' => 'Detaches Classic Load Balancer (CLB, formerly known as Server Load Balancer or SLB) instances from a scaling group. If the current CLB instance no longer meets your business requirements, you can call the DetachLoadBalancers operation to detach it from your scaling group. When you call this operation, you can use ScalingGroupId, LoadBalancer.N, and ForceDetach to specify one or more CLB instances to detach. You can also determine whether to call this operation asynchronously and whether to remove the Elastic Compute Service (ECS) instances acting as backend servers from the backend server groups of the CLB instance. You can call this operation to detach only CLB instances from a scaling group.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachLoadBalancers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp140qd7mak8k63f****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'DetachServerGroups' => [ + 'summary' => 'Remove one or more SLB server groups from a scaling group. Supported server group types include Application Load Balancer (ALB), Network Load Balancer (NLB), and Gateway Load Balancer (GWLB), which can dynamically adjust SLB policies and help improve high availability of the system.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '166343', + 'abilityTreeNodes' => ['FEATUREess2GK585'], + ], + 'parameters' => [ [ - 'name' => 'PredictiveValueBehavior', + 'name' => 'RegionId', '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', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'PredictiveValueBuffer', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ratio based on which the predicted value is increased when `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', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'PredictiveTaskBufferTime', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The amount of buffer time before the prediction task is executed. By default, all prediction tasks that are automatically created for a predictive scaling rule are executed on the hour. You can specify an amount of buffer time for resource preparation before the prediction tasks are executed. Valid values: 0 to 60.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'InitialMaxSize', + 'name' => 'ForceDetach', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of ECS instances that can be contained in the scaling group. If you specify InitialMaxSize, you must specify `PredictiveValueBehavior`.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], + 'schema' => ['description' => 'Specifies whether to remove the existing Elastic Compute Service (ECS) instances or elastic container instances in the scaling group from the server group marked for detachment.'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], ], [ - 'name' => 'StepAdjustments', + 'name' => 'ServerGroups', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Details of the step adjustments.'."\n", + 'description' => 'The information about the server groups.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'Details of the step adjustments.'."\n", + 'description' => 'The server groups.'."\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', - ], + 'ServerGroupId' => ['description' => 'The ID of the server group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'sgp-1gv2uidn2msy****', 'title' => ''], + 'Type' => ['description' => 'The type of the server group. Valid values:'."\n" + ."\n" + .'* ALB'."\n" + .'* NLB'."\n" + .'* GWLB'."\n", 'type' => 'string', 'required' => true, 'example' => 'ALB', 'title' => ''], + 'Port' => ['description' => 'The port used by ECS instances or elastic container instances as backend servers of the server group.'."\n" + ."\n" + .'> For ALB and NLB types, this parameter is required. GWLB type cannot set this parameter and the default value is 6081.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], - 'required' => false, - 'maxItems' => 20, + 'required' => true, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'AlarmDimensions', - 'in' => 'query', - 'style' => 'repeatList', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The dimensions. This parameter is applicable to target tracking scaling rules. You can specify this parameter if your predefined metric requires extra dimensions. For example, if you predefine the LoadBalancerRealServerAverageQps metric, you must use this parameter to specify the rulePool dimension.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'DimensionKey' => [ - 'description' => 'The dimension key of the metric.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rulePool', - ], - 'DimensionValue' => [ - 'description' => 'The dimension value of the metric.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sgp-l1cbirz451yxu2dxxx', - ], - ], - 'required' => false, + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity. During the scaling activity, the server group is detached from the scaling group and the existing servers, which are the ECS instances or elastic container instances in the scaling group, are removed from the server group.'."\n" + ."\n" + .'> This parameter is returned only if you set `ForceDetach` to `true`.'."\n", 'type' => 'string', 'example' => 'asa-bp1gbswjhjrw8tko****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'title' => 'DetachServerGroups', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, - 'maxItems' => 5, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp1gbswjhjrw8tko****\\",\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\"\\n}","type":"json"}]', + ], + 'DetachVServerGroups' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'MetricType', + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125323', + 'abilityTreeNodes' => ['FEATUREessJZ6DNF'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The metric type. Valid values:'."\n" - ."\n" - .'* system: system metrics of CloudMonitor.'."\n" - .'* custom: custom metrics that are reported to CloudMonitor.'."\n" - .'* hybrid: metrics of Hybrid Cloud Monitoring.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'system', - ], + 'schema' => ['description' => 'The region ID of the scaling group. Examples: cn-hangzhou and cn-shanghai.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'HybridMonitorNamespace', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Hybrid Cloud Monitoring namespace.'."\n" - ."\n" - .'For information about how to manage Hybrid Cloud Monitoring namespaces, see [Manage namespaces](~~217606~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'aliyun-test', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1fo0dbtsbmqa9h****'], ], [ - 'name' => 'HybridMetrics', + '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 Hybrid Cloud Monitoring metrics. For more information, see [Create a custom target tracking scaling rule](~~2852162~~).'."\n", + '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' => [ - '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", + 'VServerGroupAttributes' => [ + 'description' => 'The attributes of the backend vServer group.'."\n", 'type' => 'array', 'items' => [ + 'description' => 'Details of the vServer group attributes.'."\n", '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', - ], + '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, - 'description' => '', ], 'required' => false, - 'maxItems' => 10, + '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, - 'description' => '', ], - 'required' => false, + 'required' => true, 'maxItems' => 100, ], ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + ], + 'description' => '', + ], + ], + ], + 'title' => 'DetachVServerGroups', + 'summary' => 'Detaches vServer groups from a scaling group. Auto Scaling supports the attachment of load balancers to scaling groups to improve service performance. If the load balancer currently attached to your scaling group is no longer needed to distribute the access traffic to the instances in your scaling group, you can call the DetachVServerGroups operation to detach one or more vServer groups of this load balancer from the scaling group.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachVServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'DisableAlarm' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'AlarmOptions', + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125352', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'flat', + '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' => [ - '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', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '086EFCD4-C76F-4DC6-9EE9-0D9B711E****'], + ], + 'description' => '', + ], + ], + ], + 'title' => 'DisableAlarm', + 'summary' => 'Disables an event-triggered task. If your business pattern is unpredictable or prone to unforeseen traffic spikes, you can create event-triggered tasks by associating CloudMonitor metrics to effectively monitor fluctuations in your business workload. Upon detecting that the criteria for alerts, as specified in event-triggered tasks, are fulfilled, Auto Scaling promptly issues alerts and executes the scaling rules predefined within those tasks. This process occurs within the predefined effective time windows of the tasks, thereby facilitating the automatic increase or decrease of Elastic Compute Service (ECS) instances or elastic container instances within your scaling groups. Ultimately, this mechanism ensures the dynamic optimization of resources based on real-time workload demands. If you currently do not need an event-triggered task, you can call the DisableAlarm operation to disable it.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DisableAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"086EFCD4-C76F-4DC6-9EE9-0D9B711E****\\"\\n}","type":"json"}]', + ], + 'DisableScalingGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125389', + 'abilityTreeNodes' => ['FEATUREessUCEVTM'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'], + ], + ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '', + 'description' => 'The request ID.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], + ], + ], + ], + ], + 'title' => 'DisableScalingGroup', + 'summary' => 'Disables a scaling group. If you temporarily do not require a scaling group that is in the Enabled state, you can call the DisableScalingGroup operation to disable it.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DisableScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'EnableAlarm' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '125397', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the region.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao'], + ], + [ + 'name' => 'AlarmTaskId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the event-triggered task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****'], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '688B18B8-FB1E-42EB-A1ED-7F55B090****'], + ], + 'description' => '', + ], + ], + ], + 'title' => 'EnableAlarm', + 'summary' => 'Enables an event-triggered task. If your business pattern is unpredictable or prone to unforeseen traffic spikes, you can create event-triggered tasks by associating CloudMonitor metrics to effectively monitor fluctuations in your business workload. Upon detecting that the criteria for alerts, as specified in event-triggered tasks, are fulfilled, Auto Scaling promptly issues alerts and executes the scaling rules predefined within those tasks. This process occurs within the predefined effective time windows of the tasks, thereby facilitating the automatic increase or decrease of Elastic Compute Service (ECS) instances or elastic container instances within your scaling groups. Ultimately, this mechanism ensures the dynamic optimization of resources based on real-time workload demands. If you want to reuse an event-triggered task that is in the Disabled state, you can call the EnableAlarm operation to enable it.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:EnableAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'ModifyScalingRule', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"688B18B8-FB1E-42EB-A1ED-7F55B090****\\"\\n}","type":"json"}]', ], - 'DescribeScalingRules' => [ - 'summary' => 'Queries scaling rules. When you call this operation, you can specify the ID, name, or Alibaba Cloud Resource Name (ARN) of a scaling rule to query the details of the scaling rule. For example, you can query the adjustment method, instance warm-up period, and associated event-triggered tasks of the desired scaling rule.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'EnableScalingGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '125364', - 'abilityTreeNodes' => [ - 'FEATUREessRL7GKO', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '125366', + 'abilityTreeNodes' => ['FEATUREessUCEVTM'], ], '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****', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp14wlu85wrpchm0****'], ], [ - 'name' => 'ScalingRuleType', + 'name' => 'ActiveScalingConfigurationId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the scaling rule. Valid values:'."\n" - ."\n" - .'* SimpleScalingRule: adjusts the number of ECS instances based on the values of the AdjustmentType and AdjustmentValue parameters.'."\n" - .'* TargetTrackingScalingRule: calculates the number of ECS instances that need to be scaled in a dynamic manner and maintains the value of a predefined metric close to the value of the TargetValue parameter.'."\n" - .'* StepScalingRule: scales ECS instances in steps based on the specified thresholds and metric values.'."\n" - .'* PredictiveScalingRule: uses machine learning to analyze historical monitoring data of the scaling group and predicts the future values of metrics. In addition, Auto Scaling automatically creates scheduled tasks to adjust the boundary values for the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SimpleScalingRule', - ], + 'schema' => ['description' => 'The ID of the scaling configuration that you want to enable in the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asc-bp1ffogfdauy0nu5****'], ], [ - 'name' => 'ShowAlarmRules', + 'name' => 'LaunchTemplateId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to return the event-triggered tasks that are associated with the scaling rule. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => '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' => 'ScalingRuleIds', + 'name' => 'LaunchTemplateVersion', '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, - ], + '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' => 'ScalingRuleNames', + 'name' => 'InstanceIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The names of the scaling rules that you want to query.'."\n", + '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 names of the scaling rules that you want to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scalingrule****', - ], + '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' => 10, + 'maxItems' => 100, ], ], [ - 'name' => 'ScalingRuleAris', + 'name' => 'LoadBalancerWeights', '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' => '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, ], - 'description' => '', + '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'], + ], ], - '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', + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + ], + 'description' => '', + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'EnableScalingGroup', + 'summary' => 'Enables a scaling group. If a scaling group is in the Disabled state and contains an instance configuration source such as a launch template or a scaling configuration, you can call the EnableScalingGroup operation to enable the scaling group. This operation permits Auto Scaling to dynamically adjust the computing power (also known as the number of instances) in the scaling group based on your business requirements.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:EnableScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'EnterStandby' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '125395', - 'abilityTreeNodes' => [ - 'FEATUREessRTZKQT', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '125322', + 'abilityTreeNodes' => ['FEATUREessBFHJ1B'], ], 'parameters' => [ [ - 'name' => 'ScalingRuleId', + '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 ID of the scaling rule that you want to delete.'."\n", - 'type' => 'string', + '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, - 'example' => 'asr-bp163l21e07uhnyt****', + 'maxItems' => 20, ], ], [ - 'name' => 'RegionId', + 'name' => 'Async', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + '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' => [ @@ -20091,29 +13339,34 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + 'ScalingActivityId' => ['title' => '', 'description' => 'The ID of the scaling activity.'."\n", 'type' => 'string', 'example' => 'asa-2zeb04oym05qaceq****'], ], 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'DeleteScalingRule', + 'title' => 'EnterStandby', + 'summary' => 'Puts an Elastic Compute Service (ECS) instance into the Standby state.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:EnterStandby', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingActivityId\\": \\"asa-2zeb04oym05qaceq****\\"\\n}","type":"json"}]', ], 'ExecuteScalingRule' => [ - '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', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -20123,66 +13376,37 @@ 'systemTags' => [ 'operationType' => 'update', 'abilityTreeCode' => '125340', - 'abilityTreeNodes' => [ - 'FEATUREessKCZYL8', - ], + '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****', - ], + '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', - ], + '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', - ], + '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', - ], + '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', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'], ], ], 'responses' => [ @@ -20190,328 +13414,152 @@ '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', - ], + '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', + 'summary' => 'Executes a scaling rule. To adjust the number of Elastic Compute Service (ECS) instances or elastic container instances, you can manually execute a scaling rule or enable Auto Scaling to execute a scaling rule. You can call the ExecuteScalingRule operation to execute simple scaling rules or step scaling rules. Auto Scaling automatically executes target tracking scaling rules and predictive scaling rules on your behalf without requiring explicit execution calls.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ExecuteScalingRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp13o672yeautiil****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'ExitStandby' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '125372', - 'abilityTreeNodes' => [ - 'FEATUREessSQIS9M', - ], + 'abilityTreeCode' => '125359', + 'abilityTreeNodes' => ['FEATUREessBFHJ1B'], ], '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', - ], + '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.'."\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, + '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' => 'LifecycleHookContext', + 'name' => 'Async', 'in' => 'query', - 'style' => 'json', + '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' => [ - '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, - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + 'ScalingActivityId' => ['title' => '', 'description' => 'The ID of the scaling activity.'."\n", 'type' => 'string', 'example' => 'asa-2zeb04oym05qaceq****'], + ], + 'description' => '', + ], + ], + ], + 'title' => 'ExitStandby', + 'summary' => 'Removes an instance from the Standby state. When a scale-in event is triggered in a scaling group, Auto Scaling does not remove Elastic Compute Service (ECS) instances or elastic container instances that are in the Standby state from the scaling group. If you want to restart the instances that are in the Standby state, you can call the ExitStandby operation to remove the instances from the Standby state and put them into the In Service state.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ExitStandby', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingActivityId\\": \\"asa-2zeb04oym05qaceq****\\"\\n}","type":"json"}]', + ], + 'ListTagKeys' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREess7569XW'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ [ - 'name' => 'ActivityMetadata', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The metadata of the scaling activity.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"key":"value"}', - ], + 'schema' => ['description' => 'The region ID of the Auto Scaling resource.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ExecutionMode', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The execution mode. Valid values:'."\n" - ."\n" - .'* None: If this is not specified, auto scaling is performed.'."\n" - .'* PlanOnly: Scaling is not triggered. Only elastic planning is performed. The planning result is returned in PlanResult, including the instance type, zone ID, billing type, and number of created instances.'."\n" - ."\n" - .'Default value: None.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PlanOnly', - ], + 'schema' => ['description' => 'The type of the Auto Scaling resources. Set the value to `scalinggroup`. This means the tag key you want to query is added to a scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'scalinggroup', 'title' => ''], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists.'."\n", 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ @@ -20519,246 +13567,202 @@ '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' => '', - ], - ], - ], + 'NextToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists.'."\n", 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'DC09A6AA-2713-4E10-A2E9-E6C5C43A****', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'Keys' => [ + 'description' => 'Details of the tag keys.'."\n", + 'type' => 'array', + 'items' => ['description' => 'Details of the tag keys.'."\n", 'type' => 'string', 'example' => 'ESS', 'title' => ''], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"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', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"DC09A6AA-2713-4E10-A2E9-E6C5C43A****\\",\\n \\"PageSize\\": 10,\\n \\"Keys\\": [\\n \\"ESS\\"\\n ]\\n}","type":"json"}]', + 'title' => 'ListTagKeys', + 'summary' => 'Queries the tag keys added to Auto Scaling resources. Querying tag keys facilitates easier classification, identification, and monitoring of your Auto Scaling resources, thereby enhancing the flexibility and convenience of your resource management processes.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:ListTagKeys', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'operationType' => 'read', + ], + 'ListTagResources' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125356', - 'abilityTreeNodes' => [ - 'FEATUREessBFHJ1B', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '125324', + 'abilityTreeNodes' => ['FEATUREess7569XW'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The region ID of the resource. You can call the [DescribeRegions](~~2679950~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Entrusted', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the scaling group to manage the lifecycles of manually added instances. Valid values:'."\n" - ."\n" - .'* true: The scaling group manages the lifecycles of manually added instances and automatically created instances in the same manner. In this case, Auto Scaling releases the instances when they are removed from the scaling group. This rule does not apply to instances that are removed by calling the DetachInstances operation.'."\n" - .'* false: The scaling group does not manage the lifecycles of manually added instances. In this case, Auto Scaling does not release the instances when they are removed from the scaling group.'."\n" - ."\n" - .'> You cannot specify this parameter for subscription instances, non-Alibaba Cloud instances, and instances in Economical Mode.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The resource type. Set the value to scalinggroup.'."\n", 'type' => 'string', 'required' => true, 'example' => 'scalinggroup'], ], [ - 'name' => 'InstanceIds', + '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 ECS instances, elastic container instances, non-Alibaba Cloud instances, or instances in Economical Mode.'."\n", + 'description' => 'The IDs of the Auto Scaling resources. You can specify 1 to 50 resource IDs.'."\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****', - ], + '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' => 100, + 'maxItems' => 51, ], ], [ - 'name' => 'LoadBalancerWeights', + 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The weight of an ECS instance or elastic container instance as a backend server. You can use this parameter to specify weights for multiple instances at the same time.'."\n", + 'description' => 'Details of the tags.'."\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', + '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, - 'example' => '50', ], 'required' => false, - 'maxItems' => 100, + 'maxItems' => 21, ], ], - [ - 'name' => 'LifecycleHook', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ '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', + 'description' => 'The response that is returned.'."\n", + 'type' => 'object', + 'properties' => [ + 'NextToken' => ['description' => 'The token that determines the start point of the next query.'."\n", 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a4883'], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'DE65F6B7-7566-4802-9007-96F2494A****'], + 'TagResources' => [ + 'description' => 'An array that encompasses both the resource details and its tags, comprising elements like the resource ID, the resource type, the tag key, and the tag value.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the resource and tags, such as the resource ID, the resource type, tag keys, and tag values.'."\n", + 'type' => 'object', + 'properties' => [ + 'TagValue' => ['description' => 'The tag value of the resource.'."\n", 'type' => 'string', 'example' => 'TestValue'], + 'ResourceType' => ['description' => 'The resource type.'."\n", 'type' => 'string', 'example' => 'ALIYUN::ESS::SCALINGGROUP'], + 'ResourceId' => ['description' => 'The resource ID.'."\n", 'type' => 'string', 'example' => 'asg-bp17xb4x1vr29lgt****'], + 'TagKey' => ['description' => 'The tag key of the resource.'."\n", 'type' => 'string', 'example' => 'TestKey'], + 'Propagate' => ['description' => 'Indicates whether the tags of the scaling group can be propagated to instances. Valid values:'."\n" + ."\n" + .'* true: The tags of the scaling group can be propagated to only instances that are newly created.'."\n" + .'* false: The tags of the scaling group cannot be propagated to instances.'."\n", 'type' => 'boolean', 'example' => 'false'], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"DE65F6B7-7566-4802-9007-96F2494A****\\",\\n \\"TagResources\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"ResourceType\\": \\"ALIYUN::ESS::SCALINGGROUP\\",\\n \\"ResourceId\\": \\"asg-bp17xb4x1vr29lgt****\\",\\n \\"TagKey\\": \\"TestKey\\",\\n \\"Propagate\\": false\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListTagResources', + 'summary' => 'Queries tags. You can call the ListTagResources operation to query tags that are added to Auto Scaling resources, thereby clarifying resource utilization and facilitating efficient resource management. This operation aids in the automation of resource categorization and permission management processes.', + 'description' => '* Specify at least one of the following request parameters: `ResourceIds` and `Tags`. `Tags.Key` and `Tags.Value` are used to specify the query objects.'."\n" + .'* If you provide both `ResourceIds` and `Tags` in your request, the response will exclusively include Auto Scaling resources that satisfy the criteria set by these parameters, ensuring targeted and precise information retrieval.'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:ListTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], + ], + ], + 'ListTagValues' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREess7569XW'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The region ID of the Auto Scaling resource.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" - ."\n" - .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The type of the Auto Scaling resource. Set the value to scalinggroup. This indicates that the tag is added to a scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'scalinggroup', 'title' => ''], ], [ - 'name' => 'IgnoreInvalidInstance', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to ignore invalid instances when a batch of instances is added to the scaling group. Valid values:'."\n" - ."\n" - .'* true: ignores invalid instances. If invalid instances exist and valid instances are added, the corresponding scaling activity enters the Warning state. You can check the scaling activity details to view the invalid instances that are ignored.'."\n" - .'* false: does not ignore invalid instances. If invalid instances exist in the batch of instances that you want to add to the scaling group, an error is reported.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The token that determines the start point of the next query. If this parameter is empty, all results are returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'Key', + 'in' => 'query', + 'schema' => ['description' => 'The key of the tag.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ESS', 'title' => ''], ], ], 'responses' => [ @@ -20766,433 +13770,414 @@ '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', + 'NextToken' => ['description' => 'The token that determines the start point of the next query. If this parameter is empty, all results are returned.'."\n", 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'AB444F46-1CFF-4B06-B8F0-B45D3158****', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'Values' => [ + 'description' => 'Details of the tag values.'."\n", + 'type' => 'array', + 'items' => ['description' => 'Details of the tag values.'."\n", 'type' => 'string', 'example' => 'Doc', 'title' => ''], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"AB444F46-1CFF-4B06-B8F0-B45D3158****\\",\\n \\"PageSize\\": 10,\\n \\"Values\\": [\\n \\"Doc\\"\\n ]\\n}","type":"json"}]', + 'title' => 'ListTagValues', + 'summary' => 'Queries the tag keys associated with Auto Scaling resources to facilitate a deeper comprehension of those resources. By doing so, you can categorize and manage your Auto Scaling resources more efficiently.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:ListTagValues', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - '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", + 'operationType' => 'read', ], - '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', - ], + 'ModifyAlarm' => [ + 'summary' => 'Modifies an event-triggered task.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'riskType' => 'high', - 'chargeType' => 'free', - 'abilityTreeCode' => '125337', - 'abilityTreeNodes' => [ - 'FEATUREessDFX5TO', - ], + 'abilityTreeCode' => '125348', + 'abilityTreeNodes' => ['FEATUREessBFLAJQ'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The region ID of the event-triggered task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'RemovePolicy', + 'name' => 'AlarmTaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The action subsequent to the removal of the Elastic Compute Service (ECS) instances. Valid values:'."\n" - ."\n" - .'* recycle: The ECS instances enter the Economical Mode.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** This setting is applicable only if you set `ScalingPolicy` to `recycle`.'."\n" - ."\n" - .'* release: The ECS instances are released.'."\n" - ."\n" - .'ScalingPolicy of the CreateScalingGroup operation specifies the reclaim mode of the scaling group while RemovePolicy of the RemoveInstances operation specifies the subsequent action when an ECS instance is removed from the scaling group. Examples:'."\n" - ."\n" - .'* If you set ScalingPolicy and RemovePolicy to recycle, the ECS instances enter the Economical Mode when they are removed.'."\n" - .'* If you set ScalingPolicy to recycle and RemovePolicy to release, the ECS instances are released when they are removed.'."\n" - .'* If you set ScalingPolicy to release and RemovePolicy to recycle, the ECS instances are released when they are removed.'."\n" - .'* If you set ScalingPolicy and RemovePolicy to release, the ECS instances are released when they are removed.'."\n" - ."\n" - .'Default value: release.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'release', - ], + 'schema' => ['description' => 'The ID of the event-triggered task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', 'title' => ''], ], [ - 'name' => 'DecreaseDesiredCapacity', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to adjust the expected number of ECS instances in the scaling group. Valid values:'."\n" - ."\n" - .'* true: After ECS instances are removed from the scaling group, the expected number of ECS instances in the scaling group decreases.'."\n" - .'* false: After ECS instances are removed from the scaling group, the expected number of ECS instances in the scaling group remains unchanged.'."\n" - ."\n" - .'Default value: true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The name of the event-triggered task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'alarmtask****', 'title' => ''], ], [ - 'name' => 'IgnoreInvalidInstance', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to ignore invalid instances when you remove a batch of instances from the scaling group. Valid values:'."\n" - ."\n" - .'* true: ignores invalid instances. If invalid instances exist and valid instances are deleted, the corresponding scaling activity enters the Warning state. You can check the scaling activity details to view the invalid instances that are ignored.'."\n" - .'* false: does not ignore invalid instances. If invalid instances exist in the batch of instances that you want to remove from the scaling group, an error is reported.'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The description of the event-triggered task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Test alarm task.', 'title' => ''], ], [ - 'name' => 'InstanceIds', + 'name' => 'MetricName', '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, - ], + 'schema' => ['description' => 'The name of the metric. The valid values vary based on the metric type.'."\n" + ."\n" + .'* If you set the MetricType parameter to custom, the valid values are your custom metrics.'."\n" + ."\n" + .'* If you set the MetricType parameter to system, the MetricName parameter has the following valid values:'."\n" + ."\n" + .' * CpuUtilization: the CPU utilization of an ECS instance. Unit: %.'."\n" + .' * IntranetTx: the outbound traffic over the internal network from an ECS instance. Unit: KB/min.'."\n" + .' * IntranetRx: the inbound traffic over the Internet to an ECS instance that resides in a virtual private cloud (VPC). Unit: KB/min.'."\n" + .' * VpcInternetTx: the outbound traffic over the Internet from an ECS instance that resides in a VPC. Unit: KB/min.'."\n" + .' * VpcInternetRx: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.'."\n" + .' * SystemDiskReadBps: the number of bytes read from the system disk used by an ECS instance per second.'."\n" + .' * SystemDiskWriteBps: the number of bytes written to the system disk used by an ECS instance per second.'."\n" + .' * SystemDiskReadOps: the number of read operations on the system disk used by an ECS instance per second.'."\n" + .' * SystemDiskWriteOps: the number of write operations on the system disk used by an ECS instance per second.'."\n" + .' * CpuUtilizationAgent: the CPU utilization of an agent. Unit: %.'."\n" + .' * GpuMemoryFreeUtilizationAgent: the percentage of idle GPU memory of an agent.'."\n" + .' * GpuMemoryUtilizationAgent: the GPU memory usage of an agent. Unit: %.'."\n" + .' * MemoryUtilization: the memory usage of an agent. Unit: %.'."\n" + .' * LoadAverage: the average system load of an agent.'."\n" + .' * TcpConnection: the total number of TCP connections of an agent.'."\n" + .' * TcpConnection: the number of established TCP connections of an agent.'."\n" + .' * PackagesNetOut: the number of packets that are sent by the internal network interface controller (NIC) used by an agent.'."\n" + .' * PackagesNetIn: the number of packets that are received by the internal NIC used by an agent.'."\n" + .' * EciPodCpuUtilization: the CPU utilization of an elastic container instance. Unit: %.'."\n" + .' * EciPodMemoryUtilization: the memory usage of an elastic container instance. Unit: %.'."\n" + ."\n" + .'For more information, see [Event-triggered task for system monitoring](~~74854~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'MemoryUtilization', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'MetricType', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The metric type. Valid Values:'."\n" + ."\n" + .'* system: a system metric of CloudMonitor.'."\n" + .'* custom: a custom metric that is reported to CloudMonitor.'."\n", 'type' => 'string', 'required' => false, 'default' => 'system', 'example' => 'system', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'Period', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The period of time during which statistics about the metric is collected. Unit: seconds. Valid values:'."\n" + ."\n" + .'* 15'."\n" + .'* 60'."\n" + .'* 120'."\n" + .'* 300'."\n" + .'* 900'."\n" + ."\n" + .'> If your scaling group is of the ECS type and uses CloudMonitor metrics, you can set the Period parameter to 15. In other cases, you can set the Period parameter to 60, 120, 300, or 900. In most cases, the name of a CloudMonitor metric contains Agent.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'title' => ''], ], [ - 'name' => 'StopInstanceTimeout', + 'name' => 'Statistics', 'in' => 'query', - 'schema' => [ - 'description' => 'The period of time required by the ECS instance to enter the Stopped state. Unit: seconds. Valid values: 30 to 240.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* By default, this parameter inherits the value of StopInstanceTimeout specified in the CreateScalingGroup or ModifyScalingGroup operation. You can also specify a different value for this parameter in the RemoveInstances operation.'."\n" - ."\n" - .'* This parameter takes effect only if you set RemovePolicy to release.'."\n" - ."\n" - .'* If you specify this parameter, the system waits for the ECS instance to enter the Stopped state only for up to the specified period of time before continuing with the scale-in operation, regardless of the status of the ECS instance.'."\n" - ."\n" - .'* If you do not specify this parameter, the system continues with the scale-in operation until the ECS instance enters the Stopped state. If the ECS instance is not successfully stopped, the scale-in process is rolled back and considered failed.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], + 'schema' => ['description' => 'The method that is used to aggregate statistics for the metric. Valid values:'."\n" + ."\n" + .'* Average'."\n" + .'* Minimum'."\n" + .'* Maximum'."\n", 'type' => 'string', 'required' => false, 'example' => 'Average', 'title' => ''], ], [ - 'name' => 'LifecycleHookContext', + 'name' => 'Threshold', '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' => '', - ], + 'schema' => ['description' => 'The thresholds of the metric values in the multi-metric alert rule. If the thresholds are reached the specified number of times within the specified period, a scaling rule is executed.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '80', 'title' => ''], ], - ], - 'errorCodes' => [ - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', - ], + [ + 'name' => 'ComparisonOperator', + 'in' => 'query', + 'schema' => ['description' => 'The operator that is used to compare the metric value and the threshold. Valid values:'."\n" + ."\n" + .'* If the metric value is greater than or equal to the threshold, set the value to `>=`.'."\n" + .'* If the metric value is less than or equal to the threshold, set the value to `<=`.'."\n" + .'* If the metric value is greater than the threshold, set the value to `>`.'."\n" + .'* If the metric value is less than the threshold, set the value to `<`.'."\n", 'type' => 'string', 'required' => false, 'example' => '>=', 'title' => ''], ], - ], - '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' => [], + 'name' => 'EvaluationCount', + 'in' => 'query', + 'schema' => ['description' => 'The number of times that the threshold must be reached before a scaling rule can be executed. For example, if you set this parameter to 3, the average CPU utilization must reach or exceed 80% three times in a row before a scaling rule is triggered.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125382', - 'abilityTreeNodes' => [ - 'FEATUREessDFX5TO', + [ + 'name' => 'GroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the application group to which the custom metric belongs. If you set the MetricType parameter to custom, you must specify this parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4055401', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'Effective', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + 'schema' => ['description' => 'The effective period of the event-triggered task.'."\n" + ."\n" + .'This parameter follows the cron expression format. The default format is `X X X X X ?`, in which:'."\n" + ."\n" + .'* X: a placeholder for a field, which represents seconds, minutes, hours, days, and months in sequence. X can be a definite value or a special character that has logical meaning. For information about the valid values of X, see [Cron expression](~~25907~~).'."\n" + .'* ?: No value is specified.'."\n" + ."\n" + .'> By default, the value of this parameter is specified in **UTC+8**. You can specify the time zone in the `TZ=+yy` format before a cron expression. y indicates the time zone. For example, `TZ=+00 * * 1-2 * * ?` specifies that the event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.'."\n" + ."\n" + .'Examples:'."\n" + ."\n" + .'* ` * * * * * ? `: The event-triggered task is in effect all the time.'."\n" + .'* ` * * 17-18 * * ? `: The event-triggered task is in effect between 17:00 and 18:59 (UTC+8) every day.'."\n" + .'* `TZ=+00 * * 1-2 * * ?`: The event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TZ=+00 * * 1-2 * * ?', 'title' => ''], ], [ - 'name' => 'DecreaseDesiredCapacity', + 'name' => 'AlarmActions', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ari:acs:ess:cn-hangzhou:140692647****:scalingrule/asr-bp163l21e07uhn****', 'title' => ''], 'required' => false, - 'example' => 'true', + 'maxItems' => 5, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'DetachOption', + 'name' => 'Dimensions', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The metric dimensions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The dimension of the metric.'."\n", + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => ['description' => 'The key of dimension N that you want to associate with the metric. The valid values of Dimension.N.DimensionKey vary based on the value of MetricType.'."\n" + ."\n" + .'* If you set MetricType to custom, you can specify this parameter based on your business requirements.'."\n" + ."\n" + .'* If you set MetricType to system, this parameter has the following valid values:'."\n" + ."\n" + .' * user_id: the ID of your Alibaba Cloud account.'."\n" + .' * scaling_group: the scaling group that is monitored by the event-triggered task.'."\n" + .' * device: the NIC type.'."\n" + .' * state: the status of the TCP connection.'."\n" + .' * rulePool: the specified server group for the ALB qps metric.'."\n", 'type' => 'string', 'required' => false, 'example' => 'device', 'title' => ''], + 'DimensionValue' => ['description' => 'The dimension value of the metric. The valid values of this parameter vary based on the value of Dimensions.DimensionKey.'."\n" + ."\n" + .'* If you set MetricType to custom, you can specify this parameter based on your business requirements.'."\n" + ."\n" + .'* If you set MetricType to system, Dimension.N.DimensionValue has the following valid values:'."\n" + ."\n" + .' * user_id: The system specifies the value.'."\n" + ."\n" + .' * scaling_group: The system specifies the value.'."\n" + ."\n" + .' * device:'."\n" + ."\n" + .' * eth0: For classic network instances, eth0 indicates the internal network network interface controller. Only one eth0 NIC exists on each instance that resides in VPCs.'."\n" + .' * eth1: For classic network instances, eth1 represents the Internet network interface controller.'."\n" + ."\n" + .' * state:'."\n" + ."\n" + .' * TCP_TOTAL specifies the total number of TCP connections.'."\n" + .' * ESTABLISHED specifies the number of TCP connections that are established.'."\n", 'type' => 'string', 'required' => false, 'example' => 'eth0', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'both', + 'maxItems' => 5, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'InstanceIds', + 'name' => 'Expressions', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the ECS instances, elastic container instances, or Aliababa Cloud-managed third-party instances that you want to remove from a scaling group.'."\n", + 'description' => 'The expressions that are specified in the multi-metric alert rule.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'The ID of the ECS instance, elastic container instance, or Aliababa Cloud-managed third-party instance that you want to remove from a scaling group.'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* ECS instance: `i-bp109k5j3dum1ce6****`'."\n" - .'* Elastic container instance: `eci-bp17gw49eu09yiwm****`'."\n" - .'* Alibaba Cloud-hosted third-party instance: `mi-d23fsd******`'."\n" - ."\n" - .'> You can remove only one type of instances at a time.'."\n", - 'type' => 'string', + 'description' => 'The expressions that are specified in the multi-metric alert rule.'."\n", + 'type' => 'object', + 'properties' => [ + 'MetricName' => ['description' => 'The name of the metric that is specified in the multi-metric alert rule. The valid values vary based on the metric type.'."\n" + ."\n" + .'* If you set the MetricType parameter to custom, the valid values are your custom metrics.'."\n" + ."\n" + .'* If you set the MetricType parameter to system, the MetricName parameter has the following valid values:'."\n" + ."\n" + .' * CpuUtilization: the CPU utilization of an ECS instance. Unit: %.'."\n" + .' * IntranetTx: the outbound traffic over the internal network from an ECS instance. Unit: KB/min.'."\n" + .' * IntranetRx: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.'."\n" + .' * VpcInternetTx: the outbound traffic over the Internet from an ECS instance that resides in a VPC. Unit: KB/min.'."\n" + .' * VpcInternetRx: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.'."\n" + .' * SystemDiskReadBps: the number of bytes read from the system disk used by an ECS instance per second.'."\n" + .' * SystemDiskWriteBps: the number of bytes written to the system disk used by an ECS instance per second.'."\n" + .' * SystemDiskReadOps: the number of read operations on the system disk used by an ECS instance per second.'."\n" + .' * SystemDiskWriteOps: the number of write operations on the system disk used by an ECS instance per second.'."\n" + .' * CpuUtilizationAgent: the CPU utilization of an agent. Unit: %.'."\n" + .' * GpuUtilizationAgent: the GPU utilization of an agent. Unit: %.'."\n" + .' * GpuMemoryFreeUtilizationAgent: the percentage of idle GPU memory of an agent.'."\n" + .' * GpuMemoryUtilizationAgent: the GPU memory usage of an agent. Unit: %.'."\n" + .' * MemoryUtilization: the memory usage of an agent. Unit: %.'."\n" + .' * LoadAverage: the average system load of an agent.'."\n" + .' * TcpConnection: the total number of TCP connections of an agent.'."\n" + .' * TcpConnection: the number of established TCP connections of an agent.'."\n" + .' * PackagesNetOut: the number of packets that are sent by the internal NIC used by an agent.'."\n" + .' * PackagesNetIn: the number of packets that are received by the internal NIC used by an agent.'."\n" + .' * EciPodCpuUtilization: the CPU utilization of an elastic container instance. Unit: %.'."\n" + .' * EciPodMemoryUtilization: the memory usage of an elastic container instance. Unit: %.'."\n" + ."\n" + .'For more information, see [Event-triggered task for system monitoring](~~74854~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'CpuUtilization', 'title' => ''], + 'ComparisonOperator' => ['description' => 'The operator that is used to compare the metric value and the threshold. Valid values:'."\n" + ."\n" + .'* If the metric value is greater than or equal to the threshold, set the value to `>=`.'."\n" + .'* If the metric value is less than or equal to the threshold, set the value to `<=`.'."\n" + .'* If the metric value is greater than the threshold, set the value to `>`.'."\n" + .'* If the metric value is less than the threshold, set the value to `<`.'."\n" + ."\n" + .'Default value: >=.'."\n", 'type' => 'string', 'required' => false, 'example' => '>=', 'title' => ''], + 'Period' => ['description' => 'The period of time during which statistics about the metrics in the multi-metric alert rule is collected. Unit: seconds. Valid values:'."\n" + ."\n" + .'* 15'."\n" + .'* 60'."\n" + .'* 120'."\n" + .'* 300'."\n" + .'* 900'."\n" + ."\n" + .'> If your scaling group is of the ECS type and the event-triggered task associated with your scaling group monitors CloudMonitor metrics, you can set the Period parameter to 15. In other cases, you can set the Period parameter to 60, 120, 300, or 900. In most cases, the name of a CloudMonitor metric contains Agent.'."\n" + ."\n" + .'Default value: 300.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'title' => ''], + 'Statistics' => ['description' => 'The method that is used to aggregate statistics about the metrics that are specified in the multi-metric alert rule. Valid values:'."\n" + ."\n" + .'* Average'."\n" + .'* Minimum'."\n" + .'* Maximum'."\n", 'type' => 'string', 'required' => false, 'example' => 'Average', 'title' => ''], + 'Threshold' => ['description' => 'The thresholds of the metric values in the multi-metric alert rule. If the thresholds are reached the specified number of times within the specified period, a scaling rule is executed.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '40.0', 'title' => ''], + ], 'required' => false, - 'example' => 'i-bp109k5j3dum1ce6****', + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'ExpressionsLogicOperator', + 'in' => 'query', + 'schema' => ['description' => 'The relationship between the trigger conditions in the multi-metric alert rule. Valid values:'."\n" + ."\n" + .'* `&&`: An alert is triggered only if all metrics in the multi-metric alert rule meet the trigger conditions. In this case, an alert is triggered only if the results of all trigger conditions that are specified in the multi-metric alert rule are `true`.'."\n" + .'* `||`: An alert is triggered if one of the metrics in the multi-metric alert rule meets the trigger condition.'."\n" + ."\n" + .'Default value: `&&`.', 'type' => 'string', 'required' => false, 'example' => '&&', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'AlarmTaskId' => ['description' => 'The ID of the event-triggered task.'."\n", 'type' => 'string', 'example' => 'asg-bp1hvbnmkl10vll5****_83948190-acdd-483f-98f7-b77f4778****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'BACACF83-7070-4953-A8FD-D81F89F1****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'title' => 'ModifyAlarm', + 'description' => '- 如果您创建自定义监控类型的报警任务(MetricType=custom),您需要先将自定义监控项指标上报到云监控。具体操作,请参见[自定义监控报警任务](~~74861~~)。'."\n" + .'- 创建报警任务时,您需要指定监控项(MetricName),并配合维度信息(Dimension.N.DimensionKey和Dimension.N.DimensionValue),来确定伸缩组中该监控项数据的聚合范围。例如,指定user_id和scaling_group来确定聚合该用户、该伸缩组下所有ECS实例或ECI实例的监控项数据。'."\n" + .' - 自定义监控报警任务(MetricType=custom)的监控项取决于您自有的监控指标。'."\n" + .' - 系统监控报警任务(MetricType=system)支持的监控项的更多信息,请参见[系统监控报警任务](~~74854~~)。'."\n" + ."\n\n" + .'> 维度信息中,user_id和scaling_group由系统自动填充,device、state需要您手动指定。更多信息,请参见参数`Dimension.N.DimensionKey`和`Dimension.N.DimensionValue`。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => true, - 'maxItems' => 100, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_83948190-acdd-483f-98f7-b77f4778****\\",\\n \\"RequestId\\": \\"BACACF83-7070-4953-A8FD-D81F89F1****\\"\\n}","type":"json"}]', + ], + 'ModifyAlertConfiguration' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'LifecycleHook', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '208812', + 'abilityTreeNodes' => ['FEATUREess6E26FJ', 'FEATUREessLTO4TI'], + ], + 'parameters' => [ + [ + 'name' => 'ScalingGroupId', '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', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1eyv4qn8ssgv43****'], ], [ - 'name' => 'IgnoreInvalidInstance', + 'name' => 'ScaleStatuses', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to ignore invalid instances when you remove a batch of instances from the scaling group. Valid values:'."\n" + '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" - .'* 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" + .'* ScaleSuccessful: The scaling activity is successful.'."\n" + .'* ScaleRejected: The scaling activity is rejected.'."\n" + .'* ScaleFailed: The scaling activity failed.'."\n" ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', + .'> If you do not specify this parameter when you call this operation, notifications will be canceled.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ScaleSuccessful'], 'required' => false, - 'example' => 'false', + 'maxItems' => 10, ], ], [ - 'name' => 'ClientToken', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" - ."\n" - .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ @@ -21200,881 +14185,1038 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'example' => 'asa-bp1gbswjhjrw8tko****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '73469C7-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 \\"RequestId\\": \\"73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'ModifyAlertConfiguration', + 'summary' => 'Sets the status of scaling activities that prompt text message or email notifications.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyAlertConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], ], - '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', - ], + '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' => [], ], ], - 'deprecated' => false, + 'operationType' => 'readAndWrite', 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '125330', - 'abilityTreeNodes' => [ - 'FEATUREess30IPAO', - ], + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125345', + 'abilityTreeNodes' => ['FEATUREessT4M3WE'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ScalingConfigurationId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scheduled task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The ID of the scaling configuration that you want to modify.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asc-bp16har3jpj6fjbx****', 'title' => ''], ], [ - 'name' => 'ScheduledTaskName', + 'name' => 'ScalingConfigurationName', '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****', - ], + 'schema' => ['description' => 'The name of the scaling configuration. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter or a digit.'."\n" + ."\n" + .'The name of a scaling configuration must be unique in the specified region. If you do not specify this parameter, the value of ScalingConfigurationId is used.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'test-modify', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the scheduled task. The description must be 2 to 200 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test scheduled task.', - ], + 'schema' => ['description' => '> This parameter is unavailable for use.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'desc', 'title' => ''], ], [ - 'name' => 'ScheduledAction', + 'name' => 'SecurityGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The scaling rule that you want to execute when the scheduled task is triggered. Specify the unique identifier of the scaling rule.'."\n" - ."\n" - .'If you specify `ScheduledAction`, the scheduled task uses an existing scaling rule. You cannot specify `ScheduledAction` and `ScalingGroupId` at the same time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ari:acs:ess:cn-hangzhou:140692647****:scalingrule/asr-bp12tcnol686y1ik****', - ], + 'schema' => ['description' => 'The ID of the security group to which elastic container instances belong. Elastic container instances that belong to the same security group can communicate with each other.'."\n" + ."\n" + .'If you do not specify a security group, the system uses the default security group in the region that you selected. Make sure that the inbound rules of the security group contain the protocols and port numbers of the containers that you want to expose. If you do not have a default security group in the region, the system creates a default security group and then adds the container protocols and port numbers that you specified to the inbound rules of the security group.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'sg-uf66jeqopgqa9hdn****', 'title' => ''], ], [ - 'name' => 'RecurrenceEndTime', + 'name' => 'ContainerGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The end time of the scheduled task. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mmZ format.'."\n" - ."\n" - .'The time must be in UTC. You cannot enter a point in time that is later than 365 days from the point in time at which the scheduled task is created.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2014-08-17T16:55Z', - ], + 'schema' => ['description' => 'The name series of elastic container instances. Naming conventions:'."\n" + ."\n" + .'* The name must be 2 to 128 characters in length.'."\n" + .'* The name can contain only lowercase letters, digits, and hyphens (-). It cannot start or end with a hyphen (-).'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'nginx-test', 'title' => ''], ], [ - 'name' => 'LaunchTime', + 'name' => 'RestartPolicy', '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', - ], + 'schema' => ['description' => 'The instance restart policy. Valid values:'."\n" + ."\n" + .'* Always: always restarts elastic container instances.'."\n" + .'* Never: never restarts elastic container instances.'."\n" + .'* OnFailure: restarts elastic container instances upon failures.'."\n" + ."\n" + .'Default value: Always.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], ], [ - 'name' => 'RecurrenceType', + 'name' => 'Cpu', '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', - ], + 'schema' => ['description' => 'The number of vCPUs per elastic container instance.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], ], [ - 'name' => 'RecurrenceValue', + 'name' => 'Memory', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of recurrences of the scheduled task.'."\n" - ."\n" - .'* If you set the `RecurrenceType` parameter to `Daily`, you can specify only one value for this parameter. Valid values: 1 to 31.'."\n" - .'* If you set the `RecurrenceType` parameter to `Weekly`, you can specify multiple values for this parameter. Separate the values with commas (,). The values that correspond to Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday are 0, 1, 2, 3, 4, 5, and 6.``'."\n" - .'* If you set the `RecurrenceType` parameter to `Monthly`, you can specify two values in the `A-B` format for this parameter. Valid values of A and B: 1 to 31. B must be greater than or equal to A.'."\n" - .'* If you set the `RecurrenceType` parameter to `Cron`, you can specify a cron expression. A cron expression is written in UTC time and consists of the following fields: minute, hour, day, month, and week. The expression can contain the letters L and W and the following wildcard characters: commas (,), question marks (?), hyphens (-), asterisks (\\*), number signs (#), and forward slashes (/).'."\n" - ."\n" - .'You must specify both the `RecurrenceType` parameter and the `RecurrenceValue` parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The memory size per elastic container instance. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2.0', 'title' => ''], ], [ - 'name' => 'TaskEnabled', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the scheduled task.'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-uf66jeqopgqa9hdn****', 'title' => ''], ], [ - 'name' => 'LaunchExpirationTime', + 'name' => 'DnsPolicy', 'in' => 'query', - 'schema' => [ - 'description' => 'The time period during which the failed scheduled task can be retried. Unit: seconds. Valid values: 0 to 1800.'."\n" - ."\n" - .'Default value: 600.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '86400', - 'minimum' => '0', - 'example' => '600', - 'default' => '600', - ], + 'schema' => ['description' => 'The Domain Name System (DNS) policy. Valid values:'."\n" + ."\n" + .'* None: uses the DNS that is specified by DnsConfig.'."\n" + .'* Default: uses the DNS that is specified for the runtime environment.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Default', 'title' => ''], ], [ - 'name' => 'MinValue', + 'name' => 'EnableSls', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => '> This parameter is not available for use.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'MaxValue', + 'name' => 'ImageSnapshotId', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The ID of the image cache.'."\n", 'type' => 'string', 'required' => false, 'example' => 'imc-2zebxkiifuyzzlhl****', 'title' => ''], ], [ - 'name' => 'DesiredCapacity', + 'name' => 'RamRoleName', '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', - ], + 'schema' => ['description' => 'The name of the instance Resource Access Management (RAM) role. You can use the same RAM role to access elastic container instances and Elastic Compute Service (ECS) instances. For more information, see [Use an instance RAM role by calling API operations](~~61178~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'RamTestRole', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'TerminationGracePeriodSeconds', '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****', - ], + 'schema' => ['description' => 'The buffer period during which the program handles operations before the program is stopped. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '60', 'title' => ''], ], - ], - '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' => '', - ], + [ + 'name' => 'AutoMatchImageCache', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to automatically match image caches.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - ], - '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' => [], + 'name' => 'Ipv6AddressCount', + 'in' => 'query', + 'schema' => ['description' => 'The number of IPv6 addresses.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125370', - 'abilityTreeNodes' => [ - 'FEATUREessAWW1X1', + [ + 'name' => 'ActiveDeadlineSeconds', + 'in' => 'query', + 'schema' => ['description' => 'The validity period of the scaling configuration. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScheduledTaskId', + 'name' => 'SpotStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scheduled task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'edRtShc57WGXdt8TlPbr****', - ], + 'schema' => ['description' => 'The instance bidding policy. Valid values:'."\n" + ."\n" + .'* NoSpot: The instances are created as pay-as-you-go instances.'."\n" + .'* SpotWithPriceLimit: The instances are preemptible instances for which you can specify the maximum hourly price.'."\n" + .'* SpotAsPriceGo: The instances are created as preemptible instances for which the market price at the time of purchase is used as the bid price.'."\n" + ."\n" + .'Default value: NoSpot.'."\n", 'type' => 'string', 'required' => false, 'example' => 'SpotPriceLimit', 'title' => ''], ], [ - 'name' => 'ScheduledTaskName', + 'name' => 'SpotPriceLimit', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the scheduled task. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter or a digit. The name of the scheduled task must be unique in the region and within the Alibaba Cloud account.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scheduled****', - ], + 'schema' => ['description' => 'The maximum hourly price of preemptible elastic container instances. The value can be accurate to three decimal places.'."\n" + ."\n" + .'If you set SpotStrategy to SpotWithPriceLimit, you must specify SpotPriceLimit.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.025', 'title' => ''], ], [ - 'name' => 'Description', + 'name' => 'AutoCreateEip', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the scheduled task. The description must be 2 to 200 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test scheduled task.', - ], + 'schema' => ['description' => 'Specifies whether to automatically create elastic IP addresses (EIPs) and bind the EIPs to elastic container instances.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'EipBandwidth', + 'in' => 'query', + 'schema' => ['description' => 'The EIP bandwidth.'."\n" + ."\n" + .'Default value: 5. Unit: Mbit/s.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000000', 'minimum' => '0', 'example' => '5', 'title' => ''], + ], + [ + 'name' => 'HostName', + 'in' => 'query', + 'schema' => ['description' => 'The hostname series of elastic container instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + ], + [ + 'name' => 'IngressBandwidth', + 'in' => 'query', + 'schema' => ['description' => 'The maximum inbound bandwidth. Unit: bit/s.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '1024000', 'title' => ''], + ], + [ + 'name' => 'EgressBandwidth', + 'in' => 'query', + 'schema' => ['description' => 'The maximum outbound bandwidth. Unit: bit/s.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '1024000', 'title' => ''], + ], + [ + 'name' => 'CpuOptionsCore', + 'in' => 'query', + 'schema' => ['description' => 'The number of physical CPU cores. You can specify this parameter for only specific ECS instance types. For more information, see [Specify CPU options](~~197781~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '0', 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'CpuOptionsThreadsPerCore', + 'in' => 'query', + 'schema' => ['description' => 'The number of threads per core. You can specify this parameter for only specific instance types. A value of 1 specifies that Hyper-Threading is disabled. For more information, see [Specify CPU options](~~197781~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'EphemeralStorage', + 'in' => 'query', + 'schema' => ['description' => 'The size of the temporary storage space. By default, an Enterprise SSD (ESSD) of the PL1 type is used. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5000', 'minimum' => '0', 'example' => '20', 'title' => ''], + ], + [ + 'name' => 'LoadBalancerWeight', + 'in' => 'query', + 'schema' => ['description' => 'The load balancing weight of each backend server. Valid values: 1 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], ], [ - 'name' => 'ScheduledAction', + 'name' => 'Tags', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key.'."\n", 'type' => 'string', 'required' => false, 'example' => 'version', 'title' => ''], + 'Value' => ['description' => 'The tag value.'."\n", 'type' => 'string', 'required' => false, 'example' => '3', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'ari:acs:ess:cn-hangzhou:14069264****:scalingrule/asr-bp12tcnol686y1ik****', + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'RecurrenceEndTime', + 'name' => 'ImageRegistryCredentials', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The image repositories.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The image repository.'."\n", + 'type' => 'object', + 'properties' => [ + 'Password' => ['description' => 'The password of the image repository.'."\n", 'type' => 'string', 'required' => false, 'example' => 'yourpaasword', 'title' => ''], + 'Server' => ['description' => 'The address of the image repository.'."\n", 'type' => 'string', 'required' => false, 'example' => 'registry-vpc.cn-shanghai.aliyuncs.com', 'title' => ''], + 'UserName' => ['description' => 'The username of the image repository.'."\n", 'type' => 'string', 'required' => false, 'example' => 'yourusername', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '2014-08-20T16:55Z', + 'maxItems' => 11, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'LaunchTime', + 'name' => 'Containers', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The containers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The container.'."\n", + 'type' => 'object', + 'properties' => [ + 'ReadinessProbe.TimeoutSeconds' => ['description' => 'The timeout limit for a readiness probe to be complete. Unit: seconds. Default value: 1. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'ReadinessProbe.SuccessThreshold' => ['description' => 'The minimum number of consecutive successes that must occur for a failed readiness probe to be considered successful. Default value: 1. Set the value to 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'SecurityContext.Capability.Adds' => [ + 'description' => 'The permissions that you want to grant to the processes in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" + ."\n" + .'> To use NET_RAW, submit a ticket.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The permissions that you want to grant to the process in the container. Valid values: NET_ADMIN and NET_RAW.'."\n" + ."\n" + .'> To use NET_RAW, submit a ticket.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NET_RAW', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + 'ReadinessProbe.TcpSocket.Port' => ['description' => 'The port detected by the TCP socket when you perform a readiness probe.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8000', 'title' => ''], + 'ReadinessProbe.HttpGet.Scheme' => ['description' => 'The protocol type of the HTTP GET request that you use to perform a readiness probe. Valid values:'."\n" + ."\n" + .'* HTTP'."\n" + .'* HTTPS'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'LivenessProbe.PeriodSeconds' => ['description' => 'The interval between consecutive liveness probes. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], + 'Ports' => [ + 'description' => 'The ports.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The port.'."\n", + 'type' => 'object', + 'properties' => [ + 'Protocol' => ['description' => 'The protocol type. Valid values:'."\n" + ."\n" + .'* TCP'."\n" + .'* UDP'."\n", 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''], + 'Port' => ['description' => 'The port number. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'SecurityContext.ReadOnlyRootFilesystem' => ['description' => 'Specifies whether the root file system is read-only. Set the value to true.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'EnvironmentVars' => [ + 'description' => 'The environment variables.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The environment variable.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable. The name can be 1 to 128 characters in length, and can contain letters, underscores (\\_), and digits. The name cannot start with a digit. Specify the value in the `[0-9a-zA-Z]` format.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PATH', 'title' => ''], + 'Value' => ['description' => 'The value of the environment variable. The value can be up to 256 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/local/bin '."\n", 'title' => ''], + 'FieldRef.FieldPath' => ['description' => '> This parameter is unavailable.'."\n", 'type' => 'string', 'required' => false, 'example' => 'path', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 301, + 'title' => '', + 'example' => '', + ], + 'LivenessProbe.TcpSocket.Port' => ['description' => 'The port detected by the TCP socket when you perform a liveness probe.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'Tty' => ['description' => 'Specifies whether to enable Interaction. Default value: false.'."\n" + ."\n" + .'If the command is a /bin/bash command, set this parameter to true.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'WorkingDir' => ['description' => 'The working directory of the container.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/local/ '."\n", 'title' => ''], + 'LivenessProbe.HttpGet.Scheme' => ['description' => 'The protocol type of the HTTP GET request that you use to perform a liveness probe. Valid values:'."\n" + ."\n" + .'* HTTP'."\n" + .'* HTTPS'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'ReadinessProbe.HttpGet.Port' => ['description' => 'The port over which you want to send the HTTP GET request to perform a readiness probe.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8080', 'title' => ''], + 'Args' => [ + 'description' => 'The container startup arguments. You can specify up to 10 arguments.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The container startup argument. You can specify up to 10 arguments.'."\n", 'type' => 'string', 'required' => false, 'example' => '100', 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'Gpu' => ['description' => 'The number of GPUs per container.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'ReadinessProbe.InitialDelaySeconds' => ['description' => 'The interval between the launch of the container and the onset of a readiness probe. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'Stdin' => ['description' => 'Specifies whether the container allocates buffer resources to standard input streams during its active runtime. If you do not specify this parameter, an end-of-file (EOF) error occurs when standard input streams in the container are read.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Memory' => ['description' => 'The memory size per container. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''], + 'Name' => ['description' => 'The name of the container image.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nginx', 'title' => ''], + 'Image' => ['description' => 'The container image.'."\n", 'type' => 'string', 'required' => false, 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', 'title' => ''], + 'LivenessProbe.InitialDelaySeconds' => ['description' => 'The interval between the launch of the container and the onset of a liveness probe. Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], + 'VolumeMounts' => [ + 'description' => 'The volume mounts of the container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The volume mount of the container.'."\n", + 'type' => 'object', + 'properties' => [ + 'MountPropagation' => ['description' => 'The mount propagation settings of the volume. Mount propagation enables volumes mounted on one container to be shared among other containers within the same pod or across distinct pods residing on the same node. Valid values:'."\n" + ."\n" + .'* None: Subsequent mounts executed on the volume or its subdirectories do not propagate to the volume.'."\n" + .'* HostToCotainer: Subsequent mounts executed on the volume or its subdirectories propagate to the volume.'."\n" + .'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed on the volume or its subdirectories propagate to the volume. In addition, volume mounts executed on the container propagate back to the underlying instance and to all containers across every pod that uses the same volume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'None', 'title' => ''], + 'MountPath' => ['description' => 'The directory within the container onto which you want to mount the volume.'."\n" + ."\n" + .'> The information stored within this directory is overwritten by the data on the mounted volume. Exercise caution when you specify this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => '/pod/data '."\n", 'title' => ''], + 'ReadOnly' => ['description' => 'Specifies whether the volume is read-only.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Name' => ['description' => 'The volume name. The value of this parameter is the same as the name of the volume that is mounted to containers.'."\n", 'type' => 'string', 'required' => false, 'example' => 'default-volume1 '."\n", 'title' => ''], + 'SubPath' => ['description' => 'The volume subdirectory.'."\n", 'type' => 'string', 'required' => false, 'example' => 'data2/ '."\n", 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'LivenessProbe.FailureThreshold' => ['description' => 'The minimum number of consecutive failures that must occur for a liveness probe to be considered failed.'."\n" + ."\n" + .'Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'ReadinessProbe.Exec.Commands' => [ + 'description' => 'The commands executed in the container when using the command line to perform the health check.', + 'type' => 'array', + 'items' => ['description' => 'The command.', 'type' => 'string', 'required' => false, 'example' => 'cat/tmp/healthy', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + 'ReadinessProbe.FailureThreshold' => ['description' => 'The minimum number of consecutive failures that must occur for a readiness probe to be considered failed.'."\n" + ."\n" + .'Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'ImagePullPolicy' => ['description' => 'The image pulling policy. Valid values:'."\n" + ."\n" + .'* Always: Image pulling is performed each time instances are created.'."\n" + .'* IfNotPresent: Image pulling is performed as needed. On-premises images are preferentially used. If no on-premises images are available, image pulling is performed.'."\n" + .'* Never: On-premises images are always used. Image pulling is not performed.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], + 'StdinOnce' => ['description' => 'Specifies whether standard input streams remain connected during multiple sessions when StdinOnce is set to true.'."\n" + ."\n" + .'If you set StdinOnce to true, standard input streams are connected after the container is started, and remain idle until a client is connected to receive data. After the client is disconnected, streams are also disconnected and remain disconnected until the container is restarted.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'Cpu' => ['description' => 'The number of vCPUs per container.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.25 '."\n", 'title' => ''], + 'LivenessProbe.HttpGet.Port' => ['description' => 'The port over which you want to send the HTTP GET request to perform a liveness probe.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8888', 'title' => ''], + 'LivenessProbe.HttpGet.Path' => ['description' => 'The path to which you want to send the HTTP GET request to perform a liveness probe.'."\n", 'type' => 'string', 'required' => false, 'example' => '/healthyz '."\n", 'title' => ''], + 'LivenessProbe.SuccessThreshold' => ['description' => 'The minimum number of consecutive successes that must occur to consider a failed liveness probe successful. Default value: 1. Set the value to 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'ReadinessProbe.PeriodSeconds' => ['description' => 'The interval between consecutive readiness probes. Unit: seconds. Default value: 10. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + 'LivenessProbe.TimeoutSeconds' => ['description' => 'The timeout limit for a liveness probe to be complete. Unit: seconds. Default value: 1. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'Commands' => [ + 'description' => 'The commands that you can run in the container when you use the CLI to perform a liveness probe.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The command that you can run in the container when you use the CLI to perform a liveness probe.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sleep', 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'SecurityContext.RunAsUser' => ['description' => 'The ID of the user that runs the container.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000', 'title' => ''], + 'ReadinessProbe.HttpGet.Path' => ['description' => 'The path to which you want to send the HTTP GET request to perform a readiness probe.'."\n", 'type' => 'string', 'required' => false, 'example' => '/healthz '."\n", 'title' => ''], + 'LivenessProbe.Exec.Commands' => [ + 'description' => 'The command executed in the container when using the command line to perform the health check.', + 'type' => 'array', + 'items' => ['description' => 'The command.', 'type' => 'string', 'required' => false, 'example' => 'cat/tmp/healthy', 'title' => ''], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', + ], + 'LifecyclePostStartHandlerHttpGetHost' => ['description' => 'The IP address of the host to which you want to send the HTTP GET request to configure the postStart callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetPort' => ['description' => 'The port over which you want to send the HTTP GET request to configure the postStart callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5050', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetPath' => ['description' => 'The path to which you want to send the HTTP GET request to configure the postStart callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''], + 'LifecyclePostStartHandlerHttpGetScheme' => ['description' => 'The protocol type of the HTTP GET request that you want to send to configure the postStart callback function. Valid values:'."\n" + ."\n" + .'* HTTP'."\n" + .'* HTTPS'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTPS', 'title' => ''], + 'LifecyclePostStartHandlerExecs' => [ + 'description' => 'The commands that you can run within the container to configure the postStart callback function.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The command that you can run within the container to configure the postStart callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + 'LifecyclePostStartHandlerTcpSocketHost' => ['description' => 'The IP address of the host detected by the TCP socket that you want to use to configure the postStart callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePostStartHandlerTcpSocketPort' => ['description' => 'The port detected by the TCP socket that you want to use to configure the postStart callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetHost' => ['description' => 'The IP address of the host to which you want to send the HTTP GET request to configure the preStop callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetPort' => ['description' => 'The port over which you want to send the HTTP GET request to configure the preStop callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetPath' => ['description' => 'The path to which you want to send the HTTP GET request to configure the preStop callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '/healthyz', 'title' => ''], + 'LifecyclePreStopHandlerHttpGetScheme' => ['description' => 'The protocol type of the HTTP GET request that you want to send to configure the preStop callback function. Valid values:'."\n" + ."\n" + .'* HTTP'."\n" + .'* HTTPS'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], + 'LifecyclePreStopHandlerExecs' => [ + 'description' => 'The commands that you can run within the container to configure the preStop callback function.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The command that you can run within the container to configure the preStop callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '["/bin/sh", "-c","echo Hello from the preStop handler > /usr/share/message"]', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + 'LifecyclePreStopHandlerTcpSocketHost' => ['description' => 'The IP address of the host detected by the TCP socket that you want to use to configure the preStop callback function.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''], + 'LifecyclePreStopHandlerTcpSocketPort' => ['description' => 'The port detected by the TCP socket that you want to use to configure the preStop callback function.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '2014-08-18T10:52Z', + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'RecurrenceType', + 'name' => 'Volumes', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The volumes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The volume.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the Host directory. Examples: File, Directory, and Socket.'."\n", 'type' => 'string', 'required' => false, 'example' => 'EmptyDirVolume', 'title' => ''], + 'DiskVolume.DiskSize' => ['description' => 'The volume size. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '15', 'title' => ''], + 'NFSVolume.Path' => ['description' => 'The path to the Network File System (NFS) volume.'."\n", 'type' => 'string', 'required' => false, 'example' => '/share', 'title' => ''], + 'FlexVolume.FsType' => ['description' => 'The type of the mounted file system. The default value is determined by the script of FlexVolume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ext4', 'title' => ''], + 'DiskVolume.FsType' => ['description' => 'We recommend that you specify `FlexVolume.FsType` instead of DiskVolume.FsType.'."\n", 'type' => 'string', 'required' => false, 'example' => 'xfs', 'title' => ''], + 'HostPathVolume.Type' => ['description' => 'The type of host directory. For example: File, Directory, Socket, etc.', 'type' => 'string', 'required' => false, 'example' => 'Directory', 'title' => ''], + 'NFSVolume.ReadOnly' => ['description' => 'Specifies whether the permissions on the NFS volume are read-only.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'HostPathVolume.Path' => ['description' => 'The absolute path on the host.'."\n", 'type' => 'string', 'required' => false, 'example' => '/xx/xx/name '."\n", 'title' => ''], + 'FlexVolume.Options' => ['description' => 'The FlexVolume options. Each option is a key-value pair in a JSON string.'."\n" + ."\n" + .'For example, if you use FlexVolume to mount a disk, the format of Options is `{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}`.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"}', 'title' => ''], + 'FlexVolume.Driver' => ['description' => 'The name of the FlexVolume driver.'."\n", 'type' => 'string', 'required' => false, 'example' => 'flexvolume', 'title' => ''], + 'ConfigFileVolumeDefaultMode' => ['description' => 'The default permissions on the ConfigFile volume.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0644', 'title' => ''], + 'NFSVolume.Server' => ['description' => 'The endpoint of the NFS server.'."\n", 'type' => 'string', 'required' => false, 'example' => '3f9cd4a596-n****.cn-shanghai.nas.aliyuncs.com', 'title' => ''], + 'DiskVolume.DiskId' => ['description' => 'The ID of the disk volume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'd-xx '."\n", 'title' => ''], + 'Name' => ['description' => 'The volume name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'default-volume1'."\n", 'title' => ''], + 'EmptyDirVolume.Medium' => ['description' => 'The storage medium of the emptyDir volume. If you do not specify a storage medium for the emptyDir volume, the emptyDir volume stores data in the file system of a node. A value of memory specifies that the emptyDir volume stores data in the memory.'."\n", 'type' => 'string', 'required' => false, 'example' => 'memory '."\n", 'title' => ''], + 'ConfigFileVolumeConfigFileToPath' => [ + 'description' => 'The paths to the configuration files.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The path to the configuration file.'."\n", + 'type' => 'object', + 'properties' => [ + 'Path' => ['description' => 'The relative path to the configuration file.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/bin/ '."\n", 'title' => ''], + 'Mode' => ['description' => 'The permissions on the ConfigFile volume.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0644', 'title' => ''], + 'Content' => ['description' => 'The content of the configuration file (32 KB).'."\n", 'type' => 'string', 'required' => false, 'example' => 'bGl1bWk= '."\n", 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 90, + 'title' => '', + 'example' => '', + ], + 'EmptyDirVolume.SizeLimit' => ['description' => 'The size of the emptyDir volume. The value contains a unit. We recommend that you use Gi or Mi as the unit.'."\n", 'type' => 'string', 'required' => false, 'example' => '256Mi', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'Daily', + 'maxItems' => 101, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'RecurrenceValue', + 'name' => 'InitContainers', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The init containers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The init container.'."\n", + 'type' => 'object', + 'properties' => [ + 'InitContainerEnvironmentVars' => [ + 'description' => 'The environment variables of the init container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The environment variable of the init container.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable. The name can be 1 to 128 characters in length, and can contain letters, underscores (\\_), and digits. The name cannot start with a digit. Specify the value in the `[0-9a-zA-Z]` format.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Path', 'title' => ''], + 'Value' => ['description' => 'The value of the environment variable. The value can be up to 256 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/bin/ '."\n", 'title' => ''], + 'FieldRef.FieldPath' => ['description' => '> This parameter is unavailable.'."\n", 'type' => 'string', 'required' => false, 'example' => 'path', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 301, + 'title' => '', + 'example' => '', + ], + 'SecurityContext.Capability.Adds' => [ + 'description' => 'The permissions that you want to grant to the processes in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n" + ."\n" + .'> To use NET_RAW, submit a ticket.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The permissions that you want to grant to the process in the init container. Valid values: NET_ADMIN and NET_RAW.'."\n" + ."\n" + .'> To use NET_RAW, submit a ticket.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NET_RAW', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + 'Image' => ['description' => 'The image of the init container.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nginx', 'title' => ''], + 'InitContainerPorts' => [ + 'description' => 'The ports of the init container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The port of the init container.'."\n", + 'type' => 'object', + 'properties' => [ + 'Protocol' => ['description' => 'The protocol type. Valid values:'."\n" + ."\n" + .'* TCP'."\n" + .'* UDP'."\n", 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''], + 'Port' => ['description' => 'The port number. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'InitContainerVolumeMounts' => [ + 'description' => 'The volume mounts of the init container.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The volume mount of the init container.'."\n", + 'type' => 'object', + 'properties' => [ + 'MountPropagation' => ['description' => 'The mount propagation settings of the volume. Mount propagation enables volumes mounted on one container to be shared among other containers within the same pod or across distinct pods residing on the same node. Valid values:'."\n" + ."\n" + .'* None: Subsequent mounts executed on the volume or its subdirectories do not propagate to the volume.'."\n" + .'* HostToCotainer: Subsequent mounts executed on the volume or its subdirectories propagate to the volume.'."\n" + .'* Bidirectional: This value is similar to HostToCotainer. Subsequent mounts executed on the volume or its subdirectories propagate to the volume. In addition, volume mounts executed on the container propagate back to the underlying instance and to all containers across every pod that uses the same volume.'."\n" + ."\n" + .'Default value: None.'."\n", 'type' => 'string', 'required' => false, 'example' => 'None', 'title' => ''], + 'MountPath' => ['description' => 'The directory within the init container onto which you want to mount the volume.'."\n" + ."\n" + .'> The information stored within this directory is overwritten by the data on the mounted volume. Exercise caution when you specify this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/share/'."\n", 'title' => ''], + 'ReadOnly' => ['description' => 'Specifies whether the mount path is read-only.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false '."\n", 'title' => ''], + 'Name' => ['description' => 'The name of the volume.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test-empty '."\n", 'title' => ''], + 'SubPath' => ['description' => 'The volume subdirectory. The pod can mount different directories of the same volume to different subdirectories of init containers.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'SecurityContext.ReadOnlyRootFilesystem' => ['description' => '> This parameter is unavailable.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'ImagePullPolicy' => ['description' => 'The image pulling policy. Valid values:'."\n" + ."\n" + .'* Always: Image pulling is performed each time instances are created.'."\n" + .'* IfNotPresent: Image pulling is performed as needed. On-premises images are preferentially used. If no on-premises images are available, image pulling is performed.'."\n" + .'* Never: On-premises images are always used. Image pulling is not performed.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Always', 'title' => ''], + 'Cpu' => ['description' => 'The number of vCPUs per init container.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.5', 'title' => ''], + 'WorkingDir' => ['description' => 'The working directory.'."\n", 'type' => 'string', 'required' => false, 'example' => '/usr/local '."\n", 'title' => ''], + 'Commands' => [ + 'description' => 'The commands that you can run to start the init container.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The command that you can run to start the init container.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sleep', 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'Args' => [ + 'description' => 'The container startup arguments.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The container startup argument.'."\n", 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], + 'required' => false, + 'maxItems' => 101, + 'title' => '', + 'example' => '', + ], + 'SecurityContext.RunAsUser' => ['description' => 'The ID of the user who runs the init container.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '587', 'title' => ''], + 'Gpu' => ['description' => 'The number of GPUs per init container.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'Memory' => ['description' => 'The memory size per init container. Unit: GiB.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0', 'title' => ''], + 'Name' => ['description' => 'The name of the init container.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test-init', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '2', + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'TaskEnabled', + 'name' => 'DnsConfigNameServers', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to enable the scheduled task. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: true.'."\n", - 'type' => 'boolean', + 'description' => 'The IP addresses of DNS servers.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The IP address of the DNS server.'."\n", 'type' => 'string', 'required' => false, 'example' => '172.10.*.** '."\n", 'title' => ''], 'required' => false, - 'example' => 'true', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'LaunchExpirationTime', + 'name' => 'DnsConfigSearchs', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The search domains of DNS servers.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The search domain of the DNS server.'."\n", 'type' => 'string', 'required' => false, 'example' => 'svc.local.kubenetes '."\n", 'title' => ''], 'required' => false, - 'maximum' => '86400', - 'minimum' => '0', - 'example' => '600', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'MinValue', + 'name' => 'DnsConfigOptions', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The minimum number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The options. Each option is a name-value pair. The value in the name-value pair is optional.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The option. Each option is a name-value pair. The value in the name-value pair is optional.'."\n", + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The variable value of the option.'."\n", 'type' => 'string', 'required' => false, 'example' => 'value', 'title' => ''], + 'Name' => ['description' => 'The variable name of the option.'."\n", 'type' => 'string', 'required' => false, 'example' => 'name '."\n", 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '0', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'MaxValue', + 'name' => 'HostAliases', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The maximum number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The hosts.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The host.'."\n", + 'type' => 'object', + 'properties' => [ + 'Ip' => ['description' => 'The IP address that you want to add.'."\n", 'type' => 'string', 'required' => false, 'example' => '192.0.XX.XX '."\n", 'title' => ''], + 'Hostnames' => [ + 'description' => 'The names of the hosts that you want to add.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The name of the host that you want to add.'."\n", 'type' => 'string', 'required' => false, 'example' => '[\'hehe.com\', \'haha.com\'] '."\n", 'title' => ''], + 'required' => false, + 'maxItems' => 51, + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '10', + 'maxItems' => 101, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'DesiredCapacity', + 'name' => 'SecurityContextSysCtls', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The expected number of instances in the scaling group if you specify the ScalingGroupId parameter.'."\n" - ."\n" - .'> You must specify the `DesiredCapacity` parameter when you create a scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The security contexts in which the elastic container instance runs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The security context in which the elastic container instance runs.'."\n", + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The variable value of the security context in which the elastic container instance runs.'."\n", 'type' => 'string', 'required' => false, 'example' => '65536', 'title' => ''], + 'Name' => ['description' => 'The variable name of the security context in which the elastic container instance runs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'kernel.msgmax '."\n", 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '10', + 'maxItems' => 11, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'NtpServers', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The endpoints of Network Time Protocol (NTP) servers.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The endpoint of the NTP server.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ntp.cloud.aliyuncs.com '."\n", 'title' => ''], 'required' => false, - 'example' => 'asg-bp18p2yfxow2dloq****', + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'RegionId', + 'name' => 'AcrRegistryInfos', 'in' => 'query', + 'style' => 'repeatList', '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' => 'The Container Registry Enterprise Edition instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The Container Registry Enterprise Edition instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'Domains' => [ + 'description' => 'The domain names of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Separate multiple domain names with commas (,).'."\n", + 'type' => 'array', + 'items' => ['description' => 'The domain name of the Container Registry Enterprise Edition instance. By default, all domain names of the instance are displayed. Separate multiple domain names with commas (,).'."\n", 'type' => 'string', 'required' => false, 'example' => '*****-****-registry.cn-beijing.cr.aliyuncs.com', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + 'InstanceName' => ['description' => 'The name of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'acr-test '."\n", 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cri-nwj395hgf6f3**** '."\n", 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the Container Registry Enterprise Edition instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou '."\n", 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], - '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', + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'PageNumber', + 'name' => 'CostOptimization', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'Specifies whether to enable the Cost Optimization feature. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'InstanceFamilyLevel', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Maximum value: 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'example' => '50', - 'default' => '10', - ], + 'schema' => ['description' => 'The level of the instance family, which is used to filter instance types that meet the specified criteria. This parameter takes effect only if you set `CostOptimization` to true. Valid values:'."\n" + ."\n" + .'* EntryLevel: entry level (shared instance type). Instance types of this level are the most cost-effective but may not provide stable computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low. For more information, see [Shared instance families](~~108489~~).'."\n" + .'* EnterpriseLevel: enterprise level. Instance types of this level provide stable performance and dedicated resources, and are suitable for business scenarios that require high stability. For more information, see [Overview of instance families](~~25378~~).'."\n" + .'* CreditEntryLevel: credit-based entry level (burstable instance types). CPU credits are used to ensure computing performance. Instance types of this level are suitable for scenarios in which the CPU utilization is low but may fluctuate in specific cases. For more information, see [Overview](~~59977~~) of burstable instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'EnterpriseLevel', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'ContainersUpdateType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group to which the scheduled task belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp1bo5tca4m56nap****', - ], + 'schema' => ['description' => 'The update mode of containers. Valid values:'."\n" + ."\n" + .'* RenewUpdate: full update mode. This value takes effect based on the value of Containers in an update request. This value indicates that the previous setting of Containers is overwritten.'."\n" + .'* IncrementalUpdate: incremental update mode. Container matching is performed based on the Container.name value. Only the parameters that are included in the request parameters are updated.'."\n" + ."\n" + .'Default value: RenewUpdate.'."\n", 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'RenewUpdate'], ], [ - 'name' => 'ScheduledActions', + 'name' => 'InstanceTypes', '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", + 'description' => 'The ECS instance types. You can specify up to five instance types.'."\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****', - ], + 'items' => ['description' => 'The ECS instance type. You can specify up to five ECS instance types. For more information, see [Specify ECS instance types to create an elastic container instance](~~114664~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], 'required' => false, - 'maxItems' => 20, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ScheduledTaskIds', + 'name' => 'DataCacheBucket', '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, - ], + 'schema' => ['description' => 'The bucket in which data caches are stored.'."\n", 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], ], [ - 'name' => 'ScheduledTaskNames', + 'name' => 'DataCachePL', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The names of the scheduled tasks that you want to query.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The name of the scheduled task that you want to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scheduled****', - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The performance level (PL) of the cloud disk in which data caches are stored. We recommend that you use Enterprise SSDs (ESSDs). Valid values:'."\n" + ."\n" + .'* PL0: An ESSD can deliver up to 10,000 random read/write IOPS.'."\n" + .'* PL1: An ESSD can deliver up to 50,000 random read/write IOPS.'."\n" + .'* PL2: An ESSD can deliver up to 100,000 random read/write IOPS.'."\n" + .'* PL3: An ESSD can deliver up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'Default value: PL1.'."\n" + ."\n" + .'> For more information about ESSDs, see [ESSDs](~~122389~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'PL1', 'title' => ''], ], [ - 'name' => 'TaskName', + 'name' => 'DataCacheProvisionedIops', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of scheduled task N. Fuzzy search based on keywords is supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'scheduled****', - ], + 'schema' => ['description' => 'The provisioned read/write IOPS of the ESSD AutoPL disk in which data caches are stored. Valid values: 0 to min{50,000, 1,000 × *Capacity - Baseline IOPS}. Baseline IOPS = min{1,800+50 x *Capacity, 50,000}.'."\n" + ."\n" + .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '40000', 'title' => ''], ], [ - 'name' => 'RecurrenceType', + 'name' => 'DataCacheBurstingEnabled', 'in' => 'query', - 'schema' => [ - 'description' => 'The interval at which scheduled task N is repeatedly executed. Valid values:'."\n" - ."\n" - .'* Daily: Scheduled task N is executed once every specified number of days.'."\n" - .'* Weekly: Scheduled task N is executed on each specified day of a week.'."\n" - .'* Monthly: Scheduled task N is executed on each specified day of a month.'."\n" - .'* Cron: Scheduled task N is executed based on the specified Cron expression.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Weekly', - ], + 'schema' => ['description' => 'Specifies whether to enable the Performance Burst feature for the ESSD AutoPL disk in which data caches are stored. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n" + ."\n" + .'> For more information about ESSD AutoPL disks, see [ESSD AutoPL disks](~~368372~~).'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'RecurrenceValue', + 'name' => 'GpuDriverVersion', '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', - ], + 'schema' => ['description' => 'The version of the GPU driver. Valid values:'."\n" + ."\n" + .'* tesla=470.82.01 (default)'."\n" + .'* tesla=525.85.12'."\n" + ."\n" + .'> You can switch the GPU driver version only for a few Elastic Compute Service (ECS) instance types. For more information, see [Specify GPU-accelerated ECS instance types to create an elastic container instance](~~2579486~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'tesla=525.85.12', 'title' => ''], ], [ - 'name' => 'TaskEnabled', + 'name' => 'Override', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether scheduled task N is enabled.'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies whether to override existing data. Valid Values:'."\n" + ."\n" + .'true false'."\n", 'type' => 'boolean', 'title' => '', 'required' => false, 'example' => 'false'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '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', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '89945DD3-9072-47D0-A318-353284CF****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'Forbidden.RiskControl', 'errorMessage' => 'Forbidden.RiskControl', 'description' => ''], + ], + ], + 'title' => 'ModifyEciScalingConfiguration', + 'description' => '- 如果修改伸缩配置的名称,请注意同一伸缩组下不能存在名称相同的伸缩配置。'."\n" + ."\n" + .'- 可以调用[DescribeEciScalingConfigurations](~~459374~~)查询并验证修改结果。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyEciScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - '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", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"89945DD3-9072-47D0-A318-353284CF****\\"\\n}","type":"json"}]', ], - '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', - ], + 'ModifyInstanceAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '125331', - 'abilityTreeNodes' => [ - 'FEATUREess30IPAO', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '201544', + 'abilityTreeNodes' => ['FEATUREessBFHJ1B'], ], 'parameters' => [ [ - 'name' => 'ScheduledTaskId', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scheduled task. An ID is a globally unique identifier (GUID) that is generated by the system for a scheduled task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'edRtShc57WGXdt8TlPbr****', - ], + 'schema' => ['description' => 'The ID of the 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 region ID of the scheduled task.'."\n", - 'type' => 'string', + 'description' => 'The instance IDs.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The instance ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-bp109k5j3dum1ce6****'], 'required' => false, - 'example' => 'cn-qingdao', + 'maxItems' => 20, ], ], ], @@ -22083,1639 +15225,1381 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], 'description' => '', ], ], ], + 'title' => 'ModifyInstanceAttribute', + 'summary' => 'Modifies the information of an Elastic Compute Service (ECS) instance. When you call the ModifyInstanceAttribute operation, you can specify attributes such as the instance ID, scaling group ID, and region ID to modify the attributes of an ECS instance in a scaling group. You can modify only the hosting attributes of instances that are manually added to scaling groups.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyInstanceAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - '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', - ], + 'ModifyLifecycleHook' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '125363', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '125362', + 'abilityTreeNodes' => ['FEATUREessKFTMD6'], ], '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', + 'name' => 'LifecycleHookId', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test alarm task.', - ], + '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 scaling group ID of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The ID of the scaling group to which the lifecycle hook belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp18p2yfxow2dloq****'], ], [ - 'name' => 'MetricName', + 'name' => 'LifecycleHookName', 'in' => 'query', - 'schema' => [ - 'description' => 'The metric name. The valid values of this parameter vary based on the metric type.'."\n" - ."\n" - .'* If you set MetricType to custom, the valid values are the metrics that you have.'."\n" - ."\n" - .'* If you set MetricType to system, this parameter has the following valid values:'."\n" - ."\n" - .' * CpuUtilization: the CPU utilization. Unit: %.'."\n" - .' * ConcurrentConnections: the number of concurrent connections.'."\n" - .' * IntranetTx: the outbound traffic over an internal network. Unit: KB/min.'."\n" - .' * IntranetRx: the inbound traffic over an internal network. Unit: KB/min.'."\n" - .' * VpcInternetTx: the outbound traffic over a virtual private cloud (VPC). Unit: KB/min.'."\n" - .' * VpcInternetRx: the inbound traffic over a VPC. Unit: KB/min.'."\n" - .' * SystemDiskReadBps: the number of bytes read from the system disk per second.'."\n" - .' * SystemDiskWriteBps: the number of bytes written to the system disk per second.'."\n" - .' * SystemDiskReadOps: the read IOPS of the system disk. Unit: counts/s.'."\n" - .' * SystemDiskWriteOps: the write IOPS of the system disk. Unit: counts/s.'."\n" - .' * CpuUtilizationAgent: the CPU utilization. Unit: %.'."\n" - .' * GpuUtilizationAgent: the GPU utilization. Unit: %.'."\n" - .' * GpuMemoryFreeUtilizationAgent: the idle GPU memory usage. Unit: %.'."\n" - .' * GpuMemoryUtilizationAgent: the GPU memory usage. Unit: %.'."\n" - .' * MemoryUtilization: the memory usage. Unit: %.'."\n" - .' * LoadAverage: the average system load.'."\n" - .' * TcpConnection: the total number of TCP connections.'."\n" - .' * TcpConnection: the number of established TCP connections.'."\n" - .' * PackagesNetOut: the number of packets sent by the internal network interface controller (NIC). Unit: counts/s.'."\n" - .' * PackagesNetIn: the number of packets received by the internal NIC. Unit: counts/s.'."\n" - .' * PackagesNetOut: the number of packets sent by the public NIC. Unit: counts/s.'."\n" - .' * PackagesNetIn: the number of packets received by the public NIC. Unit: counts/s.'."\n" - .' * EciPodCpuUtilization: the CPU utilization. Unit: %.'."\n" - .' * EciPodMemoryUtilization: the memory usage. Unit: %.'."\n" - .' * LoadBalancerRealServerAverageQps: the queries per second (QPS) of an instance.'."\n" - ."\n" - .'For more information, see [Event-triggered tasks of the system monitoring type](~~74854~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CpuUtilization', - ], + 'schema' => ['description' => 'The name of the lifecycle hook that you want to modify.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test_SCALE_IN'], ], [ - 'name' => 'MetricType', + 'name' => 'DefaultResult', 'in' => 'query', - 'schema' => [ - 'description' => 'The metric type. Valid Values:'."\n" - ."\n" - .'* system: a system metric of CloudMonitor.'."\n" - .'* custom: a custom metric that is reported to CloudMonitor.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'system', - 'default' => 'system', - ], + 'schema' => ['description' => 'The 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' => 'Period', + 'name' => 'HeartbeatTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The statistical period of the metric data. Unit: seconds. Valid Values:'."\n" - ."\n" - .'* 15'."\n" - .'* 60'."\n" - .'* 120'."\n" - .'* 300'."\n" - .'* 900'."\n" - ."\n" - .'> You can set this parameter to 15 seconds only for scaling groups of the ECS type.'."\n" - ."\n" - .'Default value: 300.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '300', - 'default' => '300', - ], + 'schema' => ['description' => 'The period of time 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' => 'Statistics', + 'name' => 'LifecycleTransition', 'in' => 'query', - 'schema' => [ - 'description' => 'The statistical method of the metric data. Valid Values:'."\n" - ."\n" - .'* Average: calculates the average value of the metric data.'."\n" - .'* Minimum: calculates the minimum value of the metric data.'."\n" - .'* Maximum: calculates the maximum value of the metric data.'."\n" - ."\n" - .'Default value: Average.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Average', - 'default' => 'Average', - ], + 'schema' => ['description' => 'The 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' => 'Threshold', + 'name' => 'NotificationMetadata', 'in' => 'query', - 'schema' => [ - 'description' => 'The threshold of the metric value. If the threshold is reached the specified number of times within the specified period, a scaling rule is executed.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '80.0', - ], + 'schema' => ['description' => 'The 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' => 'ComparisonOperator', + 'name' => 'NotificationArn', 'in' => 'query', - 'schema' => [ - 'description' => 'The operator that you want to use to compare the metric value and the threshold. Valid Values:'."\n" - ."\n" - .'* If the metric value is greater than or equal to the threshold, set the value to >=.'."\n" - .'* If the metric value is less than or equal to the metric threshold, set the value to <=.'."\n" - .'* If the metric value is greater than the metric threshold, set the value to >.'."\n" - .'* If the metric value is less than the metric threshold, set the value to <.'."\n" - ."\n" - .'Default value: >=.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '>=', - 'default' => '>=', - ], + 'schema' => ['description' => 'The 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' => 'EvaluationCount', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of consecutive times that the threshold must be reached before a scaling rule is executed. For example, if you set this parameter to 3, the average CPU utilization must reach or exceed 80% three times in a row before the scaling rule is executed.'."\n" - ."\n" - .'Default value: 3'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - 'default' => '3', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing'], ], [ - 'name' => 'GroupId', + 'name' => 'LifecycleHookStatus', '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', - ], + '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'], ], - [ - 'name' => 'Effective', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ '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 * * ?', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], + ], + 'description' => '', ], ], - [ - 'name' => 'AlarmActions', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ari:acs:ess:cn-hangzhou:1406926****:scalingrule/asr-bp163l21e07uhn****', + ], + 'title' => 'ModifyLifecycleHook', + 'summary' => 'Modifies a lifecycle hook. If an existing lifecycle hook does not meet your business requirements anymore, you can call the ModifyLifecycleHook operation to modify the information such as the scaling event, timeout period, and default action of the lifecycle hook. Before you modify a lifecycle hook, you can locate the lifecycle hook by its ID, name, or scaling group.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyLifecycleHook', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'required' => false, - 'maxItems' => 5, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'ModifyNotificationConfiguration' => [ + 'summary' => 'Modifies event notification rules. Event notification rules support automatic sending of notifications to CloudMonitor, Message Service (MNS) topics, or MNS queues when a specified type of events occur. This helps you learn about the dynamics of your scaling group at the earliest opportunity and further automate resource management. If an existing event notification rule does not meet your business requirements, you can call the ModifyNotificationConfiguration operation to modify the event notification rule, without the need to create a new rule. Take not that you cannot modify the notification method of an event notification rule by calling this operation.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - '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, - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125333', + 'abilityTreeNodes' => ['FEATUREess6E26FJ', 'FEATUREessFY8KDA'], + ], + 'parameters' => [ [ - 'name' => 'Expressions', + 'name' => 'ScalingGroupId', '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, - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], + ], + [ + 'name' => 'NotificationArn', + 'in' => 'query', + 'schema' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. The following list describes the value formats of this parameter:'."\n" + ."\n" + .'* If you specify CloudMonitor as the notification recipient, specify the value in the `acs:ess:{region-id}:{account-id}:cloudmonitor` format.'."\n" + .'* If you specify a Simple Message Queue (SMQ) queue as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:queue/{queuename}` format.'."\n" + .'* If you specify an SMQ topic as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:topic/{topicname}` format.'."\n" + ."\n" + .'The variables in the preceding value formats have the following meanings:'."\n" + ."\n" + .'* region-id: the region ID of your scaling group.'."\n" + .'* account-id: the ID of your Alibaba Cloud account.'."\n" + .'* queuename: the name of the SMQ queue.'."\n" + .'* topicname: the name of the SMQ topic.'."\n", 'type' => 'string', 'required' => true, 'example' => 'acs:ess:cn-beijing:161456884340****:cloudmonitor', 'title' => ''], ], [ - 'name' => 'ExpressionsLogicOperator', + 'name' => 'NotificationTypes', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The relationship between the trigger conditions in the multi-metric alert rule. Valid values:'."\n" - ."\n" - .'* `&&`: An alert is triggered only if all metrics in the multi-metric alert rule meet the trigger conditions. In this case, an alert is triggered only if the results of all trigger conditions that are specified in the multi-metric alert rule are `true`.'."\n" - .'* `||`: An alert is triggered if one of the metrics in the multi-metric alert rule meets the trigger conditions.'."\n" - ."\n" - .'Default value: `&&`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '&&', + 'description' => 'The event types.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The event type. Valid values:'."\n" + ."\n" + .'* AUTOSCALING:SCALE_OUT_SUCCESS: a successful scale-out event'."\n" + .'* AUTOSCALING:SCALE_IN_SUCCESS: a successful scale-in event'."\n" + .'* AUTOSCALING:SCALE_OUT_ERROR: a failed scale-out event'."\n" + .'* AUTOSCALING:SCALE_IN_ERROR: a failed scale-in event'."\n" + .'* AUTOSCALING:SCALE_REJECT: a rejected scaling request'."\n" + .'* AUTOSCALING:SCALE_OUT_START: a started scale-out event'."\n" + .'* AUTOSCALING:SCALE_IN_START: a started scale-in event'."\n" + .'* AUTOSCALING:SCHEDULE_TASK_EXPIRING: an expiring scheduled task'."\n" + .'* SCALING_GROUP_DIAGNOSE: a scaling group diagnosis'."\n" + .'* AUTOSCALING:SCALE_OUT_WARN: a partially successful scale-out event'."\n" + .'* AUTOSCALG:SCALE_IN_WARN: a partially successful scale-in event'."\n", 'type' => 'string', 'required' => false, 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', 'title' => ''], + 'required' => true, + 'maxItems' => 12, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], + ], + [ + 'name' => 'TimeZone', + 'in' => 'query', + 'schema' => ['description' => 'The time zone of the notification. Specify the value in UTC. For example, a value of UTC+8 specifies that the time is 8 hours ahead of Coordinated Universal Time, and a value of UTC-7 specifies that the time is 7 hours behind Coordinated Universal Time.'."\n", 'type' => 'string', 'required' => false, 'example' => 'UTC+8', 'title' => ''], + ], + [ + 'name' => 'MessageEncoding', + 'in' => 'query', + 'schema' => ['description' => 'The codec of the notification message content. Valid values:'."\n" + ."\n" + .'- PlainText: No encoding is applied. The content is transmitted as plaintext.'."\n" + .'- Base64: Base64 encoding is applied.'."\n" + ."\n" + .'Default Value: Base64. '."\n" + .'> This parameter can be set only for MNS notification objects.', 'type' => 'string', 'required' => false, 'example' => 'PlainText', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ - '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****', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'CreateAlarm', - 'description' => '* If you set MetricType to custom, you must report your custom metrics to CloudMonitor before you can create event-triggered tasks by using the custom metrics. For more information, see [Event-triggered tasks of the custom monitoring type](~~74861~~).'."\n" - ."\n" - .'* When you create an event-triggered task, you must specify MetricName, Dimensions.DimensionKey, and Dimensions.DimensionValue to determine the range of statistics that you want to aggregate for the metrics of the scaling group. For example, you can specify user_id and scaling_group for an event-triggered task to aggregate monitoring data of all ECS instances or elastic container instances in a scaling group within an Alibaba Cloud account.'."\n" - ."\n" - .' * If you create an event-triggered task of the custom monitoring type, you can specify only custom metrics in the task.'."\n" - .' * If you create an event-triggered task of the system monitoring type, you can specify the system metrics described in [Event-triggered tasks of the system monitoring type](~~74854~~) in the task.'."\n" - ."\n" - .'> user_id and scaling_group are automatically populated. You need to only specify device and state. For more information, see `Dimensions.DimensionKey` and `Dimensions.DimensionValue` in the "Request parameters" section of this topic.'."\n", - ], - 'DescribeAlarms' => [ - 'summary' => 'Queries event-triggered tasks. You can call the DescribeAlarms operation to learn about the configurations of event-triggered tasks and keep updated on monitoring data changes. This helps you troubleshoot system resource issues at the earliest opportunity and ensures system stability and reliability.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'ModifyNotificationConfiguration', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyNotificationConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'ModifyScalingConfiguration' => [ + 'summary' => 'Modifies an ECS-type scaling configuration (the ECS instance template for scale-out) by invoking the ModifyScalingConfiguration operation if the current scaling configuration does not meet your business requirements.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '125355', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', - ], + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125383', + 'abilityTreeNodes' => ['FEATUREessT4M3WE'], ], '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', + 'name' => 'ScalingConfigurationId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', - ], + 'schema' => ['description' => 'The ID of the scaling configuration that you want to modify.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asc-bp16har3jpj6fjbx****', 'title' => ''], ], [ - 'name' => 'State', + 'name' => 'IoOptimized', 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the event-triggered task. Valid values:'."\n" - ."\n" - .'* ALARM: The alert condition is met and an alert is triggered.'."\n" - .'* OK: The alert condition is not met.'."\n" - .'* INSUFFICIENT_DATA: Auto Scaling cannot determine whether the alert condition is met due to insufficient data.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'OK', - ], + 'schema' => ['description' => 'Specifies whether the instance is an I/O optimization instance. Valid values:'."\n" + .'- none: The instance is not an I/O optimization instance.'."\n" + .'- optimized: The instance is an I/O optimization instance.', 'type' => 'string', 'required' => false, 'example' => 'none', 'title' => ''], ], [ - 'name' => 'IsEnable', + 'name' => 'SpotStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the event-triggered task. Valid values:'."\n" - ."\n" - .'* true: enables the event-triggered task.'."\n" - .'* false: disables the event-triggered task.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The preemption policy for pay-as-you-go instances. Valid values:'."\n" + .' '."\n" + .'- NoSpot: a regular pay-as-you-go instance.'."\n" + .'- SpotWithPriceLimit: a spot instance with a user-defined maximum hourly price.'."\n" + .'- SpotAsPriceGo: a spot instance for which the market price at the time of purchase is automatically used as the bid price.', 'type' => 'string', 'required' => false, 'example' => 'NoSpot', 'title' => ''], ], [ - 'name' => 'MetricType', + 'name' => 'ScalingConfigurationName', 'in' => 'query', - 'schema' => [ - 'description' => 'The metric type. Valid values:'."\n" - ."\n" - .'* system: a system metric of CloudMonitor'."\n" - .'* custom: a custom metric that is reported to CloudMonitor.'."\n" - .'* hybrid: a metric of Hybrid Cloud Monitoring.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'true', - 'default' => 'system', - ], + 'schema' => ['description' => 'The name of the scaling configuration. The name must be 2 to 64 characters in length and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). It must start with a letter, digit, or Chinese character.'."\n" + ."\n" + .'The name must be unique within a scaling group in the same region. If you do not specify this parameter, the ID of the scaling configuration is used by default.', 'type' => 'string', 'required' => false, 'example' => 'test-modify', 'title' => ''], ], [ - 'name' => 'MetricName', + 'name' => 'InstanceName', 'in' => 'query', - 'schema' => [ - 'description' => 'The metric name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CpuUtilization', - ], + 'schema' => ['description' => 'The name of the ECS instance that is created by automatic creation using the scaling configuration.', 'type' => 'string', 'required' => false, 'example' => 'inst****', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'HostName', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Valid values: 1 to 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'example' => '10', - 'default' => '10', - ], + 'schema' => ['description' => 'The hostname of the Elastic Computing Service server. A period (.) or a hyphen (-) cannot be used as the first or last character, and consecutive periods (.) or hyphens (-) are not allowed. Naming conventions vary by instance type: '."\n" + ."\n" + .'- Windows instances: The hostname must be 2 to 15 characters in length and can contain letters, digits, and hyphens (-). It cannot contain periods (.) or consist entirely of digits. '."\n" + .'- Other instances (such as Linux): The hostname must be 2 to 64 characters in length and can contain multiple periods (.). Each segment between two periods (.) can contain letters, digits, and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'hos****', 'title' => ''], ], [ - 'name' => '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)', - ], - ], - ], - ], - ], - ], + 'name' => 'ImageId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the image file used to create instances by automatic creation.'."\n" + ."\n" + .'> If the image previously used in the scaling configuration includes both a system cloud disk and data cloud disks, the data cloud disk information is purged after you change the image.', 'type' => 'string', 'required' => false, 'example' => 'centos6u5_64_20G_aliaegis_2014****.vhd', 'title' => ''], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"871C7C53-34A4-45AA-8C14-4B72FA6A****\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"AlarmList\\": [\\n {\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\",\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"EvaluationCount\\": 3,\\n \\"State\\": \\"ALARM\\",\\n \\"Period\\": 300,\\n \\"ScalingGroupId\\": \\"asg-bp18p2yfxow2dloq****\\",\\n \\"ComparisonOperator\\": \\">=\\",\\n \\"Effective\\": \\"* * * * * ?\\",\\n \\"Description\\": \\"Test alarm task.\\",\\n \\"MetricType\\": \\"system\\",\\n \\"Name\\": \\"TestAlarmTask\\",\\n \\"Threshold\\": 80,\\n \\"Enable\\": true,\\n \\"Statistics\\": \\"Average\\",\\n \\"Dimensions\\": [\\n {\\n \\"DimensionKey\\": \\"device\\",\\n \\"DimensionValue\\": \\"eth0\\"\\n }\\n ],\\n \\"AlarmActions\\": [\\n \\"ari:acs:ess:cn-hangzhou:1406926474****:scalingrule/asr-bp163l21e07uh****\\"\\n ],\\n \\"Expressions\\": [\\n {\\n \\"MetricName\\": \\"CpuUtilization\\",\\n \\"ComparisonOperator\\": \\">=\\",\\n \\"Period\\": 900,\\n \\"Statistics\\": \\"Average\\",\\n \\"Threshold\\": 40\\n }\\n ],\\n \\"ExpressionsLogicOperator\\": \\"&&\\",\\n \\"HybridMonitorNamespace\\": \\"aliyun-test\\",\\n \\"HybridMetrics\\": [\\n {\\n \\"Id\\": \\"a\\",\\n \\"Expression\\": \\"(a+b)/2\\",\\n \\"MetricName\\": \\"AliyunSmq_NumberOfMessagesVisible\\",\\n \\"Statistic\\": \\"Average\\",\\n \\"Dimensions\\": [\\n {\\n \\"DimensionKey\\": \\"queue\\",\\n \\"DimensionValue\\": \\"testQueue\\"\\n }\\n ]\\n }\\n ],\\n \\"PromQL\\": \\"(avg(last_over_time(AliyunMnsnew_ActiveMessages{region=\'cn-hangzhou\',userId=\'123456****\',queue=\'testQueue\'}[900s])) by (userId))/(avg(last_over_time(AliyunEss_RunningInstanceCount{instanceId=\'asg-bp1****\'}[900s])) by (userId) != 0)\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeAlarms', - ], - 'ModifyAlarm' => [ - 'summary' => 'Modifies an event-triggered task.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'ImageName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the image. Image names must be unique within a region. If you set ImageId, ImageName is ignored.'."\n" + ."\n" + .'You cannot use ImageName to specify images from Alibaba Cloud Marketplace.', 'type' => 'string', 'required' => false, 'example' => 'suse11sp3_64_20G_aliaegis_2015****.vhd', 'title' => ''], ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125348', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', + [ + 'name' => 'Cpu', + 'in' => 'query', + 'schema' => ['description' => 'The number of vCPUs. Unit: cores.'."\n" + ."\n" + .'You can specify both CPU and Memory to define the range of instance types. For example, setting CPU to 2 and Memory to 16 defines all instance types with 2 vCPUs and 16 GiB of memory. Auto Scaling determines the set of active instance types based on factors such as I/O optimization and zones, and then creates instances of the lowest-priced instance type by sorting.'."\n" + ."\n" + .'> Settings in this range take effect only when cost optimization pattern is enabled and no instance type is specified in the scaling configuration.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'Memory', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The memory size. Unit: GiB.'."\n" + ."\n" + .'You can specify both CPU and Memory to define the range of instance types. For example, setting CPU to 2 and Memory to 16 defines all instance types with 2 vCPUs and 16 GiB of memory. Auto Scaling determines the set of active instance types based on factors such as I/O optimization and zones, and then creates instances of the lowest-priced instance type by sorting.'."\n" + ."\n" + .'> Settings in this range take effect only when cost optimization pattern is enabled and no instance type is specified in the scaling configuration.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '16', 'title' => ''], ], [ - 'name' => 'AlarmTaskId', + 'name' => 'InternetChargeType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', - ], + 'schema' => ['description' => 'The billing method for network usage. Valid values:'."\n" + ."\n" + .'- PayByBandwidth: pay-by-bandwidth. The value of InternetMaxBandwidthOut is used as the fixed bandwidth value. '."\n" + .'- PayByTraffic: pay-by-traffic. The value of InternetMaxBandwidthOut is used as the maximum bandwidth. Billing is based on the actual network traffic.', 'type' => 'string', 'required' => false, 'example' => 'PayByBandwidth', 'title' => ''], ], [ - 'name' => 'Name', + 'name' => 'InternetMaxBandwidthOut', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'alarmtask****', - ], + 'schema' => ['description' => 'The maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 0 to 100.'."\n" + ."\n" + .'Default value: 0.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'Description', + 'name' => 'SystemDisk.Category', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test alarm task.', - ], + 'schema' => ['description' => 'The category of the system cloud disk. Valid values:'."\n" + ."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: Enterprise SSD (ESSD).'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + ."\n" + .'This parameter cannot be specified together with `SystemDiskCategories`. If neither this parameter nor `SystemDiskCategories` is specified, a default value is used. If the instance type belongs to Generation I instance families and the instance is not an I/O optimization instance, the default value is cloud. Otherwise, the default value is cloud_efficiency.', 'type' => 'string', 'required' => false, 'example' => 'cloud_efficiency', 'title' => ''], ], [ - 'name' => 'MetricName', + 'name' => 'SystemDisk.Size', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the metric. The valid values vary based on the metric type.'."\n" - ."\n" - .'* If you set the MetricType parameter to custom, the valid values are your custom metrics.'."\n" - ."\n" - .'* If you set the MetricType parameter to system, the MetricName parameter has the following valid values:'."\n" - ."\n" - .' * CpuUtilization: the CPU utilization of an ECS instance. Unit: %.'."\n" - .' * IntranetTx: the outbound traffic over the internal network from an ECS instance. Unit: KB/min.'."\n" - .' * IntranetRx: the inbound traffic over the Internet to an ECS instance that resides in a virtual private cloud (VPC). Unit: KB/min.'."\n" - .' * VpcInternetTx: the outbound traffic over the Internet from an ECS instance that resides in a VPC. Unit: KB/min.'."\n" - .' * VpcInternetRx: the inbound traffic over the Internet to an ECS instance that resides in a VPC. Unit: KB/min.'."\n" - .' * SystemDiskReadBps: the number of bytes read from the system disk used by an ECS instance per second.'."\n" - .' * SystemDiskWriteBps: the number of bytes written to the system disk used by an ECS instance per second.'."\n" - .' * SystemDiskReadOps: the number of read operations on the system disk used by an ECS instance per second.'."\n" - .' * SystemDiskWriteOps: the number of write operations on the system disk used by an ECS instance per second.'."\n" - .' * CpuUtilizationAgent: the CPU utilization of an agent. Unit: %.'."\n" - .' * GpuMemoryFreeUtilizationAgent: the percentage of idle GPU memory of an agent.'."\n" - .' * GpuMemoryUtilizationAgent: the GPU memory usage of an agent. Unit: %.'."\n" - .' * MemoryUtilization: the memory usage of an agent. Unit: %.'."\n" - .' * LoadAverage: the average system load of an agent.'."\n" - .' * TcpConnection: the total number of TCP connections of an agent.'."\n" - .' * TcpConnection: the number of established TCP connections of an agent.'."\n" - .' * PackagesNetOut: the number of packets that are sent by the internal network interface controller (NIC) used by an agent.'."\n" - .' * PackagesNetIn: the number of packets that are received by the internal NIC used by an agent.'."\n" - .' * EciPodCpuUtilization: the CPU utilization of an elastic container instance. Unit: %.'."\n" - .' * EciPodMemoryUtilization: the memory usage of an elastic container instance. Unit: %.'."\n" - ."\n" - .'For more information, see [Event-triggered task for system monitoring](~~74854~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'MemoryUtilization', - ], + 'schema' => ['description' => 'The size of the system cloud disk. Unit: GiB. Valid values:'."\n" + ."\n" + .'- Basic cloud disk: 20 to 500.'."\n" + .'- ESSD:'."\n" + .' - PL0: 1 to 2048.'."\n" + .' - PL1: 20 to 2048.'."\n" + .' - PL2: 461 to 2048.'."\n" + .' - PL3: 1261 to 2048.'."\n" + .'- ESSD AutoPL: 1 to 2048.'."\n" + .'- Other cloud disk types: 20 to 2048.'."\n" + ."\n" + .'The value of this parameter must be greater than or equal to max{1, ImageSize}.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], ], [ - 'name' => 'MetricType', + 'name' => 'SystemDisk.DiskName', 'in' => 'query', - 'schema' => [ - 'description' => 'The metric type. Valid Values:'."\n" - ."\n" - .'* system: a system metric of CloudMonitor.'."\n" - .'* custom: a custom metric that is reported to CloudMonitor.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'system', - 'default' => 'system', - ], + 'schema' => ['description' => 'The name of the system cloud disk. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (\\_), and hyphens (-). It must start with a letter or Chinese character and cannot start with http:// or https://. Default value: empty.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssdSystem', 'title' => ''], ], [ - 'name' => 'Period', + 'name' => 'SystemDisk.Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The period of time during which statistics about the metric is collected. Unit: seconds. Valid values:'."\n" - ."\n" - .'* 15'."\n" - .'* 60'."\n" - .'* 120'."\n" - .'* 300'."\n" - .'* 900'."\n" - ."\n" - .'> If your scaling group is of the ECS type and uses CloudMonitor metrics, you can set the Period parameter to 15. In other cases, you can set the Period parameter to 60, 120, 300, or 900. In most cases, the name of a CloudMonitor metric contains Agent.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '300', - ], + 'schema' => ['description' => 'The description of the system cloud disk. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Test system disk.', 'title' => ''], ], [ - 'name' => 'Statistics', + 'name' => 'SystemDisk.AutoSnapshotPolicyId', 'in' => 'query', - 'schema' => [ - 'description' => 'The method that is used to aggregate statistics for the metric. Valid values:'."\n" - ."\n" - .'* Average'."\n" - .'* Minimum'."\n" - .'* Maximum'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Average', - ], + 'schema' => ['description' => 'The ID of the automatic snapshot policy applied to the system cloud disk.', 'type' => 'string', 'required' => false, 'example' => 'sp-bp12m37ccmxvbmi5****', 'title' => ''], ], [ - 'name' => 'Threshold', + 'name' => 'SystemDisk.PerformanceLevel', 'in' => 'query', - 'schema' => [ - 'description' => 'The thresholds of the metric values in the multi-metric alert rule. If the thresholds are reached the specified number of times within the specified period, a scaling rule is executed.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '80', - ], + 'schema' => ['description' => 'The performance level (PL) of the system cloud disk when the disk type is ESSD. Valid values:'."\n" + ."\n" + .'- PL0: a single disk can deliver up to 10,000 random read/write IOPS.'."\n" + .'- PL1: a single disk can deliver up to 50,000 random read/write IOPS.'."\n" + .'- PL2: a single disk can deliver up to 100,000 random read/write IOPS.'."\n" + .'- PL3: a single disk can deliver up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'> For more information about how to select an ESSD performance level, see [ESSDs](~~122389~~).', 'type' => 'string', 'required' => false, 'example' => 'PL0', 'title' => ''], ], [ - 'name' => 'ComparisonOperator', + 'name' => 'LoadBalancerWeight', + 'in' => 'query', + 'schema' => ['description' => 'The weight of SLB backend server. Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], + ], + [ + 'name' => 'UserData', + 'in' => 'query', + 'schema' => ['description' => 'The user data of the ECS instance. The data must be Base64-encoded. The maximum size of the raw data before encoding is 32 KB.', 'type' => 'string', 'required' => false, 'example' => 'ZWNobyBoZWxsbyBlY3Mh', 'title' => ''], + ], + [ + 'name' => 'KeyPairName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the key pair used to log on to the ECS instance. '."\n" + .' '."\n" + .'- For Windows instances, this parameter is ignored and is empty by default. '."\n" + .'- For Linux instances, password-based logon is disabled during initialization.', 'type' => 'string', 'required' => false, 'example' => 'KeyPair_Name', 'title' => ''], + ], + [ + 'name' => 'RamRoleName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the RAM role associated with the ECS instance. The name is provided and maintained by Resource Access Management (RAM). You can call the ListRoles operation to query available RAM roles. For more information about how to create a RAM role, see the CreateRole operation.', 'type' => 'string', 'required' => false, 'example' => 'RamRoleTest', 'title' => ''], + ], + [ + 'name' => 'PasswordInherit', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use the password preset in the image. To use this parameter, ensure that a password is configured in the image.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'schema' => ['description' => 'The tags of the ECS instance. Tags are specified as key-value pairs. You can specify up to 20 tags. The following limits apply to Key and Value: '."\n" + .' '."\n" + .'- Key can be up to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`. Key cannot be an empty string. '."\n" + .'- Value can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`. Value can be an empty string.', 'type' => 'string', 'required' => false, 'example' => '{"key1":"value1","key2":"value2", ... "key5":"value5"}', 'title' => ''], + ], + [ + 'name' => 'DeploymentSetId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the deployment set to which the ECS instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'ds-bp13v7bjnj9gis****', 'title' => ''], + ], + [ + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the security group to which the ECS instance belongs. ECS instances in the same security group can communicate with each other.', 'type' => 'string', 'required' => false, 'example' => 'sg-F876F****', 'title' => ''], + ], + [ + 'name' => 'Override', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to override existing data. Valid values:'."\n" + .'- true: overrides existing data.'."\n" + .'- false: does not override existing data.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource group to which the ECS instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'abcd1234abcd****', 'title' => ''], + ], + [ + 'name' => 'HpcClusterId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the HPC cluster to which the ECS instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'hpc-clusterid', 'title' => ''], + ], + [ + 'name' => 'InstanceDescription', + 'in' => 'query', + 'schema' => ['description' => 'The description of the ECS instance. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Test instance.', 'title' => ''], + ], + [ + 'name' => 'Ipv6AddressCount', + 'in' => 'query', + 'schema' => ['description' => 'The number of randomly generated IPv6 addresses allocated to the elastic network interface (ENI).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'CreditSpecification', + 'in' => 'query', + 'schema' => ['description' => 'Modifies the running mode of a burstable instance. Valid values:'."\n" + ."\n" + .'- Standard: standard mode. For more information about instance performance, see the performance constrained mode section in [Overview of burstable instances](~~59977~~).'."\n" + ."\n" + .'- Unlimited: unlimited mode. For more information about instance performance, see the unlimited mode section in [Overview of burstable instances](~~59977~~).', 'type' => 'string', 'required' => false, 'example' => 'Standard', 'title' => ''], + ], + [ + 'name' => 'ImageFamily', + 'in' => 'query', + 'schema' => ['description' => 'The name of the image family. If you set this parameter, the latest available image in the specified image family is used to create instances. If you have set `ImageId`, you cannot set this parameter.', 'type' => 'string', 'required' => false, 'example' => 'hangzhou-daily-update', 'title' => ''], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => ['description' => 'The zone ID of the ECS instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-g', 'title' => ''], + ], + [ + 'name' => 'DedicatedHostId', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to create the ECS instance on a dedicated host. Because dedicated hosts do not support the creation of spot instances, the SpotStrategy and SpotPriceLimit parameter settings in the request are automatically ignored when you specify DedicatedHostId.'."\n" + ."\n" + .'You can invoke the DescribeDedicatedHosts API operation to query the list of dedicated host IDs.', 'type' => 'string', 'required' => false, 'example' => 'dh-bp67acfmxazb4p****', 'title' => ''], + ], + [ + 'name' => 'Affinity', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the instance is associated with a dedicated host. Valid values:'."\n" + ."\n" + .'- default: The instance is not associated with a dedicated host. When an instance that has the economical mode enabled is restarted, the instance is deployed to another dedicated host in the automatic deployment resource pool if the resources of the original dedicated host are insufficient.'."\n" + ."\n" + .'- host: The instance is associated with a dedicated host. When an instance that has the economical mode enabled is restarted, the instance remains on the original dedicated host. If the resources of the original dedicated host are insufficient, the instance fails to restart.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], + ], + [ + 'name' => 'Tenancy', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to create the instance on a dedicated host. Valid values:'."\n" + ."\n" + .'- default: creates a non-dedicated-host instance.'."\n" + ."\n" + .'- host: creates a dedicated host instance. If you do not specify DedicatedHostId, Alibaba Cloud automatically selects a dedicated host for the instance.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], + ], + [ + 'name' => 'SchedulerOptions', + 'in' => 'query', + 'style' => 'json', + 'schema' => ['description' => 'The scheduler options.', 'type' => 'object', 'required' => false, 'example' => '["testManagedPrivateSpaceId****"]', 'title' => ''], + ], + [ + 'name' => 'PrivatePoolOptions.MatchCriteria', + 'in' => 'query', + 'schema' => ['description' => 'The private pool option for instance startup. A private pool is generated after an elasticity assurance or capacity reservation takes effect. You can select a private pool when you start an instance. Valid values:'."\n" + ."\n" + .'- Open: open mode. The system automatically matches an open private pool. If no matching private pool is available, the public pool is used. You do not need to set PrivatePoolOptions.Id.'."\n" + ."\n" + .'- Target: specified mode. The instance is started by using the capacity of a specified private pool. If the specified private pool is unavailable, the instance fails to start. In this mode, you must specify the private pool ID. PrivatePoolOptions.Id is required.'."\n" + ."\n" + .'- None: no private pool is used. The instance does not use private pool capacity.', 'type' => 'string', 'required' => false, 'example' => 'Open', 'title' => ''], + ], + [ + 'name' => 'PrivatePoolOptions.Id', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the private pool. The ID of an elasticity assurance or capacity reservation.', 'type' => 'string', 'required' => false, 'example' => 'eap-bp67acfmxazb4****', 'title' => ''], + ], + [ + 'name' => 'SpotDuration', + 'in' => 'query', + 'schema' => ['description' => 'The protection period of the spot instance. Unit: hours. Valid values:'."\n" + ."\n" + .'- 1: After a spot instance is created, Alibaba Cloud ensures that the instance is not automatically released within 1 hour. After 1 hour, the system compares the bid price with the market price and checks the resource inventory to determine whether to retain automatic release the instance.'."\n" + .'- 0: After a spot instance is created, Alibaba Cloud does not ensure that the instance runs for 1 hour. The system compares the bid price with the market price and checks the resource inventory to determine whether to retain automatic release the instance.'."\n" + ."\n" + .'> Alibaba Cloud sends an ECS system event notification 5 minutes before the instance is released. Spot instances are billed by second. Set the protection period based on the expected task execution duration.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'SpotInterruptionBehavior', 'in' => 'query', + 'schema' => ['description' => 'The interruption pattern of the spot instance. Only Terminate (default) is supported, which directly releases the instance.', 'type' => 'string', 'required' => false, 'example' => 'Terminate', 'title' => ''], + ], + [ + 'name' => 'DataDisks', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The 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', + 'description' => 'The collection of data cloud disk information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The collection of data cloud disk information.', + 'type' => 'object', + 'properties' => [ + 'PerformanceLevel' => ['description' => 'The performance level (PL) of the data cloud disk when the disk type is ESSD. Valid values:'."\n" + ."\n" + .'- PL0: a single disk can deliver up to 10,000 random read/write IOPS.'."\n" + .'- PL1: a single disk can deliver up to 50,000 random read/write IOPS.'."\n" + .'- PL2: a single disk can deliver up to 100,000 random read/write IOPS.'."\n" + .'- PL3: a single disk can deliver up to 1,000,000 random read/write IOPS.'."\n" + ."\n" + .'> For more information about how to select an ESSD performance level, see [ESSDs](~~122389~~).', 'type' => 'string', 'required' => false, 'example' => 'PL1', 'title' => ''], + 'AutoSnapshotPolicyId' => ['description' => 'The ID of the automatic snapshot policy applied to the data cloud disk.', 'type' => 'string', 'required' => false, 'example' => 'sp-bp19nq9enxqkomib****', 'title' => ''], + 'Encrypted' => ['description' => 'Specifies whether to encrypt the system cloud disk. Valid values:'."\n" + ."\n" + .'- true: encrypts the disk.'."\n" + .'- false: does not encrypt the disk.', 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''], + 'Description' => ['description' => 'The description of the system cloud disk. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Test data disk. '."\n", 'title' => ''], + 'SnapshotId' => ['description' => 'The ID of the snapshot used to create the data cloud disk. If you specify this parameter, DataDisk.Size is ignored. The actual size of the created disk is the size of the specified snapshot.'."\n" + ."\n" + .'If the snapshot was created on or before July 15, 2013, the call is rejected and the error message InvalidSnapshot.TooOld is returned.', 'type' => 'string', 'required' => false, 'example' => 's-snapshot**** '."\n", 'title' => ''], + 'Categories' => [ + 'description' => 'The multiple disk types of the data cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance attribute of a basic cloud disk created along with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_auto: ESSD AutoPL.'."\n" + .'- cloud_regional_disk_auto: regional ESSD.'."\n" + ."\n" + .'> You cannot specify this parameter together with `DataDisk.Category`.', + 'type' => 'array', + 'items' => ['description' => 'The multiple disk types of the data cloud disk. When a disk type of higher priority cannot be used, Auto Scaling automatically attempts the next-priority disk type to create the data cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance attribute of a basic cloud disk created along with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_auto: ESSD AutoPL.'."\n" + .'- cloud_regional_disk_auto: regional ESSD.'."\n" + ."\n" + .'> You cannot specify this parameter together with `DataDisk.Category`.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', + ], + 'Size' => ['description' => 'The size of the data cloud disk. Unit: GiB. Valid values:'."\n" + ."\n" + .'- cloud: 5 to 2000.'."\n" + .'- cloud_efficiency: 20 to 32768.'."\n" + .'- cloud_ssd: 20 to 32768.'."\n" + .'- cloud_essd: 20 to 32768.'."\n" + .'- ephemeral_ssd: 5 to 800.'."\n" + ."\n" + .'The value of this parameter must be greater than or equal to the size of the snapshot specified by SnapshotId.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'Device' => ['description' => 'The mount point of the data cloud disk. If you do not specify this parameter, the system allocates a mount point by default during automatic creation of the ECS instance. The mount points range from /dev/xvdb to /dev/xvdz.', 'type' => 'string', 'required' => false, 'example' => '/dev/xvdd', 'title' => ''], + 'DiskName' => ['description' => 'The name of the system cloud disk. The name must be 2 to 128 characters in length and can contain letters, digits, colons (:), underscores (\\_), and hyphens (-). It must start with a letter or Chinese character and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssdData '."\n", 'title' => ''], + 'Category' => ['description' => 'The category of the data cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk. The DeleteWithInstance attribute of a basic cloud disk created along with the instance is set to true.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" + .'- ephemeral_ssd: local SSD.'."\n" + .'- cloud_auto: ESSD AutoPL.'."\n" + .'- cloud_regional_disk_auto: regional ESSD.'."\n" + ."\n" + .'This parameter cannot be specified together with `DataDisk.Categories`. If neither this parameter nor `DataDisk.Categories` is specified, the default value is used:'."\n" + ."\n" + .'- For I/O optimized instances, the default value is cloud_efficiency.'."\n" + ."\n" + .'- For non-I/O optimized instances, the default value is cloud.', 'type' => 'string', 'required' => false, 'example' => 'cloud_ssd', 'title' => ''], + 'DeleteWithInstance' => ['description' => 'Specifies whether the data cloud disk is released when the instance is released. Valid values:'."\n" + ."\n" + .'- true: releases the disk when the instance is released.'."\n" + .'- false: retains the disk when the instance is released.'."\n" + ."\n" + .'This parameter can be set only for independent cloud disks (DataDisk.Category is set to cloud, cloud_efficiency, cloud_ssd, cloud_essd, or cloud_auto). Otherwise, an error is returned.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'KMSKeyId' => ['description' => 'The ID of the KMS key for the data cloud disk.', 'type' => 'string', 'required' => false, 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'title' => ''], + 'ProvisionedIops' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metrics of the data cloud disk.'."\n" + ."\n" + .'> IOPS (Input/Output Operations Per Second) measures the number of read and write (output/input) operations that block storage can process per second.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100', 'title' => ''], + 'BurstingEnabled' => ['description' => 'Specifies whether to enable the burst (performance burst) feature for the system cloud disk. Valid values:'."\n" + ."\n" + .'- true: enabled.'."\n" + .'- false: not enabled.'."\n" + .'> This parameter is supported only when `SystemDisk.Category` is set to `cloud_auto`.'."\n" + ."\n" + .'For more information, see [ESSD AutoPL disks](~~368372~~).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '>=', + 'maxItems' => 16, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'EvaluationCount', + 'name' => 'SpotPriceLimits', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The information about spot instance types.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about spot instance types.', + 'type' => 'object', + 'properties' => [ + 'PriceLimit' => ['description' => 'The bid price for the spot instance. This parameter takes effect only when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.125 '."\n", 'title' => ''], + 'InstanceType' => ['description' => 'The instance type of the spot instance. This parameter takes effect only when SpotStrategy is set to SpotWithPriceLimit.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large '."\n", 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '3', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'GroupId', + 'name' => 'InstanceTypes', 'in' => 'query', + 'style' => 'repeatList', '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', + 'description' => 'The instance types for multiple instance type support. If InstanceTypes is specified, InstanceType is ignored.'."\n" + ."\n" + .'When instances cannot be created by using the instance type of higher priority, Auto Scaling automatically selects the next-priority instance type to create instances.', + 'type' => 'array', + 'items' => ['description' => 'The instance types for multiple instance type support. If InstanceTypes is specified, InstanceType is ignored.'."\n" + ."\n" + .'When instances cannot be created by using the instance type of higher priority, Auto Scaling automatically selects the next-priority instance type to create instances.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6.large', 'title' => ''], 'required' => false, - 'example' => '4055401', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Effective', + 'name' => 'InstanceTypeOverrides', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The effective period of the event-triggered task.'."\n" - ."\n" - .'This parameter follows the cron expression format. The default format is `X X X X X ?`, in which:'."\n" - ."\n" - .'* X: a placeholder for a field, which represents seconds, minutes, hours, days, and months in sequence. X can be a definite value or a special character that has logical meaning. For information about the valid values of X, see [Cron expression](~~25907~~).'."\n" - .'* ?: No value is specified.'."\n" - ."\n" - .'> By default, the value of this parameter is specified in **UTC+8**. You can specify the time zone in the `TZ=+yy` format before a cron expression. y indicates the time zone. For example, `TZ=+00 * * 1-2 * * ?` specifies that the event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* ` * * * * * ? `: The event-triggered task is in effect all the time.'."\n" - .'* ` * * 17-18 * * ? `: The event-triggered task is in effect between 17:00 and 18:59 (UTC+8) every day.'."\n" - .'* `TZ=+00 * * 1-2 * * ?`: The event-triggered task is in effect between 01:00 and 02:59 (UTC+0) every day.'."\n", - 'type' => 'string', + 'description' => 'The information about specified instance types.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about specified instance types.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'To specify the capacity of an instance type in the scaling configuration, specify both this parameter and InstanceTypeOverride.WeightedCapacity.'."\n" + ."\n" + .'This parameter specifies the instance type. You can specify multiple instance types and use the InstanceTypeOverride.WeightedCapacity parameter to assign custom weights to each type.'."\n" + ."\n" + .'> You cannot specify this parameter together with instanceTypes.'."\n" + ."\n" + .'Valid values of InstanceType: ECS instance types that are available for purchase.', 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.xlarge '."\n", 'title' => ''], + 'WeightedCapacity' => ['description' => 'To scale the scaling group based on instance type capacity, specify this parameter after specifying LaunchTemplateOverride.InstanceType.'."\n" + ."\n" + .'This parameter specifies the weight of the instance type, which represents the capacity of a single instance of this type in the scaling group. A larger weight means fewer instances of this type are required to meet the expected capacity.'."\n" + ."\n" + .'Because instance types differ in vCPU count, memory size, and other performance metrics, you can assign different weights to different instance types based on your requirements.'."\n" + ."\n" + .'Example:'."\n" + ."\n" + .'- Current capacity: 0.'."\n" + .'- Expected number of instances: 6.'."\n" + .'- Capacity of ecs.c5.xlarge: 4.'."\n" + ."\n" + .'To meet the expected capacity, the scaling group scales out 2 ecs.c5.xlarge instances.'."\n" + ."\n" + .'> During a scale-out, the capacity of the scaling group cannot exceed the sum of the maximum capacity (MaxSize) and the maximum weight of the instance types.'."\n" + ."\n" + .'Valid values of WeightedCapacity: 1 to 500.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'TZ=+00 * * 1-2 * * ?', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'AlarmActions', + 'name' => 'SecurityGroupIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The list of unique identifiers of the scaling rules that are associated with the event-triggered task.'."\n", + 'description' => 'The IDs of the security groups.', '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****', - ], + 'items' => ['description' => 'The IDs of the security groups.', 'type' => 'string', 'required' => false, 'example' => 'sg-bp18kz60mefs**** '."\n", 'title' => ''], 'required' => false, - 'maxItems' => 5, + 'maxItems' => 16, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Dimensions', + 'name' => 'InstancePatternInfos', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The metric dimensions.'."\n", + 'description' => 'The collection of intelligent configuration information used to filter instance types that meet the requirements.', 'type' => 'array', 'items' => [ - 'description' => 'The dimension of the metric.'."\n", + 'description' => 'The collection of intelligent configuration information used to filter instance types that meet the requirements.', '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" + 'Cores' => ['description' => 'The number of vCPU cores of the instance type in intelligent configuration mode, used to filter instance types that meet the requirements. For more information, see [Instance families](~~25378~~).'."\n" + ."\n" + .'Note the following information:'."\n" + ."\n" + .'- The InstancePatternInfo parameter applies only to scaling groups that use the VPC network type.'."\n" + ."\n" + .'- You must specify both InstancePatternInfo.Cores and InstancePatternInfo.Memory.'."\n" + ."\n" + .'- If you have specified instance types by using the InstanceType or InstanceTypes parameter, Auto Scaling preferentially uses the specified instance types for scale-out. When the specified instance types are out of stock, Auto Scaling selects the lowest-priced instance type from those that match the InstancePatternInfo parameter values.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'InstanceFamilyLevel' => ['description' => 'The level of the instance family, used to filter instance types that meet the requirements. This parameter takes effect when `CostOptimization` is enabled. Valid values:'."\n" + ."\n" + .'- EntryLevel: entry level, which refers to shared instance types. These types are more cost-effective but do not guarantee stable computing performance. They are suitable for scenarios with low CPU utilization. For more information, see [Shared instance families](~~108489~~).'."\n" + .'- EnterpriseLevel: enterprise level. These types provide stable performance and dedicated resources. They are suitable for scenarios that require high stability. For more information, see [Instance families](~~25378~~).'."\n" + .'- CreditEntryLevel: credit-based entry level, which refers to burstable instances. These types use CPU credits to ensure computing performance. They are suitable for scenarios with low average CPU utilization and occasional bursts. For more information, see [Overview of burstable instances](~~59977~~).', 'type' => 'string', 'required' => false, 'example' => 'EnterpriseLevel', 'title' => ''], + 'MaxPrice' => ['description' => 'The maximum hourly price for pay-as-you-go or spot instances in intelligent configuration mode, used to filter instance types that meet the requirements.'."\n" + ."\n" + .'> This parameter is required when SpotStrategy is set to SpotWithPriceLimit. In other cases, this parameter is optional.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2', 'title' => ''], + 'Memory' => ['description' => 'The memory size of the instance type in intelligent configuration mode. Unit: GiB. This parameter is used to filter instance types that meet the requirements.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'Architectures' => [ + 'description' => 'The architecture types of the instance type. Valid values:'."\n" + ."\n" + .'- X86: X86 computing.'."\n" + .'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n" + .'- BareMental: ECS Bare Metal Instance server.'."\n" + .'- Arm: Arm computing.'."\n" ."\n" - .'* If you set MetricType to custom, you can specify this parameter based on your business requirements.'."\n" + .'Default value: all architecture types are included.', + 'type' => 'array', + 'items' => ['description' => 'The architecture types of the instance type. Valid values:'."\n" ."\n" - .'* If you set MetricType to system, this parameter has the following valid values:'."\n" + .'- X86: X86 computing.'."\n" + .'- Heterogeneous: heterogeneous computing, such as GPU or FPGA.'."\n" + .'- BareMental: ECS Bare Metal Instance server.'."\n" + .'- Arm: Arm computing.'."\n" ."\n" - .' * 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', + .'Default value: all architecture types are included.', 'type' => 'string', 'required' => false, 'example' => 'X86', 'title' => ''], 'required' => false, - 'example' => 'device', + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], - 'DimensionValue' => [ - 'description' => 'The dimension value of the metric. The valid values of this parameter vary based on the value of Dimensions.DimensionKey.'."\n" - ."\n" - .'* If you set MetricType to custom, you can specify this parameter based on your business requirements.'."\n" - ."\n" - .'* If you set MetricType to system, Dimension.N.DimensionValue has the following valid values:'."\n" - ."\n" - .' * user_id: The system specifies the value.'."\n" - ."\n" - .' * scaling_group: The system specifies the value.'."\n" - ."\n" - .' * device:'."\n" - ."\n" - .' * eth0: For classic network instances, eth0 indicates the internal network network interface controller. Only one eth0 NIC exists on each instance that resides in VPCs.'."\n" - .' * eth1: For classic network instances, eth1 represents the Internet network interface controller.'."\n" + 'BurstablePerformance' => ['description' => 'Specifies whether to include burstable instance types. Valid values:'."\n" + .'- Exclude: excludes burstable instance types.'."\n" + .'- Include: includes burstable instance types.'."\n" + .'- Required: includes only burstable instance types.'."\n" + ."\n" + .'Default value: Include.', 'type' => 'string', 'required' => false, 'example' => 'Include', 'title' => ''], + 'ExcludedInstanceTypes' => [ + 'description' => 'The instance types to exclude. You can use wildcard characters (*) to exclude a single instance type or an entire instance family. Examples:'."\n" ."\n" - .' * state:'."\n" + .'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n" + .'- ecs.c6.*: excludes the entire c6 instance family.', + 'type' => 'array', + 'items' => ['description' => 'The instance types to exclude. You can use wildcard characters (*) to exclude a single instance type or an entire instance family. Examples:'."\n" ."\n" - .' * TCP_TOTAL specifies the total number of TCP connections.'."\n" - .' * ESTABLISHED specifies the number of TCP connections that are established.'."\n", - 'type' => 'string', + .'- ecs.c6.large: excludes the ecs.c6.large instance type.'."\n" + .'- ecs.c6.*: excludes the entire c6 instance family.', 'type' => 'string', 'required' => false, 'example' => 'ecs.n1.small/ecs.n1.*/*7*', 'title' => ''], 'required' => false, - 'example' => 'eth0', + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], - ], - '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', + 'InstanceTypeFamilies' => [ + 'description' => 'The instance families to query. N indicates that you can specify multiple instance families. Valid values of N: 1 to 10.', + 'type' => 'array', + 'items' => ['description' => 'The instance families to query. N indicates that you can specify multiple instance families. Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'ecs.g6', 'title' => ''], 'required' => false, - 'example' => 'CpuUtilization', + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', ], - 'ComparisonOperator' => [ - 'description' => 'The operator that is used to compare the metric value and the threshold. Valid values:'."\n" - ."\n" - .'* If the metric value is greater than or equal to the threshold, set the value to `>=`.'."\n" - .'* If the metric value is less than or equal to the threshold, set the value to `<=`.'."\n" - .'* If the metric value is greater than the threshold, set the value to `>`.'."\n" - .'* If the metric value is less than the threshold, set the value to `<`.'."\n" - ."\n" - .'Default value: >=.'."\n", - 'type' => 'string', + 'MinimumCpuCoreCount' => ['description' => 'The minimum number of vCPU cores of the instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MaximumCpuCoreCount' => ['description' => 'The maximum number of vCPU cores of the instance type.'."\n" + ."\n" + .'> MaximumCpuCoreCount cannot exceed 4 times the value of MinimumCpuCoreCount.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], + 'GpuSpecs' => [ + 'description' => 'The GPU type.', + 'type' => 'array', + 'items' => ['description' => 'The GPU type.', 'type' => 'string', 'required' => false, 'example' => 'NVIDIA V100', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', + ], + 'InstanceCategories' => [ + 'description' => 'The categorization of the instance type. Valid values:'."\n" + .'- General-purpose: general purpose.'."\n" + .'- Compute-optimized: compute optimized.'."\n" + .'- Memory-optimized: memory optimized.'."\n" + .'- Big data: big data.'."\n" + .'- Local SSDs: local SSD.'."\n" + .'- High Clock Speed: high frequency.'."\n" + .'- Enhanced: enhanced.'."\n" + .'- Shared: shared.'."\n" + .'- Compute-optimized with GPU: GPU compute optimized.'."\n" + .'- Visual Compute-optimized: visual compute optimized.'."\n" + .'- Heterogeneous Service: heterogeneous service.'."\n" + .'- Compute-optimized with FPGA: FPGA compute optimized.'."\n" + .'- Compute-optimized with NPU: NPU compute optimized.'."\n" + .'- ECS Bare Metal: ECS Bare Metal Instance server.'."\n" + .'- High Performance Compute: high-performance computing (HPC).', + 'type' => 'array', + 'items' => ['description' => 'The categorization of the instance type. Valid values:'."\n" + .'- General-purpose: general purpose.'."\n" + .'- Compute-optimized: compute optimized.'."\n" + .'- Memory-optimized: memory optimized.'."\n" + .'- Big data: big data.'."\n" + .'- Local SSDs: local SSD.'."\n" + .'- High Clock Speed: high frequency.'."\n" + .'- Enhanced: enhanced.'."\n" + .'- Shared: shared.'."\n" + .'- Compute-optimized with GPU: GPU compute optimized.'."\n" + .'- Visual Compute-optimized: visual compute optimized.'."\n" + .'- Heterogeneous Service: heterogeneous service.'."\n" + .'- Compute-optimized with FPGA: FPGA compute optimized.'."\n" + .'- Compute-optimized with NPU: NPU compute optimized.'."\n" + .'- ECS Bare Metal: ECS Bare Metal Instance server.'."\n" + .'- High Performance Compute: high-performance computing (HPC).', 'type' => 'string', 'required' => false, 'example' => 'Compute-optimized with GPU', 'title' => ''], 'required' => false, - 'example' => '>=', + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', ], - 'Period' => [ - 'description' => 'The period of time during which statistics about the metrics in the multi-metric alert rule is collected. Unit: seconds. Valid values:'."\n" + 'CpuArchitectures' => [ + 'description' => 'The CPU architectures of the instance. Valid values:'."\n" ."\n" - .'* 15'."\n" - .'* 60'."\n" - .'* 120'."\n" - .'* 300'."\n" - .'* 900'."\n" + .'> N indicates that you can specify multiple CPU architectures. Valid values of N: 1 to 2.'."\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" + .'- X86.'."\n" + .'- ARM.', + 'type' => 'array', + 'items' => ['description' => 'The CPU architecture of the instance type. Valid values:'."\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 indicates that you can specify multiple CPU architectures. Valid values of N: 1 to 2.'."\n" ."\n" - .'* Average'."\n" - .'* Minimum'."\n" - .'* Maximum'."\n", - 'type' => 'string', + .'- X86.'."\n" + .'- ARM.', 'type' => 'string', 'required' => false, 'example' => 'X86', 'title' => ''], 'required' => false, - 'example' => 'Average', + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', ], - 'Threshold' => [ - 'description' => 'The thresholds of the metric values in the multi-metric alert rule. If the thresholds are reached the specified number of times within the specified period, a scaling rule is executed.'."\n", - 'type' => 'number', - 'format' => 'float', + 'PhysicalProcessorModels' => [ + 'description' => 'The processor models of the instance. N indicates that you can specify multiple processor models. Valid values of N: 1 to 10.', + 'type' => 'array', + 'items' => ['description' => 'The processor models of the instance. N indicates that you can specify multiple processor models. Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'Intel Xeon(Ice Lake) Platinum 8369B', 'title' => ''], 'required' => false, - 'example' => '40.0', - ], + 'maxItems' => 20, + 'minItems' => 0, + 'title' => '', + 'example' => '', + ], + 'MinimumEniQuantity' => ['description' => 'The minimum number of elastic network interfaces (ENIs) that the instance supports.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MinimumEniPrivateIpAddressQuantity' => ['description' => 'The minimum number of IPv4 addresses per elastic network interface (ENI) of the instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MinimumEniIpv6AddressQuantity' => ['description' => 'The minimum number of IPv6 addresses per elastic network interface (ENI) of the instance.'."\n" + .'[_single.params.InstancePatternInfos.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'MinimumInitialCredit' => ['description' => 'The minimum initial vCPU credits for burstable instances (t5 and t6).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12', 'title' => ''], + 'MinimumBaselineCredit' => ['description' => 'The minimum baseline vCPU computing performance (sum of all vCPUs) for burstable instances (t5 and t6).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '12', 'title' => ''], + 'MinimumMemorySize' => ['description' => 'The minimum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'MaximumMemorySize' => ['description' => 'The maximum memory size of the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'MinimumGpuAmount' => ['description' => 'The minimum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + 'MaximumGpuAmount' => ['description' => 'The maximum number of GPUs of the instance. Valid values: positive integers.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ExpressionsLogicOperator', + 'name' => 'SystemDiskCategories', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The relationship between the trigger conditions in the multi-metric alert rule. Valid values:'."\n" + 'description' => 'The multiple disk types of the system cloud disk. When a disk type of higher priority cannot be used, Auto Scaling automatically attempts the next-priority disk type to create the system cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" ."\n" - .'* `&&`: 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" + .'> You cannot specify this parameter together with `SystemDisk.Category`.', + 'type' => 'array', + 'items' => ['description' => 'The multiple disk types of the system cloud disk. When a disk type of higher priority cannot be used, Auto Scaling automatically attempts the next-priority disk type to create the system cloud disk. Valid values:'."\n" + .'- cloud: basic cloud disk.'."\n" + .'- cloud_efficiency: ultra cloud disk.'."\n" + .'- cloud_ssd: standard SSD.'."\n" + .'- cloud_essd: ESSD.'."\n" ."\n" - .'Default value: `&&`.', - 'type' => 'string', + .'> You cannot specify this parameter together with `SystemDisk.Category`.', 'type' => 'string', 'required' => false, 'example' => 'cloud', 'title' => ''], 'required' => false, - 'example' => '&&', + 'maxItems' => 10, + 'title' => '', + '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' => '', - ], + [ + 'name' => 'Password', + 'in' => 'query', + 'schema' => ['description' => 'The password of the ECS instance. The password must be 8 to 30 characters in length and must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. The following special characters are supported:'."\n" + ."\n" + .'`()~!@#$%^&*-_+=\\|{}[]:;\'<>,.?/'."\n" + ."\n" + .'For Windows instances, the password cannot start with a forward slash (/).'."\n" + ."\n" + .'> If you specify Password, use HTTPS to send the request to prevent password leaks.', 'type' => 'string', 'required' => false, 'example' => '123abc****', 'title' => ''], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_83948190-acdd-483f-98f7-b77f4778****\\",\\n \\"RequestId\\": \\"BACACF83-7070-4953-A8FD-D81F89F1****\\"\\n}","type":"json"}]', - 'title' => 'ModifyAlarm', - 'description' => '* If you set the MetricType parameter to custom, you must report your custom metrics to CloudMonitor before you can create event-triggered tasks by using the custom metrics. For more information, see [Custom monitoring event-triggered tasks](~~74861~~).'."\n" - ."\n" - .'* When you create an event-triggered task, you must specify the MetricName, DimensionKey, and DimensionValue parameters to determine the range of statistics that you want to aggregate for the metrics of the scaling group. For example, you can specify the user_id and scaling_group dimensions for an event-triggered task to aggregate monitoring data of all Elastic Compute Service (ECS) instances or elastic container instances in a scaling group within an Alibaba Cloud account.'."\n" - ."\n" - .' * If you set the MetricType parameter to custom, the valid values are your custom metrics.'."\n" - .' * For information about the metrics that are supported if you set the MetricType parameter to system, see[ Event-triggered task for system monitoring](~~74854~~).'."\n" - ."\n" - .'> The user_id and scaling_group dimensions are automatically populated. You need to only specify the device and state dimensions. For more information, see the `DimensionKey` and `DimensionValue` parameters in the "Request parameters" section of this topic.'."\n", - ], - 'EnableAlarm' => [ - 'summary' => 'Enables an event-triggered task. If your business pattern is unpredictable or prone to unforeseen traffic spikes, you can create event-triggered tasks by associating CloudMonitor metrics to effectively monitor fluctuations in your business workload. Upon detecting that the criteria for alerts, as specified in event-triggered tasks, are fulfilled, Auto Scaling promptly issues alerts and executes the scaling rules predefined within those tasks. This process occurs within the predefined effective time windows of the tasks, thereby facilitating the automatic increase or decrease of Elastic Compute Service (ECS) instances or elastic container instances within your scaling groups. Ultimately, this mechanism ensures the dynamic optimization of resources based on real-time workload demands. If you want to reuse an event-triggered task that is in the Disabled state, you can call the EnableAlarm operation to enable it.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'SystemDisk.Encrypted', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to encrypt the system cloud disk. Valid values:'."\n" + ."\n" + .'- true: encrypts the disk.'."\n" + .'- false: does not encrypt the disk.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125397', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', + [ + 'name' => 'SystemDisk.KMSKeyId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the KMS key used for the system cloud disk.', 'type' => 'string', 'required' => false, 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'SystemDisk.EncryptAlgorithm', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The encryption algorithm for the system cloud disk. Valid values:'."\n" + ."\n" + .'- AES-256.'."\n" + .'- SM4-128.'."\n" + ."\n" + .'Default value: AES-256.', 'type' => 'string', 'required' => false, 'example' => 'AES-256', 'title' => ''], ], [ - 'name' => 'AlarmTaskId', + 'name' => 'SystemDisk.ProvisionedIops', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', - ], + 'schema' => ['description' => 'The provisioned IOPS (Input/Output Operations Per Second) performance metrics for the system disk.'."\n" + ."\n" + .'> IOPS (Input/Output Operations Per Second) indicates the number of I/O operations that can be processed per second. It measures the read/write (output/input) capability of block storage.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '688B18B8-FB1E-42EB-A1ED-7F55B090****', - ], - ], - 'description' => '', - ], + [ + 'name' => 'SystemDisk.BurstingEnabled', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the burst (performance burst) feature for the system cloud disk. Valid values:'."\n" + ."\n" + .'- true: enabled.'."\n" + .'- false: not enabled. '."\n" + .'> This parameter is supported only when `SystemDisk.Category` is set to `cloud_auto`.'."\n" + ."\n" + .'For more information, see [ESSD AutoPL disks](~~368372~~).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - ], - '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' => [], + 'name' => 'ImageOptions.LoginAsNonRoot', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the ECS instance uses the ecs-user user for logon. For more information, see [Manage the logon name of an ECS instance](~~388447~~).'."\n" + .'[Manage the logon name of an ECS instance](~~'."\n" + .'[管理ECS实例的登录名](~~388447~~)', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125352', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', + [ + 'name' => 'DeletionProtection', + 'in' => 'query', + 'schema' => ['description' => 'The release protection property of the instance. Specifies whether the instance can be directly released from the ECS console or by calling the DeleteInstance operation, to prevent the instance from being accidentally deleted. Valid values:'."\n" + ."\n" + .'- true: Enables release protection. The instance cannot be directly released from the ECS console or by calling the DeleteInstance operation.'."\n" + ."\n" + .'- false: Disables release protection. The instance can be directly released from the ECS console or by calling the DeleteInstance operation.'."\n" + ."\n" + .'> This property applies only to pay-as-you-go instances. It prevents instances scaled out by Auto Scaling from being accidentally deleted, but does not affect normal scale-in activities. Instances with release protection enabled can still be released by scale-in activities.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'StorageSetId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The ID of the storage set.', 'type' => 'string', 'required' => false, 'example' => 'ss-bp67acfmxazb4p****', 'title' => ''], ], [ - 'name' => 'AlarmTaskId', + 'name' => 'StorageSetPartitionNumber', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of partitions in the storage set. The value must be an integer that is greater than or equal to 2.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'CustomPriorities', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', + 'description' => 'The custom priorities of ECS instance type and vSwitch combinations.'."\n" + .'>This parameter takes effect only when the scaling policy of the scaling group is set to priority policy.'."\n" + ."\n" + .'If an instance cannot be created based on the instance type and vSwitch combination with the highest priority, Auto Scaling automatically selects the combination with the next highest priority to create the instance.'."\n" + ."\n" + .'> If you specify custom priorities for only some instance type and vSwitch combinations, the unspecified combinations have lower priorities than the specified ones. The priorities of the unspecified combinations are determined by the order of vSwitches in the scaling group and the order of instance types in the scaling configuration.'."\n" + .'> - For example, if the vSwitch order in the scaling group is vsw1 and vsw2, the instance type order in the scaling configuration is type1 and type2, and the custom priority order is ["vsw2+type2", "vsw1+type2"], the final priority is: "vsw2+type2" > "vsw1+type2" > "vsw1+type1" > "vsw2+type1".', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The instance type of the ECS instance.'."\n" + ."\n" + .'> The instance type must be included in the instance type list of the scaling configuration.', 'type' => 'string', 'required' => false, 'example' => 'ecs.c6a.4xlarge', 'title' => ''], + 'VswitchId' => ['description' => 'The ID of the vSwitch.'."\n" + ."\n" + .'> The vSwitch must be included in the vSwitch list of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp14zolna43z266bq****', 'title' => ''], + ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'NetworkInterfaces', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '086EFCD4-C76F-4DC6-9EE9-0D9B711E****', + 'description' => 'The list of elastic network interfaces (ENIs).', + 'type' => 'array', + 'items' => [ + 'description' => 'The elastic network interface (ENI).', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The type of the elastic network interface (ENI). When you use this parameter, you must use NetworkInterfaces to set the primary network interface controller (NIC). You cannot set SecurityGroupId or SecurityGroupIds at the same time. Valid values:'."\n" + ."\n" + .'- Primary: primary ENI.'."\n" + .'- Secondary: secondary ENI.'."\n" + ."\n" + .'Default value: Secondary.', 'type' => 'string', 'required' => false, 'example' => 'Primary', 'title' => ''], + 'NetworkInterfaceTrafficMode' => ['description' => 'The communication mode of the network interface controller (NIC). Valid values:'."\n" + ."\n" + .'- Standard: uses the TCP communication mode.'."\n" + .'- HighPerformance: enables the Elastic RDMA Interface (ERI) and uses the RDMA communication mode.'."\n" + ."\n" + .'Default value: Standard.'."\n" + ."\n" + .'> The number of elastic network interfaces (ENIs) in RDMA mode cannot exceed the limit of the instance family. For more information, see [Instance families](~~25378~~).', 'type' => 'string', 'required' => false, 'example' => 'HighPerformance', 'title' => ''], + 'Ipv6AddressCount' => ['description' => 'The number of randomly generated IPv6 addresses for the primary ENI. Note the following items:'."\n" + ."\n" + .'This parameter takes effect only when NetworkInterface.InstanceType is set to Primary. If NetworkInterface.InstanceType is set to Secondary or left empty, you cannot specify this parameter.'."\n" + ."\n" + .'After you specify this parameter, you cannot specify Ipv6AddressCount.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + 'SecurityGroupIds' => [ + 'description' => 'The IDs of one or more security groups to which the elastic network interface (ENI) belongs.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of one or more security groups to which the elastic network interface (ENI) belongs. Note the following items:'."\n" + ."\n" + .'- If NetworkInterface.InstanceType is set to Primary, you must set this parameter. In this case, this parameter has the same effect as SecurityGroupIds, but you cannot set SecurityGroupId or SecurityGroupIds again.'."\n" + ."\n" + .'- If NetworkInterface.InstanceType is set to Secondary or left empty, this parameter is optional. The default value is the security group of the ECS instance, which is the security group of the primary elastic network interface (ENI).', 'type' => 'string', 'required' => false, 'example' => 'sg-2ze55shrxxxxx', 'title' => ''], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', + ], + 'SecondaryPrivateIpAddressCount' => ['description' => 'The number of secondary private IPv4 addresses to assign to the ENI. Valid values: 1 to 49.'."\n" + ."\n" + .'- The value cannot exceed the IP address limit for the instance type. For more information, see [Instance families](https://www.alibabacloud.com/help/en/ecs/user-guide/overview-of-instance-families).'."\n" + ."\n" + .'- NetworkInterface.N.SecondaryPrivateIpAddressCount specifies the number of secondary private IPv4 addresses to assign to the ENI (excluding the primary private IP address of the ENI). The system randomly assigns IP addresses from the available CIDR block of the vSwitch (NetworkInterface.N.VSwitchId) to which the ENI belongs.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '6', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'description' => '', + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'DedicatedHostClusterId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the dedicated host cluster.', 'type' => 'string', 'required' => false, 'example' => 'dc-zm04u8r3lohsq****', 'title' => ''], + ], + [ + 'name' => 'SecurityOptions', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The security options.', + 'type' => 'object', + 'properties' => [ + 'ConfidentialComputingMode' => ['description' => 'The confidential computing mode. Valid values:'."\n" + .'- Enclave: The ECS instance uses Enclave to build a confidential computing environment. For more information, see [Build a confidential computing environment by using Enclave](~~203433~~).'."\n" + .'- TDX: A TDX confidential computing environment is built. For more information, see [Build a TDX confidential computing environment](~~479090~~).', 'type' => 'string', 'required' => false, 'example' => 'TDX', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], - ], - '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' => [], + 'name' => 'HttpEndpoint', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the access channel for instance metadata. Valid values:'."\n" + .'- enabled: enabled.'."\n" + .'- disabled: disabled.'."\n" + ."\n" + .'Default value: enabled.'."\n" + ."\n" + .'> For more information about instance metadata, see [Overview of ECS instance metadata](~~108460~~).', 'type' => 'string', 'required' => false, 'example' => 'enabled', 'title' => ''], ], - ], - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '125349', - 'abilityTreeNodes' => [ - 'FEATUREessBFLAJQ', + [ + 'name' => 'HttpTokens', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to forcefully use the security-hardened mode (IMDSv2) to access instance metadata. Valid values:'."\n" + ."\n" + .'- optional: does not forcefully use the security-hardened mode.'."\n" + .'- required: forcefully uses the security-hardened mode. After you set this value, instance metadata cannot be accessed in normal mode.'."\n" + ."\n" + .'Default value: optional.'."\n" + ."\n" + .'> For more information about the modes for accessing instance metadata, see [Access mode of instance metadata](~~108460~~).', 'type' => 'string', 'required' => false, 'example' => 'optional', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'InternetMaxBandwidthIn', + 'in' => 'query', + 'schema' => ['description' => 'The maximum inbound bandwidth for public network traffic. Unit: Mbit/s. Valid values:'."\n" + ."\n" + .'- If the purchased maximum outbound bandwidth for public network traffic is less than or equal to 10 Mbit/s: 1 to 10. Default value: 10.'."\n" + .'- If the purchased maximum outbound bandwidth for public network traffic is greater than 10 Mbit/s: 1 to the value of `InternetMaxBandwidthOut`. Default value: the value of `InternetMaxBandwidthOut`.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'ResourcePoolOptions', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-qingdao', + 'description' => 'The resource pool policy used when instances are created. After you specify this parameter, note the following items:'."\n" + ."\n" + .'- This parameter takes effect only when pay-as-you-go instances are created.'."\n" + ."\n" + .'- This parameter cannot be specified together with PrivatePoolOptions.MatchCriteria or PrivatePoolOptions.Id.', + 'type' => 'object', + 'properties' => [ + 'Strategy' => ['description' => 'Resource pools include private pools generated after elasticity assurance or capacity reservation takes effect, and public pools, which are available for instance startup. Valid values:'."\n" + ."\n" + .'- PrivatePoolFirst: private pool first. When this strategy is selected and ResourcePoolOptions.PrivatePoolIds is specified or PrivatePoolTags conditions are met, the corresponding private pools are used first. If no private pool is specified or the specified private pool has insufficient capacity, open-type private pools are automatically matched. If no matching private pool is available, the public pool is used to create instances.'."\n" + ."\n" + .'- PrivatePoolOnly: private pool only. When this strategy is selected, you must specify ResourcePoolOptions.PrivatePoolIds. If the specified private pool has insufficient capacity, the instance fails to start.'."\n" + ."\n" + .'- PublicPoolFirst: public pool first. The public pool is used first to create instances. When public pool resources are insufficient, private pool resources are used as a supplement. Open-type private pools are automatically matched first. If no matching private pool is available, the Target-type private pools specified by ResourcePoolOptions.PrivatePoolIds or matching PrivatePoolTags conditions are used. (This strategy is in invitational preview and is not available for use.)'."\n" + ."\n" + .'- None: does not use a resource pool strategy.'."\n" + ."\n" + .'Default value: None.', 'type' => 'string', 'required' => false, 'example' => 'PrivatePoolFirst', 'title' => ''], + 'PrivatePoolIds' => [ + 'description' => 'The IDs of private pools, which are the IDs of elasticity assurance or capacity reservation. Only Target-type private pool IDs can be specified. This parameter cannot be specified together with the PrivatePoolTags parameter.', + 'type' => 'array', + 'items' => ['description' => 'The ID of a private pool, which is the ID of an elasticity assurance or capacity reservation. Only Target-type private pool IDs can be specified. This parameter cannot be specified together with the PrivatePoolTags parameter. Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'eap-bp67acfmxazb4****', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'PrivatePoolTags' => [ + 'description' => 'Filters available Target private pools by tags. Valid values of N: 1 to 20.'."\n" + .'Note:'."\n" + .'- When this parameter is specified, the system filters only the Target private pools associated with the account that match the tags and satisfy the scaling group constraints such as zone and instance type.'."\n" + .'- Tag matching rule: A private pool must match all specified tags.'."\n" + .'- This parameter cannot be specified together with the PrivatePoolIds parameter.', + 'type' => 'array', + 'items' => [ + 'description' => 'Filters available Target private pools by tags. Valid values of N: 1 to 20.'."\n" + .'Note:'."\n" + .'- When this parameter is specified, the system filters only the Target private pools associated with the account that match the tags and satisfy the scaling group constraints such as zone and instance type.'."\n" + .'- Tag matching rule: A private pool must match all specified tags.'."\n" + .'- This parameter cannot be specified together with the PrivatePoolIds parameter.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the private pool.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], + 'Value' => ['description' => 'The tag value of the private pool.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'AlarmTaskId', + 'name' => 'InstanceTypeCandidateOptions', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The ID of the event-triggered task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', + 'description' => 'After the alternative mode is enabled, when issues such as insufficient inventory occur, similar instance types of the same size are supplemented based on the currently selected instance types, or vSwitches in alternative zones are created and added to the scaling group.', + 'type' => 'object', + 'properties' => [ + 'Enabled' => ['description' => 'Specifies whether to enable the alternative mode.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'MaxPrice' => ['description' => 'The maximum price for alternative instance types.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.5', 'title' => ''], + 'AllowDifferentGeneration' => ['description' => 'Specifies whether to allow supplementing instance types of other generations.'."\n" + ."\n" + .'- For example, if the current instance type is ecs.c7.large, enabling this option allows alternative instance types such as ecs.c6.large and ecs.c8.large.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'AllowCrossAz' => ['description' => 'Specifies whether to allow supplementing vSwitches in other zones.'."\n" + .'> The instance type remains unchanged. Only alternative zones are selected. When all selected zones in the scaling group cannot be used for scale-out due to issues such as insufficient inventory, new zone vSwitches are automatically added to the scaling group based on this configuration.'."\n" + .'> For example, if the scaling group is configured with the cn-hangzhou-h and cn-hangzhou-g zones, and neither zone can be used for scale-out, Auto Scaling may create a vSwitch in cn-hangzhou-k based on real-time inventory and add it to the scaling group.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'AllowCidrBlocks' => [ + 'description' => 'The CIDR blocks for optional vSwitches when supplementing vSwitches in other zones is allowed.', + 'type' => 'array', + 'items' => ['description' => 'The CIDR blocks for optional vSwitches when supplementing vSwitches in other zones is allowed.', 'type' => 'string', 'required' => false, 'example' => '172.16.0.0/24', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response returned after the scaling configuration is modified.', 'type' => 'object', 'properties' => [ - 'AlarmTaskId' => [ - 'description' => 'The ID of the event-triggered task.'."\n", - 'type' => 'string', - 'example' => 'asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '6EF9BFEE-FE07-4627-B8FB-14326FB9****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], - 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AlarmTaskId\\": \\"asg-bp1hvbnmkl10vll5****_f95ce797-dc2e-4bad-9618-14fee7d1****\\",\\n \\"RequestId\\": \\"6EF9BFEE-FE07-4627-B8FB-14326FB9****\\"\\n}","type":"json"}]', - 'title' => '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', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'gatewayOptions' => [ + 'gatewayProtocols' => [], ], - 'schemes' => [ - 'https', + 'title' => 'Modify an eCS-type scaling configuration', + 'description' => '- If you modify the name of a scaling configuration, ensure that no duplicate names exist within the same scaling group.'."\n" + .'- You can bind a primary network interface controller (NIC) by using either of the following methods. However, you can use only one method in a single request. If you use both methods, the call fails and an error message is returned. When you modify a scaling configuration by using one method, the NIC configurations set by the other method are cleared.'."\n" + ."\n" + .' - Set the configurations of the primary NIC by using parameters such as SecurityGroupId, SecurityGroupIds, and Ipv6AddressCount.'."\n" + ."\n" + .' - Set the configurations of the primary NIC and secondary NICs by using the NetworkInterfaces parameter. When you use the NetworkInterfaces parameter, you must configure the primary NIC. If NetworkInterface.InstanceType is set to Primary, the primary NIC is configured. If NetworkInterface.InstanceType is set to Secondary or left empty, a secondary NIC is configured.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyScalingConfiguration', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'ModifyScalingGroup' => [ + 'summary' => 'Modifies a scaling group. If you want to enable policy-based automatic addition or removal of instances of a specific type to meet evolving business requirements, you can modify scaling groups to adjust your computing power with ease. The computing power refers to the instances that provide the computing capability. When your scaling group cannot meet your business requirements, you can call the ModifyScalingGroup operation to modify scaling group attributes such as the maximum, minimum, and expected numbers of instances. This prevents repeated creation and configuration of scaling groups, which saves you a lot of time and resource costs.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -23724,783 +16608,405 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '234886', - 'abilityTreeNodes' => [ - 'FEATUREessACRSW1', - ], + 'abilityTreeCode' => '125326', + 'abilityTreeNodes' => ['FEATUREessXN6KX4'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group to which the instance refresh task belongs.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the scaling group that you want to modify.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-bp1ffogfdauy0jw0****', 'title' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'ScalingGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], + 'schema' => ['description' => 'The name of the scaling group. The name of each scaling group must be unique in a region. The name must be 2 to 64 characters in length and can contain letters, digits, underscores (\\_), hyphens (-), and periods (.). The name must start with a letter or a digit.'."\n", 'type' => 'string', 'required' => false, 'example' => 'scalinggroup****', 'title' => ''], ], [ - 'name' => 'MaxResults', + 'name' => 'MinSize', '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', - ], + 'schema' => ['description' => 'The minimum number of ECS instances or elastic container instances that must be contained in the scaling group. If the total number of instances in the scaling group is less than the value of MinSize, Auto Scaling proactively adds instances to the scaling group to ensure that the total number aligns with the minimum threshold.'."\n" + ."\n" + .'> The value of MinSize must be less than or equal to the value of MaxSize.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'MaxSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n" - ."\n" - .'> When you call this operation, you must specify one of the following parameters: ScalingGroupId and InstanceRefreshTaskIds. You cannot specify both of them. If you specify neither of them, an error is reported.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'asg-bp1ffogfdauy0jw0****', - ], + 'schema' => ['description' => 'The maximum number of ECS instances or elastic container instances that can be contained in the scaling group. If the total number of instances in the scaling group is greater than the value of MaxSize, Auto Scaling proactively removes the surplus instances from the scaling group to restore the total number to match the maximum limit.'."\n" + ."\n" + .'The value range of MaxSize is directly correlated with the degree of dependency your business has on Auto Scaling. You can go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas) to check **the maximum number of instances that a single scaling group can contain.**'."\n" + ."\n" + .'For example, if a scaling group can contain up to **2,000** instances, the value range of MaxSize is 0 to 2000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '99', 'title' => ''], ], [ - 'name' => 'InstanceRefreshTaskIds', + 'name' => 'DefaultCooldown', + 'in' => 'query', + 'schema' => ['description' => 'The cooldown period of the scaling group. This parameter is available only if you set ScalingRuleType to SimpleScalingRule. Valid values: 0 to 86400. Unit: seconds.'."\n" + ."\n" + .'During the cooldown period, Auto Scaling does not execute scaling activities that are triggered by CloudMonitor event-triggered tasks.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '86400', 'minimum' => '0', 'example' => '600', 'title' => ''], + ], + [ + 'name' => 'RemovalPolicies', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the instance refresh tasks that you want to query.'."\n", + '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 ID of the instance refresh task that you want to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ir-adfa12312*****', - ], + 'items' => ['description' => 'The policy that is used to remove ECS instances from the scaling group. Valid values:'."\n" + ."\n" + .'* OldestInstance: removes ECS instances that are added at the earliest point in time to the scaling group.'."\n" + .'* NewestInstance: removes ECS instances that are most recently added to the scaling group.'."\n" + .'* OldestScalingConfiguration: removes ECS instances that are created based on the earliest scaling configuration.'."\n", 'type' => 'string', 'required' => false, 'example' => 'NewestInstance', 'title' => ''], 'required' => false, - 'maxItems' => 20, + 'maxItems' => 2, + 'title' => '', + 'example' => '', ], ], - ], - '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' => '', - ], + [ + 'name' => 'ActiveScalingConfigurationId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the active scaling configuration in the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asc-bp17pelvl720x5ub****', 'title' => ''], ], - ], - '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' => [], + 'name' => 'HealthCheckType', + 'in' => 'query', + 'schema' => ['description' => 'The health check mode of the scaling group. Valid values:'."\n" + ."\n" + .'* NONE: Auto Scaling does not check the health status of instances.'."\n" + .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" + .'* LOAD_BALANCER: Auto Scaling checks the health status of instances in the scaling group based on the health check results of load balancers. The health check results of Classic Load Balancer (CLB) instances are not supported as the health check basis for instances in the scaling group. Default value: ECS.'."\n" + ."\n" + .'> If you want to enable instance health check and load balancer health check at the same time, we recommend that you specify `HealthCheckTypes`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''], ], - ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '234862', - 'abilityTreeNodes' => [ - 'FEATUREessPV8ZVU', - 'FEATUREess8Q01K5', + [ + 'name' => 'LaunchTemplateId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the launch template that is used by Auto Scaling to create instances.'."\n", 'type' => 'string', 'required' => false, 'example' => ' lt-m5e3ofjr1zn1aw7****', 'title' => ''], + ], + [ + 'name' => 'LaunchTemplateVersion', + 'in' => 'query', + 'schema' => ['description' => 'The version number of the launch template. Valid values:'."\n" + ."\n" + .'* A fixed template version number.'."\n" + .'* Default: The default template version is always used.'."\n" + .'* Latest: The latest template version is always used.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Default', 'title' => ''], + ], + [ + 'name' => 'OnDemandBaseCapacity', + 'in' => 'query', + 'schema' => ['description' => 'The minimum number of pay-as-you-go instances that must be included in the scaling group. Valid values: 0 to 1000. If the number of pay-as-you-go instances is less than the value of this parameter, Auto Scaling preferentially creates pay-as-you-go instances.'."\n" + ."\n" + .'If you set the `MultiAZPolicy` parameter to `COMPOSABLE` Policy, the default value is 0.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''], + ], + [ + 'name' => 'OnDemandPercentageAboveBaseCapacity', + 'in' => 'query', + 'schema' => ['description' => 'The expected percentage of pay-as-you-go instances in the excess instances when the minimum number of pay-as-you-go instances reaches the requirement. Valid values: 0 to 100.'."\n" + ."\n" + .'If you set the `MultiAZPolicy` parameter to `COMPOSABLE` Policy, the default value is 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'SpotInstanceRemedy', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'Specifies whether to supplement preemptible instances. If this parameter is set to true, Auto Scaling creates an instance to replace a preemptible instance when Auto Scaling receives the system message that the preemptible instance is to be reclaimed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'CompensateWithOnDemand', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'Specifies whether to automatically create pay-as-you-go instances to meet the requirements on the number of ECS instances in the scaling group when the number of preemptible instances cannot be reached due to reasons such as cost-related issues and insufficient resources. This parameter takes effect only if you set `MultiAZPolicy` in the `CreateScalingGroup` operation to `COST_OPTIMIZED`. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'SpotInstancePools', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The number of instance types that you specify. Auto Scaling creates preemptible instances of multiple instance types that are provided at the lowest price. Valid values: 0 to 10.'."\n" + ."\n" + .'If you set the `MultiAZPolicy` parameter to `COMPOSABLE` Policy, the default value is 2.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], ], [ - 'name' => 'MinHealthyPercentage', + 'name' => 'DesiredCapacity', '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', - ], + 'schema' => ['description' => 'The expected number of ECS instances or elastic container instances in the scaling group. Auto Scaling maintains the expected number of ECS instances or elastic container instances in the scaling group. Make sure that you adhere to the following rule when specifying this parameter: Value of MaxSize ≥ Value of DesiredCapacity ≥ Value of MinSize'."\n" + ."\n" + .'> If you re-enable the Expected Number of Instances feature, you must specify a value for `DesiredCapacity` again.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], ], [ - 'name' => 'MaxHealthyPercentage', + 'name' => 'GroupDeletionProtection', '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', - ], + 'schema' => ['description' => 'Specifies whether to enable deletion protection for the scaling group. Valid values:'."\n" + ."\n" + .'* true: enables deletion protection for the scaling group. This way, the scaling group cannot be deleted.'."\n" + .'* false: disables deletion protection for the scaling group.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'DesiredConfiguration', + 'name' => 'MultiAZPolicy', '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, - ], + 'schema' => ['description' => 'The scaling policy for the multi-zone scaling group that contains ECS instances. Valid values:'."\n" + ."\n" + .'* PRIORITY: ECS instances are scaled based on the vSwitch priority. The first vSwitch specified by using the VSwitchIds parameter has the highest priority. Auto Scaling preferentially scales instances in the zone where the vSwitch that has the highest priority resides. If the scaling fails, Auto Scaling scales instances in the zone where the vSwitch that has the next highest priority resides.'."\n" + .'* COST_OPTIMIZED: During a scale-out activity, Auto Scaling preferentially creates ECS instances of the instance type that has the lowest unit price of vCPU. During a scale-in activity, Auto Scaling preferentially removes ECS instances of the instance types that have the highest unit price of vCPU. Auto Scaling preferentially creates preemptible instances when preemptible instance types are specified in the scaling configuration. You can use the `CompensateWithOnDemand` parameter to specify whether to automatically create pay-as-you-go instances when Auto Scaling fails to create preemptible instances.'."\n" + ."\n" + .'> The `COST_OPTIMIZED` setting takes effect only when multiple instance types are specified or at least one instance type is specified for preemptible instances.'."\n" + ."\n" + .'* BALANCE: ECS instances are evenly distributed across zones that are specified in the scaling group. If ECS instances are unevenly distributed among zones due to insufficient resources, you can call the RebalanceInstance operation to evenly distribute the instances among the zones.'."\n" + .'* COMPOSABLE: You can flexibly combine the preceding policies based on your business requirements.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PRIORITY', 'title' => ''], ], [ - 'name' => 'SkipMatching', + 'name' => 'VSwitchIds', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to skip instances that match the desired scaling configuration.'."\n" + 'description' => 'The IDs of vSwitches.'."\n" ."\n" - .'> The system determines the match based on the ID of the desired scaling configuration rather than individual configuration items.'."\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" - .'Valid values:'."\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" - .'* 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" + .'This parameter takes effect only when the network type of the scaling group is VPC. The specified vSwitches and the scaling group must reside in the same VPC.'."\n" ."\n" - .'Default value: true.'."\n", - 'type' => 'boolean', + .'The vSwitches can reside in different zones. The vSwitches are sorted in ascending order. The first vSwitch specified by using the VSwitchIds parameter has the highest priority. If Auto Scaling fails to create ECS instances in the zone where the vSwitch that has the highest priority resides, Auto Scaling creates ECS instances in the zone where the vSwitch that has the next highest priority resides.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1oo2a7isyrb8igf****', 'title' => ''], 'required' => false, - 'example' => 'true', + 'maxItems' => 8, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Checkpoints', + 'name' => 'LaunchTemplateOverrides', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Refresh Task Checkpoint: specifies that the task is automatically suspended for CheckpointPauseTime minutes when the proportion of new instances reaches the specified value during instance refresh.'."\n", + 'description' => 'The information about the instance types that are extended in the launch template.'."\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", + 'description' => 'Details of the instance type that you specify by using the Extended Configurations feature of the launch template.'."\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', - ], + 'InstanceType' => ['description' => 'The instance type that you want to use to override the instance type that is specified in the launch template.'."\n" + ."\n" + .'The instance type specified by using this parameter overwrites the instance type of the launch template.'."\n" + ."\n" + .'> This parameter takes effect only if you specify LaunchTemplateId.'."\n" + ."\n" + .'You can use this parameter to specify any instance types that are available for purchase.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.xlarge '."\n", 'title' => ''], + 'WeightedCapacity' => ['description' => 'If you want to scale the scaling group based on the instance types, you must specify LaunchTemplateOverrides.InstanceType before you specify this parameter. The two parameters have a one-to-one correspondence.'."\n" + ."\n" + .'The weight specifies the capacity of an instance of the specified instance type in the scaling group.'."\n" + ."\n" + .'A higher weight specifies that a smaller number of instances of the specified instance type are required to meet the expected capacity requirement.'."\n" + ."\n" + .'Performance metrics such as the number of vCPUs and the memory size of each instance type may vary. You can specify different weights for different instance types based on your business requirements.'."\n" + ."\n" + .'Sample capacity configurations:'."\n" + ."\n" + .'* Current capacity: 0.'."\n" + .'* Expected capacity: 6'."\n" + .'* Capacity of ecs.c5.xlarge: 4'."\n" + ."\n" + .'To reach the expected capacity, Auto Scaling must scale out two instances of ecs.c5.xlarge.'."\n" + ."\n" + .'> The total capacity of the scaling group is constrained and cannot surpass the combined total of the maximum group size defined by MaxSize and the highest weight assigned to any instance type.'."\n" + ."\n" + .'Valid values of WeightedCapacity: 1 to 500.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '4', 'title' => ''], + 'SpotPriceLimit' => ['description' => 'The maximum bid price of instance type N that is specified by `LaunchTemplateOverride.N.InstanceType`. You can specify N instance types by using the Extend Launch Template feature. You can specify 1 to 10 memory sizes, indicated by N.'."\n" + ."\n" + .'> This parameter takes effect only if you use `LaunchTemplateId` to specify a launch template.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '0.025', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 100, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'CheckpointPauseTime', + 'name' => 'MaxInstanceLifetime', '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', - ], + 'schema' => ['description' => 'The maximum life span of the instance in the scaling group. Unit: seconds.'."\n" + ."\n" + .'Valid values: 86400 to Integer.maxValue. ``You can also set this parameter to 0. A value of 0 indicates that the instance has an unlimited life span in the scaling group.'."\n" + ."\n" + .'Default value: null.'."\n" + ."\n" + .'> You cannot specify this parameter for scaling groups that manage elastic container instances or scaling groups whose ScalingPolicy is set to recycle.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => 'null', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'InstanceRefreshTaskId' => [ - 'description' => 'The ID of the instance refresh task.'."\n", - 'type' => 'string', - 'example' => 'ir-a12ds234fasd*****', - ], - ], - 'description' => '', - ], + [ + 'name' => 'AzBalance', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to evenly distribute instances in the scaling group across zones. This parameter takes effect only when you set the `MultiAZPolicy` parameter to `COMPOSABLE`. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"InstanceRefreshTaskId\\": \\"ir-a12ds234fasd*****\\"\\n}","type":"json"}]', - 'title' => 'StartInstanceRefresh', - 'description' => '* Only one instance refresh task can be executed at a time in a scaling group.'."\n" - .'* You can start instance refresh tasks for Elastic Compute Service (ECS) instances in scaling groups that use the **priority policy** as the scaling policy. Scaling groups whose capacity is measured based on the **number of vCPUs** and scaling groups whose instance reclaim mode is **Economical Mode** or **Forcibly Recycle** do not support the StartInstanceRefresh operation.'."\n" - .'* When you start an instance refresh task, scaling events can be completed as expected. Take note that instances that are scaled out use the configurations specified in the instance refresh task.'."\n" - .'* The StartInstanceRefresh operation does not take effect on instances that are manually added or instances that are in the Standby and Protected states.'."\n", - ], - 'CancelInstanceRefresh' => [ - 'summary' => 'Cancels an instance refresh task. Take note that instances whose configurations were already updated by running an instance refresh task remain intact even after you cancel the task.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'AllocationStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The allocation policy. Auto Scaling selects instance types based on the allocation policy to create the required number of instances. The policy can be applied to pay-as-you-go instances and preemptible instances at the same time. This parameter takes effect only when you set the MultiAZPolicy parameter to COMPOSABLE. Valid values:'."\n" + ."\n" + .'* priority: Auto Scaling selects instance types based on the specified order to create the required number of instances.'."\n" + .'* lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPUs to create the required number of instances.'."\n" + ."\n" + .'Default value: priority.'."\n", 'type' => 'string', 'required' => false, 'example' => 'priority', 'title' => ''], ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '234868', - 'abilityTreeNodes' => [ - 'FEATUREessPV8ZVU', + [ + 'name' => 'SpotAllocationStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The allocation policy of preemptible instances. You can use this parameter to individually specify the allocation policy of preemptible instances. This parameter takes effect only when you set the `MultiAZPolicy` parameter to `COMPOSABLE`. Valid values:'."\n" + ."\n" + .'* priority: Auto Scaling selects instance types based on the specified order to create the required number of preemptible instances.'."\n" + .'* lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPUs to create the required number of preemptible instances.'."\n" + ."\n" + .'Default value: priority.'."\n", 'type' => 'string', 'required' => false, 'example' => 'lowestPrice', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'CustomPolicyARN', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + 'schema' => ['description' => 'The ARN of the custom scaling policy (Function). This parameter takes effect only when you specify CustomPolicy as the first step of the instance removal policy.'."\n", 'type' => 'string', 'required' => false, 'example' => 'acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'DisableDesiredCapacity', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['type' => 'boolean', 'description' => 'Specifies whether to disable the expected number of instances feature for the scaling group. Valid values:'."\n" + ."\n" + .'- false: Enables the expected number of instances feature.'."\n" + .'- true: Disables the expected number of instances feature.'."\n" + ."\n" + .'> You can set this parameter to true (to disable the expected number of instances feature) only when no scaling activity is currently running in the scaling group. When this feature is disabled, the current DesiredCapacity property of the scaling group is cleared, but the actual number of instances in the scaling group remains unchanged.', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'InstanceRefreshTaskId', + 'name' => 'ScalingPolicy', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance refresh task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ir-aca123sf****', - ], + 'schema' => ['description' => 'The reclaim mode of the scaling group. Valid values:'."\n" + ."\n" + .'* recycle: economical mode'."\n" + ."\n" + .'* release: release mode'."\n" + ."\n" + .'* forcerelease: forced release mode'."\n" + ."\n" + .' **'."\n" + ."\n" + .' **Note** If you set the value to `forcerelease`, Auto Scaling forcibly releases instances that are in the `Running` state during scale-ins. Forced release is equivalent to power outage. If an instance is forcibly released, ephemeral data on the instance will be cleared and cannot be recovered. Exercise caution when you select this option.'."\n" + ."\n" + .'* forcerecycle: forced recycle mode'."\n" + ."\n" + .' **'."\n" + ."\n" + .' **Note** If you set the value to `forcerecycle`, Auto Scaling forcibly shuts down instances that are in the `Running` state during scale-ins. Forced shutdown is equivalent to power outage. If an instance is forcibly shut down, ephemeral data on the instance will be cleared and cannot be recovered. Exercise caution when you select this option.'."\n" + ."\n" + .'ScalingPolicy specifies only the reclaim mode of the scaling group. RemovePolicy of the RemoveInstances operation specifies the manner how instances are removed from the scaling group. For more information, see [RemoveInstances](~~25955~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'recycle', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'HealthCheckTypes', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - 'description' => '', + 'description' => 'The health check mode of the scaling group.'."\n" + ."\n" + .'> You can specify multiple values for this parameter to enable multiple health check options at the same time. If you specify HealthCheckType, this parameter is ignored.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The health check modes of the scaling group. Valid values:'."\n" + ."\n" + .'* NONE: Auto Scaling does not check the health status of instances.'."\n" + .'* ECS: Auto Scaling checks the health status of instances in the scaling group. If you want to enable instance health check, you can set the value to ECS, regardless of whether the scaling group is of ECS type or Elastic Container Instance type.'."\n" + .'* LOAD_BALANCER: Auto Scaling checks the health status of instances based on the health check results of load balancers. The health check results of CLB instances are not supported as the health check basis for instances in the scaling group.'."\n" + ."\n" + .'Default value: ECS.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ECS', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], - ], - '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', + 'name' => 'StopInstanceTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The period of time that is required by the Elastic Compute Service (ECS) instance to enter the Stopped state during the scale-in process. Unit: seconds. Valid values: 30 to 240.'."\n" + ."\n" + .'> '."\n" + ."\n" + .'* This parameter takes effect only if you set ScalingPolicy to release.\\'."\n" + .' If you specify this parameter, the system proceeds with the scale-in process only after the period of time specified by StopInstanceTimeout ends. In this case, the scale-in operation continues regardless of whether the ECS instance enters the Stopped state or not.\\'."\n" + .' If you do not specify this parameter, the system proceeds with the scale-in process only after the ECS instance enters the Stopped state. If the ECS instance fails to enter the Stopped state, the scale-in process rolls back, and the scale-in operation is considered as failed.'."\n" + ."\n" + .'* When you call the ModifyScalingGroup operation, you can set the value to 0. In this case, the system ignores this parameter.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'CapacityOptions', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', + 'description' => 'The capacity options.'."\n", + 'type' => 'object', + 'properties' => [ + 'OnDemandBaseCapacity' => ['description' => 'The minimum number of pay-as-you-go instances required in the scaling group. When the number of pay-as-you-go instances drops below the value of this parameter, Auto Scaling preferentially creates pay-as-you-go instances. Valid values: 0 to 1000.'."\n" + ."\n" + .'If you set `MultiAZPolicy` to `COMPOSABLE`, the default value is 0.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''], + 'OnDemandPercentageAboveBaseCapacity' => ['description' => 'The percentage of additional pay-as-you-go instances beyond the minimum required by `OnDemandBaseCapacity` in the scaling group. Valid values: 0 to 100'."\n" + ."\n" + .'If you set `MultiAZPolicy` to `COMPOSABLE`, the default value is 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], + 'CompensateWithOnDemand' => ['description' => 'Specifies whether to automatically create pay-as-you-go ECS instances to reach the required number of ECS instances when preemptible ECS instances cannot be created due to high prices or insufficient inventory of resources. This parameter takes effect only if you set `MultiAZPolicy` in the `CreateScalingGroup` operation to `COST_OPTIMIZED`. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'SpotAutoReplaceOnDemand' => ['description' => 'Specifies whether to replace pay-as-you-go instances with preemptible instances. If you specify `CompensateWithOnDemand`, it may result in a higher percentage of pay-as-you-go instances compared to the value of `OnDemandPercentageAboveBaseCapacity`. In this case, Auto Scaling will try to deploy preemptible instances to replace the surplus pay-as-you-go instances. When `CompensateWithOnDemand` is specified, Auto Scaling creates pay-as-you-go instances if there are not enough preemptible instance types. To avoid keeping these pay-as-you-go ECS instances for long periods, Auto Scaling tries to replace them with preemptible instances as soon as enough of preemptible instance types become available. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'PriceComparisonMode' => ['description' => 'The price comparison mode. Valid values:'."\n" + ."\n" + .'* PricePerUnit: compares prices based on capacity.'."\n" + ."\n" + .' The capacity of instances in a scaling group is determined by the weights of the instance types used. If no weight is specified, the default weight is 1, which specifies that each instance in the scaling group has a capacity of 1.'."\n" + ."\n" + .'* PricePerVCpu: compares prices based on the price per vCPU.'."\n" + ."\n" + .'Default value: PricePerUnit.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PricePerUnit', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'RegionId', + 'name' => 'BalanceMode', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The zone balancing mode. This mode takes effect only when the zone balancing mode is enabled. Valid values:'."\n" + ."\n" + .'* BalancedBestEffort: If a resource fails to be created in a zone, the resource is downgraded to another zone. This ensures best-effort delivery of the resource.'."\n" + .'* BalancedOnly: If a resource fails to be created in a zone, the resource is not downgraded to another zone. The scale-out activity is partially successful to avoid excessive imbalance of resources in different zones.'."\n" + ."\n" + .'Default value: BalancedBestEffort.'."\n", 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'BalancedBestEffort'], ], [ - 'name' => 'InstanceRefreshTaskId', + 'name' => 'AutoRebalance', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance refresh task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ir-a12ds234fasd*****', - ], + 'schema' => ['description' => 'Whether to enable automatic rebalancing for the scaling group. This takes effect only when BalancedOnly is enabled for the scaling group. Valid values:'."\n" + ."\n" + .'* false: Auto rebalancing is disabled for the scaling group.'."\n" + .'* true: If Auto rebalancing is enabled, the scaling group automatically detects the capacity of the zone. If the capacity of the zone is unbalanced, the scaling group actively scales out the zone and re-balances the capacity of the zone.'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'title' => '', 'required' => false, 'example' => 'false'], ], ], 'responses' => [ @@ -24508,482 +17014,464 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B13527BF-1FBD-4334-A512-20F5E9D3****', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B13527BF-1FBD-4334-A512-20F5E9D3****\\"\\n}","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', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'ModifyScalingGroup', + 'description' => '- The following parameters cannot be modified:'."\n" + ."\n" + .' - RegionId'."\n" + ."\n" + .' - LoadBalancerId'."\n" + ."\n" + .' > To modify an SLB instance, use the AttachLoadBalancers and DetachLoadBalancers APIs.'."\n" + ."\n" + .' - DBInstanceId'."\n" + ."\n" + .' > To modify an RDS instance, use the AttachDBInstances and DetachDBInstances APIs.'."\n" + ."\n" + .'- You can invoke this API only when the scaling group status is `Active` or `Inactive`.'."\n" + ."\n" + .'- Enabling a new scaling configuration does not affect ECS instances or ECI instances that were created using an earlier scaling configuration and are currently running.'."\n" + ."\n" + .'- If MaxSize is modified such that the current number of ECS or ECI instances in the scaling group exceeds MaxSize, the scaling group automatically removes ECS or ECI instances until the instance count equals MaxSize.'."\n" + ."\n" + .'- If MinSize is modified such that the current number of ECS or ECI instances in the scaling group falls below MinSize, the scaling group automatically adds ECS or ECI instances until the instance count equals MinSize.'."\n" + ."\n" + .'- If DesiredCapacity is set for the scaling group and then modified such that the current number of ECS or ECI instances differs from the new DesiredCapacity, the scaling group automatically adds or removes ECS or ECI instances until the instance count equals DesiredCapacity.'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'ModifyScalingRule' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '234876', - 'abilityTreeNodes' => [ - 'FEATUREessPV8ZVU', - ], + 'abilityTreeCode' => '125391', + 'abilityTreeNodes' => ['FEATUREessRTZKQT'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'ScalingRuleId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The ID of the scaling rule that you want to modify.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asr-bp1dvirgwkoowxk7****'], ], [ - 'name' => 'RegionId', + 'name' => 'ScalingRuleName', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The name of the scaling 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' => 'InstanceRefreshTaskId', + 'name' => 'Cooldown', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance refresh task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ir-a12ds234fasd*****', - ], + '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'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - 'description' => '', - ], + [ + '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'], ], - ], - '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' => [], + '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'], ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '234877', - 'abilityTreeNodes' => [ - 'FEATUREessPV8ZVU', + [ + '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'], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'EstimatedInstanceWarmup', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + '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' => 'RegionId', + 'name' => 'MetricName', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + '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' => 'InstanceRefreshTaskId', + 'name' => 'TargetValue', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance refresh task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ir-a12ds234fasd*****', - ], + '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'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - 'description' => '', - ], + [ + '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'], ], - ], - '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' => [], + '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'], ], - ], - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '125396', - 'abilityTreeNodes' => [ - 'FEATUREessZQ2TYX', + [ + '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'], ], - ], - 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'PredictiveScalingMode', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1eyv4qn8ssgv43****', - ], + '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' => 'LifecycleHookName', + 'name' => 'PredictiveValueBehavior', '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****', - ], + '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' => 'LifecycleTransition', + 'name' => 'PredictiveValueBuffer', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the scaling activity to which the lifecycle hook applies. Valid values:'."\n" - ."\n" - .'* SCALE_OUT'."\n" - .'* SCALE_IN'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'SCALE_OUT', - ], + 'schema' => ['description' => 'The 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' => 'DefaultResult', + 'name' => 'PredictiveTaskBufferTime', + 'in' => 'query', + 'schema' => ['description' => 'The amount of buffer time before the prediction task is executed. By default, all prediction tasks that are automatically created for a predictive scaling rule are executed on the hour. You can specify an amount of buffer time for resource preparation before the prediction tasks are executed. Valid values: 0 to 60.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30'], + ], + [ + 'name' => 'InitialMaxSize', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of ECS instances that can be contained in the scaling group. If you specify InitialMaxSize, you must specify `PredictiveValueBehavior`.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100'], + ], + [ + 'name' => 'StepAdjustments', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The 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', + 'description' => 'Details of the step adjustments.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the step adjustments.'."\n", + 'type' => 'object', + 'properties' => [ + 'MetricIntervalUpperBound' => ['description' => 'The upper limit specified in a step adjustment. This parameter is available only if you set the ScalingRuleType parameter to StepScalingRule. Valid values: -9.999999E18 to 9.999999E18.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '5.0'], + 'ScalingAdjustment' => ['description' => 'The number of ECS instances that you want to scale in a step adjustment. This parameter is available only if you set the ScalingRuleType parameter to StepScalingRule.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + 'MetricIntervalLowerBound' => ['description' => 'The lower limit that is specified in a step adjustment. This parameter is available only if you set the ScalingRuleType parameter to StepScalingRule. Valid values: -9.999999E18 to 9.999999E18.'."\n", 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1.0'], + ], + 'required' => false, + ], 'required' => false, - 'example' => 'CONTINUE', + 'maxItems' => 20, ], ], [ - 'name' => 'HeartbeatTimeout', + 'name' => 'AlarmDimensions', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The period of time before the lifecycle hook times out. After the lifecycle hook times out, Auto Scaling performs the default action. Valid values: 30 to 21600. Unit: seconds.'."\n" - ."\n" - .'After you create a lifecycle hook, you can call the RecordLifecycleActionHeartbeat operation to prolong the timeout period of the lifecycle hook. You can also call the CompleteLifecycleAction operation to end the timeout period of the lifecycle hook ahead of schedule.'."\n" - ."\n" - .'Default value: 600.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The dimensions. This parameter is applicable to target tracking scaling rules. You can specify this parameter if your predefined metric requires extra dimensions. For example, if you predefine the LoadBalancerRealServerAverageQps metric, you must use this parameter to specify the rulePool dimension.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'DimensionKey' => ['description' => 'The dimension key of the metric.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rulePool'], + 'DimensionValue' => ['description' => 'The dimension value of the metric.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sgp-l1cbirz451yxu2dxxx'], + ], + 'required' => false, + ], 'required' => false, - 'example' => '600', + 'maxItems' => 5, ], ], [ - 'name' => 'NotificationMetadata', + '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 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', + '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, - 'example' => 'Test lifecycle hook.', + 'maxItems' => 100, ], ], [ - 'name' => 'NotificationArn', + 'name' => 'AlarmOptions', 'in' => 'query', + 'style' => 'flat', 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. If you do not specify this parameter, no notification is sent when the lifecycle hook takes effect. If you specify this parameter, the value must be in one of the following formats:'."\n" - ."\n" - .'* If you specify a Simple Message Queue (SMQ, formerly MNS) as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:queue/{queuename} format.'."\n" - .'* If you specify an SMQ topic as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:topic/{topicname} format.'."\n" - .'* If you specify a CloudOps Orchestration Service (OOS) template as the notification recipient, specify the value in the acs:oos:{region-id}:{account-id}:template/{templatename} format.'."\n" - .'* If you specify an event bus as the notification recipient, specify the value in the acs:eventbridge:{region-id}:{account-id}:eventbus/default format.'."\n" - ."\n" - .'The variables in the preceding value formats have the following meanings:'."\n" - ."\n" - .'* region-id: the region ID of your scaling group.'."\n" - .'* account-id: the ID of the Alibaba Cloud account. IDs of Resource Access Management (RAM) users are not supported.'."\n" - .'* queuename: the name of the SMQ queue.'."\n" - .'* topicname: the name of the SMQ topic.'."\n" - .'* templatename: the name of the OOS template.'."\n", - 'type' => 'string', + 'description' => 'The alert attributes.'."\n", + 'type' => 'object', + 'properties' => [ + 'Period' => ['description' => 'The statistical period of the metric data in the target tracking scaling rule. Unit: seconds. Valid values:'."\n" + ."\n" + .'* 15'."\n" + .'* 60'."\n" + .'* 120'."\n" + .'* 300'."\n" + .'* 900'."\n" + ."\n" + .'> Default value: 60.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60'], + ], 'required' => false, - 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****', ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', - ], - 'LifecycleHookId' => [ - 'description' => 'The ID of the lifecycle hook.'."\n", - 'type' => 'string', - 'example' => 'ash-bp1at9ufhmcf9cmy****', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], - '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', + 'title' => 'ModifyScalingRule', + 'summary' => 'Modifies a scaling rule. If an existing scaling rule cannot meet your business requirements, you can call the ModifyScalingRule operation to modify the scaling rule, without the need to create a new one. This streamlines your workflow, enhancing operational efficiency while also contributing to cost optimization by avoiding redundant steps.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyScalingRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'ModifyScheduledTask' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '125362', - 'abilityTreeNodes' => [ - 'FEATUREessKFTMD6', - ], + 'abilityTreeCode' => '125370', + 'abilityTreeNodes' => ['FEATUREessAWW1X1'], ], 'parameters' => [ [ - 'name' => 'LifecycleHookId', + 'name' => 'ScheduledTaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lifecycle hook that you want to modify.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ash-bp1fxuqyi98w0aib****', - ], + 'schema' => ['description' => 'The ID of the scheduled task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'edRtShc57WGXdt8TlPbr****'], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'ScheduledTaskName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group to which the lifecycle hook belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The name of the 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' => 'LifecycleHookName', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the lifecycle hook that you want to modify.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test_SCALE_IN', - ], + 'schema' => ['description' => 'The 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' => 'DefaultResult', + 'name' => 'ScheduledAction', 'in' => 'query', - 'schema' => [ - 'description' => 'The action that you want Auto Scaling to perform after the lifecycle hook ends. Valid values:'."\n" - ."\n" - .'* CONTINUE: Auto Scaling continues to respond to scaling requests.'."\n" - .'* ABANDON: Auto Scaling releases Elastic Compute Service (ECS) instances that are created during scale-out activities, or removes ECS instances from the scaling group during scale-in activities.'."\n" - ."\n" - .'If multiple lifecycle hooks in a scaling group are triggered during scale-in activities and you set the DefaultResult parameter to ABANDON for the lifecycle hook that you want to modify, Auto Scaling immediately performs the action after the lifecycle hook that you want to modify ends. As a result, other lifecycle hooks end ahead of schedule. In other cases, Auto Scaling performs the action only after all lifecycle hooks end.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CONTINUE', - ], + 'schema' => ['description' => 'The 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' => 'HeartbeatTimeout', + 'name' => 'RecurrenceEndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The period of time before the lifecycle hook ends. Auto Scaling performs the specified action after the lifecycle hook ends. Valid values: 30 to 21600. Unit: seconds.'."\n" - ."\n" - .'You can call the RecordLifecycleActionHeartbeat operation to prolong the length of a lifecycle hook. You can also call the CompleteLifecycleAction operation to end a lifecycle hook ahead of schedule.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '600', - ], + 'schema' => ['description' => 'The 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' => 'LifecycleTransition', + 'name' => 'LaunchTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of scaling activity to which the lifecycle hook applies. Valid values:'."\n" - ."\n" - .'* SCALE_OUT'."\n" - .'* SCALE_IN'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SCALE_IN', - ], + 'schema' => ['description' => 'The 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' => 'NotificationMetadata', + 'name' => 'RecurrenceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The fixed string that is included in a notification. Auto Scaling sends the notification when the lifecycle hook takes effect. The value of this parameter cannot exceed 4,096 characters in length.'."\n" - ."\n" - .'Auto Scaling sends the value specified for the NotificationMetadata parameter together with the notification. This helps you categorize your notifications. The NotificationMetadata parameter takes effect only after you specify the NotificationArn parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Test', - ], + 'schema' => ['description' => 'The 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' => 'NotificationArn', + 'name' => 'RecurrenceValue', 'in' => 'query', - 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. Specify the value in one of the following formats:'."\n" - ."\n" - .'* If you specify a Simple Message Queue (SMQ, formerly MNS) as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:queue/{queuename} format.'."\n" - .'* If you specify an SMQ topic as the notification recipient, specify the value in the acs:mns:{region-id}:{account-id}:topic/{topicname} format.'."\n" - .'* If you specify a CloudOps Orchestration Service (OOS) template as the notification recipient, specify the value in the acs:oos:{region-id}:{account-id}:template/{templatename} format.'."\n" - .'* If you specify an event bus as the notification recipient, specify the value in the acs:eventbridge:{region-id}:{account-id}:eventbus/default format.'."\n" - ."\n" - .'The variables in the preceding value formats have the following meanings:'."\n" - ."\n" - .'* region-id: the region ID of your scaling group.'."\n" - .'* account-id: the ID of your Alibaba Cloud account.'."\n" - .'* queuename: the name of the SMQ queue.'."\n" - .'* topicname: the name of the SMQ topic.'."\n" - .'* templatename: the name of the OOS template.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****', - ], + 'schema' => ['description' => 'The 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' => 'RegionId', + 'name' => 'TaskEnabled', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], + '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' => 'LifecycleHookStatus', + 'name' => 'LaunchExpirationTime', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => 'The status into which you want to put the lifecycle hook. Valid values:'."\n" - ."\n" - .'* Active'."\n" - .'* InActive'."\n" - ."\n" - .'If you do not specify this parameter, the status of the lifecycle hook remains unchanged after you call this operation.'."\n" - ."\n" - .'> By default, a lifecycle hook is in the Active state after you create it.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Active', - ], + 'schema' => ['description' => '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' => [ @@ -24991,306 +17479,185 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => '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', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Throttling', 'errorMessage' => 'Request was denied due to request throttling.', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'ModifyScheduledTask', + 'summary' => 'Modifies a scheduled task. If an existing scheduled task cannot meet your business requirements, you can call the ModifyScheduledTask operation to adjust its parameter settings including the scaling rule to execute and the boundary values of your scaling group, without the need to create a new scheduled task. This operation provides a flexible way to optimize scheduled tasks.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyScheduledTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'QueryHistoricalMetric' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '125347', - 'abilityTreeNodes' => [ - 'FEATUREess54US0Q', - ], + 'abilityTreeCode' => '221688', + 'abilityTreeNodes' => ['FEATUREessHEBR5R'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], - ], - [ - 'name' => 'LifecycleHookName', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the lifecycle hook.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lifecyclehook****', - ], + 'schema' => ['description' => 'The region ID'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The start time of historical monitoring data. The time follows the ISO8601 standard and uses UTC time.'."\n" + ."\n" + .'Format: yyyy-MM-ddTHH:mmZ.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-17T08:00Z', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'EndTime', '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', - ], + 'schema' => ['description' => 'The end time of the historical monitoring data. The time follows the ISO8601 standard and uses UTC time.'."\n" + ."\n" + .'Format: yyyy-MM-ddTHH:mmZ.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-18T08:00Z', 'title' => ''], ], [ - 'name' => 'LifecycleHookIds', + 'name' => 'ScalingGroupId', '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, - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp15oubotmrq11xe****', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'MetricName', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => 'The name of the monitoring metric of the prediction rule. Valid values:'."\n" + ."\n" + .'* CpuUtilization: the average CPU utilization.'."\n" + .'* IntranetRx: the inbound traffic over an internal network.'."\n" + .'* IntranetTx: the outbound traffic over an internal network.'."\n", 'type' => 'string', 'required' => true, 'example' => 'CpuUtilization', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - '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', + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'HistoricalMetrics' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'HistoricalMetric' => [ + 'description' => 'The monitoring metrics of the prediction rule.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The monitoring metrics of the prediction rule.'."\n", + 'type' => 'object', + 'properties' => [ + 'MetricValue' => ['description' => 'The value of the metric.'."\n", 'type' => 'string', 'example' => '10.0', 'title' => ''], + 'Time' => ['description' => 'The point in time of the monitoring metric. The value must be in the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format.'."\n", 'type' => 'string', 'example' => '2025-12-17T16:00Z', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"LifecycleHooks\\": [\\n {\\n \\"DefaultResult\\": \\"CONTINUE\\",\\n \\"LifecycleHookId\\": \\"ash-bp19d1032y9kij96****\\",\\n \\"LifecycleHookName\\": \\"lifecyclehook****\\",\\n \\"LifecycleTransition\\": \\"SCALE_OUT\\",\\n \\"NotificationMetadata\\": \\"Test Lifecycle Hook.\\",\\n \\"NotificationArn\\": \\"acs:ess:cn-beijing:161456884340****:null/null\\",\\n \\"HeartbeatTimeout\\": 60,\\n \\"ScalingGroupId\\": \\"asg-bp1igpak5ft1flyp****\\",\\n \\"LifecycleHookStatus\\": \\"Active\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeLifecycleHooks', - 'description' => 'You can use one of the following methods to query lifecycle hooks:'."\n" - ."\n" - .'* Specify a list of lifecycle hook IDs by using the LifecycleHookIds parameter. In this case, you do not need to specify the ScalingGroupId and LifecycleHookName parameters.'."\n" - .'* Specify the scaling group ID by using the ScalingGroupId parameter.'."\n" - .'* Specify the scaling group ID by using the ScalingGroupId parameter and the lifecycle hook name by using the LifecycleHookName parameter at the same time.'."\n", - ], - 'RecordLifecycleActionHeartbeat' => [ - 'summary' => 'Extends the time window during which Elastic Compute Service (ECS) instances stay in a Pending state. If the current time window during which an ECS instance stays in a Pending state is not sufficient for you to complete custom operations on the ECS instance, you can call the RecordLifecycleActionHeartbeat operation to extend the time window. When you call this operation, you can specify lifecycleHookId, lifecycleActionToken, and heartbeatTimeout to extend the time window for the desired ECS instance.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'QueryHistoricalMetric', + 'summary' => 'Queries the historical monitoring data of a scaling group that uses predictive scaling rules.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:QueryHistoricalMetric', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"HistoricalMetrics\\": {\\n \\"HistoricalMetric\\": [\\n {\\n \\"MetricValue\\": \\"10.0\\",\\n \\"Time\\": \\"2025-12-17T16:00Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'QueryPredictiveMetric' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125371', - 'abilityTreeNodes' => [ - 'FEATUREessKFTMD6', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '221689', + 'abilityTreeNodes' => ['FEATUREessHEBR5R'], ], 'parameters' => [ [ - 'name' => 'lifecycleHookId', + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lifecycle hook.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ash-bp1fxuqyi98w0aib****', - ], + 'schema' => ['description' => 'The start time of the predicted monitoring data. The time follows the ISO8601 standard and uses UTC time.'."\n" + ."\n" + .'Format: yyyy-MM-ddTHH:mmZ.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-17T08:00Z'."\n", 'title' => ''], ], [ - 'name' => 'lifecycleActionToken', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The action token of the lifecycle hook. You can obtain the token from the details page of the Simple Message Queue (SMQ, formerly MNS) queue specified for the lifecycle hook.'."\n" - ."\n" - .'You can also call the [DescribeLifecycleActions](~~459333~~) operation to obtain the action token of the lifecycle hook.'."\n" - ."\n" - .'If you specified an SMQ topic for the lifecycle hook, you can obtain the token from the MNS topic.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'F324B880-900E-4968-85DD-81691113****', - ], + 'schema' => ['description' => 'The end time of the predicted monitoring data. The time follows the ISO8601 standard and uses UTC time.'."\n" + ."\n" + .'Format: yyyy-MM-ddTHH:mmZ.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-18T08:00Z'."\n", 'title' => ''], ], [ - 'name' => 'heartbeatTimeout', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The time window during which the ECS instance stays in a Pending state. When the time window ends, Auto Scaling executes the default action. Valid values: 30 to 21600. Unit: seconds.'."\n" - ."\n" - .'After you create a lifecycle hook, you can call this operation to extend the time window during which the ECS instance stays in a Pending state. You can also call the [CompleteLifecycleAction](~~459335~~) operation to remove the ECS instance from the Pending state ahead of schedule.'."\n" - ."\n" - .'Default value: 600.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '600', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp1igpak5ft1flyp****', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'MetricName', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The name of the monitoring metric of the prediction rule. Valid values:'."\n" + ."\n" + .'* CpuUtilization: the average CPU utilization.'."\n" + .'* IntranetRx: the inbound traffic over an internal network.'."\n" + .'* IntranetTx: the outbound traffic over an internal network.'."\n", 'type' => 'string', 'required' => true, 'example' => 'CpuUtilization', 'title' => ''], ], ], 'responses' => [ @@ -25298,32 +17665,60 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'CC107349-57B7-4405-B1BF-9BF5AF7F****', 'title' => ''], + 'PredictiveMetrics' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PredictiveMetric' => [ + 'description' => 'Predicted monitoring metrics.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Predicted monitoring metrics.'."\n", + 'type' => 'object', + 'properties' => [ + 'MetricValue' => ['description' => 'Predicted monitoring value.'."\n", 'type' => 'string', 'example' => '10.0', 'title' => ''], + 'Time' => ['description' => 'The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mmZ format. The time must be in UTC.'."\n", 'type' => 'string', 'example' => '2025-12-17T16:00Z', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-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', + 'title' => 'QueryPredictiveMetric', + 'summary' => 'Queries predicted monitoring data.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:QueryPredictiveMetric', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC107349-57B7-4405-B1BF-9BF5AF7F****\\",\\n \\"PredictiveMetrics\\": {\\n \\"PredictiveMetric\\": [\\n {\\n \\"MetricValue\\": \\"10.0\\",\\n \\"Time\\": \\"2025-12-17T16:00Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'QueryPredictiveTaskInfo' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -25331,70 +17726,33 @@ ], 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '125398', - 'abilityTreeNodes' => [ - 'FEATUREess54US0Q', - ], + 'abilityTreeCode' => '221691', + 'abilityTreeNodes' => ['FEATUREessHEBR5R'], ], 'parameters' => [ [ - 'name' => 'ScalingActivityId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asa-bp17mug9t0pegagw****', - ], - ], - [ - 'name' => 'LifecycleActionStatus', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the lifecycle action. Valid values:'."\n" - ."\n" - .'* If a lifecycle action is in the Pending state, Elastic Compute Service (ECS) instances are waiting to be added to a scaling group or waiting to be removed from a scaling group.'."\n" - .'* If a lifecycle action is in the Timeout state, the lifecycle hook that triggers the lifecycle action ends, and ECS instances are added to or removed from the scaling group.'."\n" - .'* If a lifecycle action is in the Completed state, you manually end the lifecycle hook that triggers the lifecycle action ahead of schedule.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Pending', - ], + 'schema' => ['description' => 'The region ID'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The token that is used to specify the lifecycle action from which the query starts.'."\n" - ."\n" - .'For example, after the first 10 lifecycle actions are queried, the query starts from the 11th lifecycle action. Set this parameter to the NextToken value that is returned in the previous API call. If you do not specify this parameter, the query starts from the beginning.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AAAAAcSz4VTb1Nq****', - ], + 'schema' => ['description' => 'The start time of the prediction task. The time follows the ISO8601 standard and uses UTC time.'."\n" + ."\n" + .'Format: yyyy-MM-ddTHH:mmZ.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-17T08:00Z', 'title' => ''], ], [ - 'name' => 'MaxResults', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of entries to return on each page. Valid values: 1 to 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The end time of the prediction task. The time follows the ISO8601 standard and uses UTC time.'."\n" + ."\n" + .'Format: yyyy-MM-ddTHH:mmZ.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-18T08:00Z', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'ScalingRuleId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The ID of the prediction scaling rule.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asr-bp1dp8yd9f8xxxxx', 'title' => ''], ], ], 'responses' => [ @@ -25402,170 +17760,109 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'description' => 'The query token returned in this call.'."\n", - 'type' => 'string', - 'example' => 'AAAAAcSz4VTb1Nq****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '42A742EB-FCF3-459E-9C62-E107048C17E3', - ], - 'TotalCount' => [ - 'description' => 'The total number of the queried lifecycle actions.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'MaxResults' => [ - 'description' => 'The maximum number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'LifecycleActions' => [ - 'description' => 'The actions of the lifecycle hook.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The lifecycle actions.'."\n", - 'type' => 'object', - 'properties' => [ - 'LifecycleHookId' => [ - 'description' => 'The ID of the lifecycle hook.'."\n", - 'type' => 'string', - 'example' => 'ash-bp18uoft0deax0f7****', - ], - 'LifecycleActionToken' => [ - 'description' => 'The token of the lifecycle hook action.'."\n", - 'type' => 'string', - 'example' => '9C2E9DA7-F794-449A-ACF6-CEE24444F7BB', - ], - 'LifecycleActionStatus' => [ - 'description' => 'The status of the lifecycle hook action.'."\n", - 'type' => 'string', - 'example' => 'Pending', - ], - 'LifecycleActionResult' => [ - 'description' => 'The subsequent action that Auto Scaling performs after the lifecycle hook times out. Valid values:'."\n" - ."\n" - .'* CONTINUE: Auto Scaling continues to respond to a scale-in or scale-out request.'."\n" - .'* ABANDON: Auto Scaling releases ECS instances that are created during scale-out events, or removes ECS instances from the scaling group during scale-in events.'."\n", - 'type' => 'string', - 'example' => 'CONTINUE', - ], - 'InstanceIds' => [ - 'description' => 'The IDs of the ECS instances on which the lifecycle hook takes effect'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the ECS instance on which the lifecycle hook takes effect'."\n", - 'type' => 'string', - 'example' => '["i-bp11m3fzlqrgk5vh****","i-bp11m3fzlqrgk5vh****"]', + 'RequestId' => ['description' => 'Request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'TaskInfos' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TaskInfo' => [ + 'description' => 'The scheduled task generated by the prediction rule.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The scheduled task generated by the prediction rule.'."\n", + 'type' => 'object', + 'properties' => [ + 'Time' => ['description' => 'The point in time at which the scheduled task is triggered. The value follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format.'."\n", 'type' => 'string', 'example' => '2025-12-17T10:00Z', 'title' => ''], + 'MinValue' => ['description' => 'The minimum size of the scaling group that you want to create.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'MaxValue' => ['description' => 'The maximum size of the scaling group that you want to create.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"AAAAAcSz4VTb1Nq****\\",\\n \\"RequestId\\": \\"42A742EB-FCF3-459E-9C62-E107048C17E3\\",\\n \\"TotalCount\\": 3,\\n \\"MaxResults\\": 3,\\n \\"LifecycleActions\\": [\\n {\\n \\"LifecycleHookId\\": \\"ash-bp18uoft0deax0f7****\\",\\n \\"LifecycleActionToken\\": \\"9C2E9DA7-F794-449A-ACF6-CEE24444****\\",\\n \\"LifecycleActionStatus\\": \\"Pending\\",\\n \\"LifecycleActionResult\\": \\"CONTINUE\\",\\n \\"InstanceIds\\": [\\n \\"[\\\\\\"i-bp11m3fzlqrgk5vh****\\\\\\",\\\\\\"i-bp11m3fzlqrgk5vh****\\\\\\"]\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeLifecycleActions', - 'description' => 'If a scaling activity is executed and a lifecycle hook is created for the scaling activity, the lifecycle hook triggers a lifecycle action. A lifecycle action can be in one of the following states:'."\n" - ."\n" - .'* If a lifecycle action is in the Pending state, Elastic Compute Service (ECS) instances are waiting to be added to a scaling group or waiting to be removed from a scaling group.'."\n" - .'* If a lifecycle action is in the Timeout state, the lifecycle hook that triggers the lifecycle action expires and ECS instances are added to or removed from a scaling group.'."\n" - .'* If a lifecycle action is in the Completed state, you manually end the lifecycle hook that triggers the lifecycle action ahead of schedule.'."\n" - ."\n" - .'If you do not specify the action to perform, such as execute a specific OOS template, after a lifecycle hook ends, you can call this operation to obtain the token of the lifecycle action that corresponds to the lifecycle hook. Then, you can specify a custom action to perform after the lifecycle hook ends.'."\n", - ], - 'CompleteLifecycleAction' => [ - 'summary' => 'Ends the timeout period of a lifecycle hook ahead of schedule. If you have created a lifecycle hook for your scaling group, you can call the CompleteLifecycleAction operation to end the timeout period of the lifecycle hook ahead of schedule based on your business requirements.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'QueryPredictiveTaskInfo', + 'summary' => 'Queries the information about a prediction task.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:QueryPredictiveTaskInfo', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"TaskInfos\\": {\\n \\"TaskInfo\\": [\\n {\\n \\"Time\\": \\"2025-12-17T10:00Z\\",\\n \\"MinValue\\": 2,\\n \\"MaxValue\\": 10\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'QueryPredictiveValue' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125379', - 'abilityTreeNodes' => [ - 'FEATUREessKFTMD6', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '221690', + 'abilityTreeNodes' => ['FEATUREessHEBR5R'], ], 'parameters' => [ [ - 'name' => 'LifecycleHookId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lifecycle hook.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ash-bp14g3ee6bt3sc98****', - ], + 'schema' => ['description' => 'The region ID'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'LifecycleActionToken', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The token of the lifecycle action. You can obtain the token from the Simple Message Queue (SMQ, formerly MNS) queue or topic that is specified for the lifecycle hook.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'aaaa-bbbbb-cccc-ddddd', - ], + 'schema' => ['description' => 'The start time of the predicted number of instances in the scaling group. The time follows the ISO8601 standard and uses UTC time.'."\n" + ."\n" + .'Format: yyyy-MM-ddTHH:mmZ.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-17T08:00Z'."\n", 'title' => ''], ], [ - 'name' => 'LifecycleActionResult', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The action that you want Auto Scaling to perform after the lifecycle hook times out. Valid values:'."\n" - ."\n" - .'* CONTINUE: Auto Scaling continues to respond to a scale-in or scale-out request.'."\n" - .'* ABANDON: Auto Scaling releases Elastic Compute Service (ECS) instances that are created during scale-out activities or removes ECS instances from the scaling group during scale-in activities.'."\n" - .'* ROLLBACK: For scale-in activities, Auto Scaling rejects the requests to release ECS instances but rolls back ECS instances. For scale-out activities, the ROLLBACK setting has the same effect as the ABANDON setting.'."\n" - ."\n" - .'If you do not specify this parameter, Auto Scaling performs the action that is specified by the `DefaultResult` parameter after the lifecycle hook times out.'."\n" - ."\n" - .'If multiple lifecycle hooks exist in a scaling group and the lifecycle hooks are triggered at the same time, the following rules apply:'."\n" - ."\n" - .'* For scale-in activities, when lifecycle hooks whose LifecycleActionResult parameter is set to ABANDON or ROLLBACK time out, other lifecycle hooks time out ahead of schedule.'."\n" - .'* For scale-in and scale-out activities, if you set the LifecycleActionResult parameter for all lifecycle hooks to CONTINUE, Auto Scaling performs the next action only after the last lifecycle hook times out. The action that Auto Scaling performs varies based on the value that you specify for the LifecycleActionResult parameter of the lifecycle hook that last times out.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CONTINUE', - ], + 'schema' => ['description' => 'The end time of the predicted number of instances in the scaling group. The time follows the ISO8601 standard and uses UTC time.'."\n" + ."\n" + .'Format: yyyy-MM-ddTHH:mmZ.'."\n", 'type' => 'string', 'required' => true, 'example' => '2025-12-18T08:00Z', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" - ."\n" - .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-2zee0wsy0zkdxxxxx', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'MetricName', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-qingdao', - ], + 'schema' => ['description' => 'The name of the monitoring metric of the prediction rule. Valid values:'."\n" + ."\n" + .'* CpuUtilization: the average CPU utilization.'."\n" + .'* IntranetRx: the inbound traffic over an internal network.'."\n" + .'* IntranetTx: the outbound traffic over an internal network.'."\n", 'type' => 'string', 'required' => true, 'example' => 'CpuUtilization', 'title' => ''], + ], + [ + 'name' => 'TargetValue', + 'in' => 'query', + 'schema' => ['description' => 'The current value of the monitoring metric of the prediction rule.'."\n", 'type' => 'number', 'format' => 'float', 'required' => true, 'example' => '60', 'title' => ''], ], ], 'responses' => [ @@ -25573,213 +17870,152 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE****', + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'FA5F448E-DC84-5EBC-B6D5-F659ADxxxx', 'title' => ''], + 'PredictiveValues' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PredictiveValue' => [ + 'description' => 'The number of predicted instances in the scaling group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The number of predicted instances in the scaling group.'."\n", + 'type' => 'object', + 'properties' => [ + 'Time' => ['description' => 'The point in time, in the ISO 8601 standard, in the yyyy-MM-ddTHH:mmZ format.'."\n", 'type' => 'string', 'example' => '2025-12-17T10:00Z', 'title' => ''], + 'Value' => ['description' => 'The number of instances.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE****\\"\\n}","type":"json"}]', - 'title' => 'CompleteLifecycleAction', - 'description' => 'When you manually cut short the timeout period of a lifecycle hook, Auto Scaling proceeds with one of the following actions based on the predefined settings: responding to the scaling request, aborting the scaling request, and initiating a rollback process.'."\n", - ], - 'DeleteLifecycleHook' => [ - 'summary' => 'Deletes a lifecycle hook. If you no longer require a lifecycle hook, you can call the DeleteLifecycleHook operation to delete it, which frees up the lifecycle hook quota.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'QueryPredictiveValue', + 'summary' => 'Queries the predicted number of instances in a scaling group.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:QueryPredictiveValue', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FA5F448E-DC84-5EBC-B6D5-F659ADxxxx\\",\\n \\"PredictiveValues\\": {\\n \\"PredictiveValue\\": [\\n {\\n \\"Time\\": \\"2025-12-17T10:00Z\\",\\n \\"Value\\": 3\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'RebalanceInstances' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '125343', - 'abilityTreeNodes' => [ - 'FEATUREessZQ2TYX', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '125328', + 'abilityTreeNodes' => ['FEATUREessPV8ZVU'], ], '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****', - ], + '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.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', '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', - ], + '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 \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'DeleteLifecycleHook', - 'description' => 'If you delete an effective lifecycle hook before its timeout period ends, the instances on which the lifecycle hook takes effect exits the Pending state ahead of schedule. You can use the following methods to delete a lifecycle hook:'."\n" - ."\n" - .'* Include `LifecycleHookId` within your request to specify the lifecycle hook that you want to delete. In this case, `ScalingGroupId` and `LifecycleHookName` are ignored.'."\n" - .'* Include `ScalingGroupId` and `LifecycleHookName` within your request to specify the lifecycle hook that you want to delete.'."\n", - ], - 'CreateNotificationConfiguration' => [ - 'summary' => 'Creates a notification rule. You can call the CreateNotificationConfiguration operation to create a notification rule to stay informed about scaling events or resource changes. This helps you learn about the dynamic status of your scaling group in real time and further automates the management of scaling events.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'RebalanceInstances', + 'summary' => 'Rebalances the distribution of Elastic Compute Service (ECS) instances across zones. If ECS instances are unevenly distributed across multiple zones, you can call the RebalanceInstances operation to rebalance the distribution of the ECS instances across the zones.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:RebalanceInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-kjgffgdfadah****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'RecordLifecycleActionHeartbeat' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '125368', - 'abilityTreeNodes' => [ - 'FEATUREess6E26FJ', - 'FEATUREessFY8KDA', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '125371', + 'abilityTreeNodes' => ['FEATUREessKFTMD6'], ], 'parameters' => [ [ - 'name' => 'ScalingGroupId', + 'name' => 'lifecycleHookId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + 'schema' => ['description' => 'The ID of the lifecycle hook.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ash-bp1fxuqyi98w0aib****'], ], [ - 'name' => 'NotificationArn', + 'name' => 'lifecycleActionToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the notification recipient. The following list describes the value formats of this parameter:'."\n" - ."\n" - .'* If you specify CloudMonitor as the notification recipient, specify the value in the `acs:ess:{region-id}:{account-id}:cloudmonitor` format.'."\n" - .'* If you specify an SMQ queue as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:queue/{queuename}` format.'."\n" - .'* If you specify an SMQ topic as the notification recipient, specify the value in the `acs:mns:{region-id}:{account-id}:topic/{topicname}` format.'."\n" - ."\n" - .'The variables in the preceding formats have the following meanings:'."\n" - ."\n" - .'* `region-id`: the region ID of the scaling group.'."\n" - .'* `account-id`: the ID of the Alibaba Cloud account.'."\n" - .'* `queuename`: the name of the SMQ queue.'."\n" - .'* `topicname`: the name of the SMQ topic.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'acs:mns:cn-beijing:161456884340****:queue/modifyLifecycleHo****', - ], + 'schema' => ['description' => 'The 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' => 'NotificationTypes', + 'name' => 'heartbeatTimeout', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The notification types. Specify multiple IDs in the repeated list form.'."\n" - ."\n" - .'You can call the DescribeNotificationTypes operation to query the values of this parameter.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The notification type. Specify multiple IDs in the repeated list form.'."\n" - ."\n" - .'You can call the DescribeNotificationTypes operation to query the values of this parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AUTOSCALING:SCALE_OUT_SUCCESS', - ], - 'required' => true, - 'maxItems' => 12, - ], + 'schema' => ['description' => 'The 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-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', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ @@ -25787,139 +18023,162 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'], ], 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'CreateNotificationConfiguration', - 'description' => '* You can specify CloudMonitor system events, Simple Message Queue (SMQ, formerly MNS) topics, or SMQ queues as notification recipients. When a scaling event of the specified type or resource change occurs in your scaling group, Auto Scaling automatically sends notifications to CloudMonitor or SMQ.'."\n" - ."\n" - .'* You cannot specify the same recipient for notifications of different event types in a scaling group.'."\n" - ."\n" - .' For example, you cannot enable the same CloudMonitor system event, SMQ topic, or SMQ queue to receive notifications of different event types in a scaling group.'."\n", - ], - 'ModifyNotificationConfiguration' => [ - 'summary' => 'Modifies event notification rules. Event notification rules support automatic sending of notifications to CloudMonitor, Message Service (MNS) topics, or MNS queues when a specified type of events occur. This helps you learn about the dynamics of your scaling group at the earliest opportunity and further automate resource management. If an existing event notification rule does not meet your business requirements, you can call the ModifyNotificationConfiguration operation to modify the event notification rule, without the need to create a new rule. Take not that you cannot modify the notification method of an event notification rule by calling this operation.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'RecordLifecycleActionHeartbeat', + 'summary' => 'Extends the time window during which Elastic Compute Service (ECS) instances stay in a Pending state. If the current time window during which an ECS instance stays in a Pending state is not sufficient for you to complete custom operations on the ECS instance, you can call the RecordLifecycleActionHeartbeat operation to extend the time window. When you call this operation, you can specify lifecycleHookId, lifecycleActionToken, and heartbeatTimeout to extend the time window for the desired ECS instance.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:RecordLifecycleActionHeartbeat', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]', + ], + 'RemoveInstances' => [ + 'summary' => 'If a scaling group is enabled and has no ongoing scaling activities, you can call the RemoveInstances API to remove one or more instances from the group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'riskType' => 'none', + 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeCode' => '125333', - 'abilityTreeNodes' => [ - 'FEATUREess6E26FJ', - 'FEATUREessFY8KDA', - ], + 'abilityTreeCode' => '125337', + 'abilityTreeNodes' => ['FEATUREessDFX5TO'], ], 'parameters' => [ [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], ], [ - 'name' => 'NotificationArn', + 'name' => 'RemovePolicy', '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', - ], + 'schema' => ['description' => 'Specifies the action to take on removed ECS instances. Valid values:'."\n" + ."\n" + .'- recycle: The ECS instances enter the economical mode.'."\n" + ."\n" + .' > This value takes effect only when the `ScalingPolicy` parameter of the scaling group is set to `recycle`.'."\n" + ."\n" + .'- release: The ECS instances are released.'."\n" + ."\n" + .'The `ScalingPolicy` parameter of the `CreateScalingGroup` operation specifies the reclamation mode of a scaling group. However, the `RemovePolicy` parameter of the `RemoveInstances` operation determines the action taken when an instance is removed. For example:'."\n" + ."\n" + .'- If `ScalingPolicy` is `recycle` and `RemovePolicy` is `recycle`, the ECS instances enter the economical mode.'."\n" + ."\n" + .'- If `ScalingPolicy` is `recycle` and `RemovePolicy` is `release`, the ECS instances are released.'."\n" + ."\n" + .'- If `ScalingPolicy` is `release` and `RemovePolicy` is `recycle`, the ECS instances are released.'."\n" + ."\n" + .'- If `ScalingPolicy` is `release` and `RemovePolicy` is `release`, the ECS instances are released.'."\n" + ."\n" + .'Default value: release.', 'type' => 'string', 'required' => false, 'example' => 'release', 'title' => ''], ], [ - 'name' => 'NotificationTypes', + 'name' => 'DecreaseDesiredCapacity', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to decrease the desired capacity of the scaling group. Valid values:'."\n" + ."\n" + .'- `true`: Decreases the desired capacity of the scaling group by the number of removed instances.'."\n" + ."\n" + .'- `false`: The desired capacity of the scaling group remains unchanged.'."\n" + ."\n" + .'Default value: true.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'IgnoreInvalidInstance', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to ignore invalid instances when you remove multiple instances from a scaling group. Valid values:'."\n" + ."\n" + .'- `true`: Invalid instances are ignored. If valid instances are removed while invalid ones are present, the scaling activity status is set to Warning. The invalid instances are listed in the scaling activity details.'."\n" + ."\n" + .'- `false`: The request is rejected and an error is returned if it contains any invalid instances.'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'InstanceIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The event types.'."\n", + 'description' => 'The IDs of the ECS instances to remove.', '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', - ], + 'items' => ['description' => 'The ID of an ECS instance to remove.', 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****', 'title' => ''], 'required' => true, - 'maxItems' => 12, + 'maxItems' => 1000, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao', 'title' => ''], ], [ - 'name' => 'TimeZone', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The time zone of the notification. Specify the value in UTC. For example, a value of UTC+8 specifies that the time is 8 hours ahead of Coordinated Universal Time, and a value of UTC-7 specifies that the time is 7 hours behind Coordinated Universal Time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'UTC+8', - ], + 'schema' => ['description' => 'A client-generated token to ensure request idempotence. This token must be unique for each request, contain only ASCII characters, and not exceed 64 characters. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'MessageEncoding', + 'name' => 'StopInstanceTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period, in seconds, for an ECS instance to stop during a scale-in. Valid values: 30 to 240.'."\n" + ."\n" + .'> - By default, this parameter inherits its value from the scaling group, but you can override it when calling the `RemoveInstances` operation.'."\n" + .'>'."\n" + .'> - This parameter takes effect only during scale-in events where `RemovePolicy` is set to `release`.'."\n" + .'>'."\n" + .'> - If this parameter is set, the system waits for the specified duration for the instance to stop. The scale-in process continues after the timeout expires, regardless of the instance\'s state.'."\n" + .'>'."\n" + .'> - If this parameter is not set, the system waits until the instance stops before continuing the scale-in process. If the instance fails to stop, the scale-in operation is rolled back and fails.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''], + ], + [ + 'name' => 'LifecycleHookContext', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => '', - 'type' => 'string', + 'description' => 'The context of the lifecycle hook.', + 'type' => 'object', + 'properties' => [ + 'DisableLifecycleHook' => ['description' => 'Specifies whether to disable all lifecycle hooks for the scaling activity. Valid values:'."\n" + ."\n" + .'- `true`: Disables all lifecycle hooks.'."\n" + ."\n" + .'- `false`: Does not disable lifecycle hooks.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'IgnoredLifecycleHookIds' => [ + 'description' => 'A list of lifecycle hook IDs to ignore for the scaling activity.', + 'type' => 'array', + 'items' => ['description' => 'The ID of a lifecycle hook to ignore for the scaling activity.', 'type' => 'string', 'required' => false, 'example' => 'ash-bp14zolna43z266bq***', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'LifecycleHookResult' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], + ], 'required' => false, - 'example' => 'PlainText', + 'title' => '', + 'example' => '', ], ], ], @@ -25928,65 +18187,97 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'example' => 'asa-bp175o6f6ego3r2j****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'IgnoredInstances' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceId' => ['description' => 'The ID of the instance that was not removed.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The error code that indicates the reason why the instance was not removed.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Message' => ['description' => 'The error message that indicates the reason why the instance was not removed.', 'type' => 'string', 'title' => '', 'example' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => 'The instances that were not removed and the reasons why they were not removed.', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - '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', + 'errorCodes' => [ + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp175o6f6ego3r2j****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"IgnoredInstances\\": [\\n {\\n \\"InstanceId\\": \\"\\",\\n \\"Code\\": \\"\\",\\n \\"Message\\": \\"\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'RemoveInstances', + 'description' => '- Ensure the following conditions are met before you call this API:'."\n" + ."\n" + .' - The scaling group is in the Active state.'."\n" + ."\n" + .' - The scaling group has no scaling activities in progress.'."\n" + ."\n" + .'> This API can bypass the cooldown (`DefaultCooldown`) if the scaling group has no ongoing scaling activities.'."\n" + ."\n" + .'- If an ECS instance is automatically created by Auto Scaling, or is manually added and managed by the scaling group, removing the instance from the scaling group places it in Economical Mode or releases it.'."\n" + ."\n" + .'- If an ECS instance is manually added and not managed by the scaling group, removing the instance from the group does not stop or release it.'."\n" + ."\n" + .'- The call fails if the number of remaining instances would fall below the minimum number of instances (`MinSize`).'."\n" + ."\n" + .'A successful response confirms the Auto Scaling service has accepted the request, but does not guarantee the scaling activity will succeed. You must use the returned `ScalingActivityId` to check the execution status of the scaling activity.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'ResumeInstanceRefresh' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '125360', - 'abilityTreeNodes' => [ - 'FEATUREess6E26FJ', - 'FEATUREessFY8KDA', - ], + '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-bp1igpak5ft1flyp****', - ], + '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' => false, - 'example' => 'cn-beijing', - ], + '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' => [ @@ -25994,132 +18285,80 @@ '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', - ], - ], - ], - ], + '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 \\"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', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'ResumeInstanceRefresh', + 'summary' => 'Resumes an instance refresh task.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ResumeInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'ResumeProcesses' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '125346', - 'abilityTreeNodes' => [ - 'FEATUREessJ2FJEV', - ], + '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-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp15oubotmrq11xe****'], ], [ - 'name' => 'NotificationArn', + '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' => '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" + '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" - .'The variables in the preceding value formats have the following meanings:'."\n" + .'* ScaleIn'."\n" + .'* ScaleOut'."\n" + .'* HealthCheck'."\n" + .'* AlarmNotification'."\n" + .'* ScheduledAction'."\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', + .'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, - 'example' => 'acs:ess:cn-beijing:161456884340****:cloudmonitor', + 'maxItems' => 100, ], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-qingdao'], ], ], 'responses' => [ @@ -26127,525 +18366,432 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'RequestId' => ['description' => 'The ID of the request'."\n", 'type' => 'string', 'example' => 'E38EB733-D714-4658-8A5F-0688AB68****'], ], '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', - ], - ], + 'title' => 'ResumeProcesses', + 'summary' => 'Resumes suspended processes in a scaling group. This operation allows Auto Scaling to proceed with executing these processes according to their predefined rules and logic. For example, if you resume the health check process in your scaling group, Auto Scaling automatically detects and removes any instances deemed unhealthy from the scaling group.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ResumeProcesses', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"NotificationTypes\\": [\\n \\"AUTOSCALING:SCALE_OUT_SUCCESS\\"\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeNotificationTypes', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E38EB733-D714-4658-8A5F-0688AB68****\\"\\n}","type":"json"}]', ], - 'CreateDiagnoseReport' => [ - 'summary' => 'Creates a diagnostic report.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'RollbackInstanceRefresh' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '221453', - 'abilityTreeNodes' => [ - 'FEATUREessO4WOGN', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '234874', + 'abilityTreeNodes' => ['FEATUREessPV8ZVU'], ], 'parameters' => [ + [ + 'name' => 'ScalingGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'], + ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'InstanceRefreshTaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1f2f6oxc2*******', - ], + 'schema' => ['description' => 'The ID of the instance refresh task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ir-a12ds234fasd*****'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '0189C6CB-07BA-5AFE-B533-D93892324774', - ], - 'ReportId' => [ - 'description' => 'The unique ID of the diagnostic report.'."\n", - 'type' => 'string', - 'example' => 'dr-uf6enpbnri1xhcy9qc7s', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'B13527BF-1FBD-4334-A512-20F5E9D3****'], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0189C6CB-07BA-5AFE-B533-D93892324774\\",\\n \\"ReportId\\": \\"dr-uf6enpbnri1xhcy9qc7s\\"\\n}","type":"json"}]', - 'title' => 'CreateDiagnoseReport', - ], - 'DescribeDiagnoseReports' => [ - 'summary' => 'Queries the diagnostic reports.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B13527BF-1FBD-4334-A512-20F5E9D3****\\"\\n}","type":"json"}]', + 'title' => 'RollbackInstanceRefresh', + 'summary' => 'Rolls back an instance refresh task. If an instance refresh task cannot meet your business requirements, you can call the RollbackInstanceRefresh operation. When you roll back an instance refresh task, Auto Scaling creates new instances based on the active scaling configuration to replace the instances whose configurations are already updated by running the task.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:RollbackInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'ScaleWithAdjustment' => [ + 'summary' => 'Unlike the ExecuteScalingRule API, you can use the ScaleWithAdjustment API to trigger elastic scaling based on a specified adjustment rule, without first creating a scaling rule.', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '221362', - 'abilityTreeNodes' => [ - 'FEATUREessA4Z14P', - ], + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '125372', + 'abilityTreeNodes' => ['FEATUREessSQIS9M'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-shenzhen', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'asg-j6c1o397427hyjdc****', 'title' => ''], ], [ - 'name' => 'ScalingGroupId', + 'name' => 'AdjustmentType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-2vcis7yglxtm*****', - ], + 'schema' => ['description' => 'The method used to adjust the number of instances in a scaling activity. Valid values:'."\n" + ."\n" + .'- `QuantityChangeInCapacity`: Adds or removes a specified number of ECS instances.'."\n" + ."\n" + .'- `PercentChangeInCapacity`: Adds or removes a specified percentage of ECS instances.'."\n" + ."\n" + .'- `TotalCapacity`: Adjusts the number of ECS instances in the scaling group to a specified number.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'QuantityChangeInCapacity', 'title' => ''], ], [ - 'name' => 'ReportIds', + 'name' => 'AdjustmentValue', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the diagnostic reports. You can specify at most 20 IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the diagnostic report.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'dr-j6c7wvdzk5103bkm8cx4', - ], - 'required' => false, - 'maxItems' => 20, - 'minItems' => 0, - ], + 'schema' => ['description' => 'The adjustment value for the scaling activity. A single adjustment cannot add or remove more than 1,000 ECS instances. The valid range depends on `AdjustmentType`:'."\n" + ."\n" + .'- `QuantityChangeInCapacity`: -1000 to 1000.'."\n" + ."\n" + .'- `PercentChangeInCapacity`: -100 to 10000.'."\n" + ."\n" + .'- `TotalCapacity`: 0 to 2000.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '2147483647', 'minimum' => '-2147483648', 'isFileTransferUrl' => false, 'example' => '100', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'MinAdjustmentMagnitude', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The minimum number of instances to adjust in a scaling activity. This parameter takes effect only when `AdjustmentType` is set to `PercentChangeInCapacity`.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'A client-generated token to ensure the idempotence of the request. This token must be a unique string of up to 64 ASCII characters.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'SyncActivity', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to execute the scaling activity synchronously. This parameter applies only to scaling groups that are configured with an expected number of instances. Valid values:'."\n" + ."\n" + .'- `true`: Synchronous execution. The scaling activity is triggered immediately.'."\n" + ."\n" + .'- `false`: Asynchronous execution. The call updates the expected number of instances without immediately triggering the scaling activity. The activity occurs when the system detects a discrepancy between the new expected number and the current number of instances.'."\n" + ."\n" + .'> For more information about the expected number of instances, see [Expected number of instances](~~146231~~).'."\n" + ."\n" + .'Default value: false.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'ParallelTask', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the current scaling activity supports concurrency.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'Overrides', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", + 'description' => 'The parameters to override when scaling out an ECI scaling group.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'ECA123C6-107B-5F70-A177-740A7224C996', - ], - 'Reports' => [ - 'description' => 'The diagnostic reports.'."\n", + 'Cpu' => ['description' => 'The number of vCPUs for the instance. Unit: cores.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2', 'title' => ''], + 'Memory' => ['description' => 'The memory size for the instance. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], + 'ContainerOverrides' => [ + 'description' => 'A list of container-specific overrides.', 'type' => 'array', 'items' => [ - 'description' => 'The diagnostic report.'."\n", + 'description' => 'Specifies the overrides for a single container.', 'type' => 'object', 'properties' => [ - 'UserId' => [ - 'description' => 'The user ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => '161456884*******', - ], - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-qingdao', + 'Name' => ['description' => 'The name of the container to override. The override takes effect only if this name matches a container name in the scaling configuration.', 'type' => 'string', 'required' => false, 'example' => 'container-1', 'title' => ''], + 'Args' => [ + 'description' => 'The arguments for the container\'s startup command. You can specify up to 10 arguments.', + 'type' => 'array', + 'items' => ['description' => 'A single startup command argument.', 'type' => 'string', 'required' => false, 'example' => 'arg', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'ScalingGroupId' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'example' => 'asg-bp124uve5iph3*****', + 'Commands' => [ + 'description' => 'The container\'s startup command, specified as an array of strings. You can specify up to 20 strings, and each can be up to 256 characters long.', + 'type' => 'array', + 'items' => ['description' => 'A single string in the command array.', 'type' => 'string', 'required' => false, 'example' => 'sleep', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'Details' => [ - 'description' => 'The details of the diagnostic report.'."\n", + 'EnvironmentVars' => [ + 'description' => 'Environment variables to set in the container.', 'type' => 'array', 'items' => [ + 'description' => 'A single environment variable, specified as a key-value pair.', 'type' => 'object', 'properties' => [ - 'DiagnoseType' => [ - 'description' => 'The type of the diagnostic item. Valid values:'."\n" - ."\n" - .'* AccountArrearage: Checks whether your Alibaba Cloud account has overdue payments.'."\n" - .'* AccountNotEnoughBalance: Checks whether the balance of your Alibaba Cloud account at the China site (aliyun.com) is greater than or equal to CNY 100.'."\n" - .'* ElasticStrength: Checks whether the instance types that are specified in the scaling configuration are sufficient.'."\n" - .'* VSwitch: Checks whether a specific vSwitch can work as expected. For example, if a vSwitch is deleted, the vSwitch cannot provide services and an exception occurs.'."\n" - .'* SecurityGroup: Checks whether a specific security group can work as expected. For example, if a security group is deleted, the security group cannot provide services and an exception occurs.'."\n" - .'* KeyPair: Checks whether the key pair is available. If the specified key pair is deleted, specify another key pair for the scaling group.'."\n" - .'* SlbBackendServerQuota: Checks whether the number of ECS instances that are added to the default server group and the vServer groups of the SLB instances associated with the scaling group has reached the upper limit.'."\n" - .'* AlbBackendServerQuota: Checks whether the number of ECS instances that are added to the backend server groups of the ALB instances associated with the scaling group has reached the upper limit.'."\n" - .'* NlbBackendServerQuota: Checks whether the number of ECS instances that are added to the backend server groups of the NLB instances associated with the scaling group has reached the upper limit.'."\n", - 'type' => 'string', - 'example' => 'AccountArrearage', - ], - 'ResourceId' => [ - 'description' => 'The ID of the resource.'."\n", - 'type' => 'string', - 'example' => 'sg-280ih****', - ], - 'Status' => [ - 'description' => 'The status of the diagnostic item. Valid values:'."\n" - ."\n" - .'* Normal: The diagnostic result is normal.'."\n" - .'* Warn: The diagnostic result is warning.'."\n" - .'* Critical: The diagnostic result is critical.'."\n", - 'type' => 'string', - 'example' => 'Normal', - ], - 'ErrorCode' => [ - 'description' => 'The error code of the diagnostic item. Valid values:'."\n" - ."\n" - .'* VSwitchIdNotFound: The vSwitch does not exist.'."\n" - .'* SecurityGroupNotFound: The security group does not exist.'."\n" - .'* KeyPairNotFound: The key pair does not exist.'."\n" - .'* SlbBackendServerQuotaExceeded: The number of ECS instances that are added to the default server group and the vServer groups of the SLB instances associated with the scaling group has reached the upper limit.'."\n" - .'* AlbBackendServerQuotaExceeded: The number of ECS instances that are attached to the ALB instances of the scaling group has reached the upper limit.'."\n" - .'* NlbBackendServerQuotaExceeded: The number of ECS instances that are attached to the NLB instances of the scaling group has reached the upper limit.'."\n" - .'* AccountArrearage: Your account has overdue payments.'."\n" - .'* AccountNotEnoughBalance: The balance of your Alibaba Cloud account is less than CNY 100.'."\n" - .'* ElasticStrengthAlert: The inventory levels are lower than expected.'."\n", - 'type' => 'string', - 'example' => 'VSwitchIdNotFound', - ], + 'Key' => ['description' => 'The name of the environment variable. It must be 1 to 128 characters long, cannot start with a digit, and can contain only letters (a-z, A-Z), digits (0-9), and underscores (\\_).', 'type' => 'string', 'required' => false, 'example' => 'PATH', 'title' => ''], + 'Value' => ['description' => 'The value of the environment variable, up to 256 characters long.', 'type' => 'string', 'required' => false, 'example' => '/usr/local/tomcat', 'title' => ''], ], - 'description' => '', + 'required' => false, + 'title' => '', + 'example' => '', ], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'ReportId' => [ - 'description' => 'The ID of the diagnostic report.'."\n", - 'type' => 'string', - 'example' => 'dr-bp14p0cjp7wvjob5l6hk', - ], - 'ProcessStatus' => [ - 'description' => 'The status of the diagnostic report. Valid values:'."\n" - ."\n" - .'* processing: The diagnosis is in progress.'."\n" - .'* Finished: The diagnosis is complete.'."\n", - 'type' => 'string', - 'example' => 'Finished', - ], - 'DiagnoseStatus' => [ - 'description' => 'The status of the diagnostic item. Only the severe status is displayed in the diagnostic report. Valid values:'."\n" - ."\n" - .'* Normal: The diagnostic result is normal.'."\n" - .'* Warn: The diagnostic result is warning.'."\n" - .'* Critical: The diagnostic result is critical.'."\n", - 'type' => 'string', - 'example' => 'Normal', - ], - 'CreationTime' => [ - 'description' => 'The time when the diagnostic report was created.'."\n", - 'type' => 'string', - 'example' => '2024-08-23T02:22:30Z', - ], + 'Cpu' => ['description' => 'The number of vCPUs for the container. Unit: cores.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '2', 'title' => ''], + 'Memory' => ['description' => 'The memory size for the container. Unit: GiB.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', + 'UserData' => ['description' => 'The user data for the ECS instance. It must be Base64-encoded, and the raw data cannot exceed 32 KB.', 'type' => 'string', 'required' => false, 'example' => 'ZWNobyBoZWxsbyBlY3Mh', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'LifecycleHookContext', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The lifecycle hook context.', + 'type' => 'object', + 'properties' => [ + 'DisableLifecycleHook' => ['description' => 'Specifies whether to disable all lifecycle hooks for the scaling activity. Valid values:'."\n" + ."\n" + .'- `true`: Disables all lifecycle hooks.'."\n" + ."\n" + .'- `false`: Does not disable lifecycle hooks.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + 'IgnoredLifecycleHookIds' => [ + 'description' => 'A list of lifecycle hook IDs to ignore during the scaling activity.', + 'type' => 'array', + 'items' => ['description' => 'The ID of a lifecycle hook to ignore.', 'type' => 'string', 'required' => false, 'example' => 'ash-bp14zolna43z266bq***', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'TotalCount' => [ - 'description' => 'The total number of diagnostic reports.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', + 'LifecycleHookResult' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'ActivityMetadata', + 'in' => 'query', + 'schema' => ['description' => 'The metadata for the scaling activity.', 'type' => 'string', 'required' => false, 'example' => '{"key":"value"}', 'title' => ''], + ], + [ + 'name' => 'ExecutionMode', + 'in' => 'query', + 'schema' => ['description' => 'The execution mode. Valid values:'."\n" + ."\n" + .'- `None`: Executes a standard scaling activity.'."\n" + ."\n" + .'- `PlanOnly`: Only performs elastic planning and returns the results in `PlanResult` without triggering the scaling activity. The results include details such as instance types, availability zones, billing methods, and the number of new instances.'."\n" + ."\n" + .'Default value: None.', 'type' => 'string', 'required' => false, 'example' => 'PlanOnly', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ScalingActivityId' => ['description' => 'The ID of the scaling activity.', 'type' => 'string', 'example' => 'asa-bp175o6f6ego3r2j****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'ActivityType' => ['description' => 'The type of the scaling activity.'."\n" + ."\n" + .'If this parameter is set to `CapacityChange`, the scaling activity only adjusts the desired capacity of the scaling group without immediately adding or removing instances.'."\n" + ."\n" + .'This setting only affects scaling groups with a configured desired capacity.', 'type' => 'string', 'example' => 'CapacityChange', 'title' => ''], + 'PlanResult' => [ + 'description' => 'The scaling plan result returned when ExecutionMode is set to PlanOnly.', + 'type' => 'object', + 'properties' => [ + 'ResourceAllocations' => [ + 'description' => 'The resource allocation details in the scaling plan result.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ZoneId' => ['description' => 'The availability zone ID.', 'type' => 'string', 'example' => 'cn-beijing-g', 'title' => ''], + 'InstanceType' => ['description' => 'The instance type.', 'type' => 'string', 'example' => 'ecs.u1-c1m8.large', 'title' => ''], + 'SpotStrategy' => ['description' => 'The spot strategy of the instance. Valid values:'."\n" + ."\n" + .'- NoSpot: A pay-as-you-go instance.'."\n" + ."\n" + .'- SpotWithPriceLimit: A spot instance with a user-specified price limit.'."\n" + ."\n" + .'- SpotAsPriceGo: A spot instance where the system automatically bids based on the current market price.', 'type' => 'string', 'example' => 'NoSpot', 'title' => ''], + 'Amount' => ['description' => 'The number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'InstanceChargeType' => ['description' => 'The billing method of the instance. Valid values:'."\n" + ."\n" + .'- **Prepaid**: subscription'."\n" + ."\n" + .'- **PostPaid**: pay-as-you-go', 'type' => 'string', 'example' => 'PostPaid', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - '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', + 'title' => 'ScaleWithAdjustment', + 'description' => '- Ensure the following conditions are met before calling this operation:'."\n" + ."\n" + .' - The scaling group is in the Active state.'."\n" + ."\n" + .' - No scaling activities are in progress in the scaling group.'."\n" + ."\n" + .'- This operation bypasses the cooldown to immediately execute a scaling activity, provided no other scaling activities are in progress.'."\n" + ."\n" + .'- If adding the specified ECS instances would cause the total capacity to exceed the maximum size, Auto Scaling sets the total capacity to the maximum size.'."\n" + ."\n" + .'- If removing the specified ECS instances would reduce the total capacity below the minimum size, Auto Scaling sets the total capacity to the minimum size.'."\n" + ."\n" + .'A successful response indicates that the API request was accepted, but this does not guarantee that the scaling activity will succeed. You must use the returned `ScalingActivityId` to check the status of the scaling activity.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ScaleWithAdjustment', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-bp175o6f6ego3r2j****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ActivityType\\": \\"CapacityChange\\",\\n \\"PlanResult\\": {\\n \\"ResourceAllocations\\": [\\n {\\n \\"ZoneId\\": \\"cn-beijing-g\\",\\n \\"InstanceType\\": \\"ecs.u1-c1m8.large\\",\\n \\"SpotStrategy\\": \\"NoSpot\\",\\n \\"Amount\\": 1,\\n \\"InstanceChargeType\\": \\"PostPaid\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'SetGroupDeletionProtection' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '221455', - 'abilityTreeNodes' => [ - 'FEATUREessA4Z14P', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '125350', + 'abilityTreeNodes' => ['FEATUREessF87COY'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'GroupDeletionProtection', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region to which the scaling group belongs.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-qingdao', - ], + '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.', - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + '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' => [ - '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', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'CCC29E24-3AEC-4F2C-8A14-78B14FA738B7'], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"688B18B8-FB1E-42EB-A1ED-7F55B090****\\",\\n \\"Details\\": [\\n {\\n \\"DiagnoseType\\": \\"SecurityGroup\\",\\n \\"ResourceId\\": \\"sg-280ih****\\",\\n \\"Status\\": \\"Normal\\",\\n \\"ErrorCode\\": \\"AccountArrearage\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeScalingGroupDiagnoseDetails', - 'translator' => 'machine', - ], - 'EnterStandby' => [ - 'summary' => 'Puts an Elastic Compute Service (ECS) instance into the Standby state.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'SetGroupDeletionProtection', + 'summary' => 'Sets deletion protection for a scaling group. If you enable deletion protection for a scaling group, you cannot delete the scaling group. If you disable deletion protection for a scaling group, you can directly delete the scaling group. You can call the SetGroupDeletionProtection operation to enable or disable deletion protection.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SetGroupDeletionProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CCC29E24-3AEC-4F2C-8A14-78B14FA738B7\\"\\n}","type":"json"}]', + ], + 'SetInstanceHealth' => [ + 'summary' => 'Sets instance health. At times, the automatic health check system might not sufficiently determine the precise health status of your Elastic Compute Service (ECS) instances or elastic container instances. To overcome this, you can call the SetInstanceHealth operation to swiftly pinpoint problematic instances and resolve issues. This operation is designed to more precisely align with real-world business requirements and tackle O\\\\\\&M hurdles efficiently.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -26653,63 +18799,22 @@ ], 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '125322', - 'abilityTreeNodes' => [ - 'FEATUREessBFHJ1B', - ], + 'abilityTreeCode' => '125393', + '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', + 'name' => 'InstanceId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the ECS instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of the ECS instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-28wt4****', - ], - 'required' => true, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The ID of the instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'i-bp1ap6bro51a7fsa****', 'title' => ''], ], [ - 'name' => 'Async', + 'name' => 'HealthStatus', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to asynchronously put the ECS instance into the Standby state. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The health status of the instance. Valid values:'."\n" + ."\n" + .'* Healthy: sets the instance as healthy.'."\n" + .'* Unhealthy: sets the instance as unhealthy.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Healthy', 'title' => ''], ], ], 'responses' => [ @@ -26717,48 +18822,34 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'ScalingActivityId' => [ - 'title' => '异步调用伸缩活动ID', - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'example' => 'asa-2zeb04oym05qaceq****', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B755AE57-6093-43E4-938E-DEA422A9****', 'title' => ''], ], 'description' => '', + 'title' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingActivityId\\": \\"asa-2zeb04oym05qaceq****\\"\\n}","type":"json"}]', - 'title' => 'EnterStandby', - 'description' => '## Description'."\n" - ."\n" - .'* If you call the operation to put an ECS instance in a scaling group that is associated with a Classic Load Balancer (CLB) instance into the Standby state, the weight of the ECS instance as a backend server of the CLB instance is set to 0.'."\n" - .'* You can remove an instance that is in the Standby state from a scaling group, and then release the instance.'."\n" - .'* ECS instances that are in the Standby state are not removed from the scaling group during scale-in activities triggered by event-triggered tasks.'."\n" - .'* If Auto Scaling considers an ECS instance that is in the Standby state unhealthy, for example, the ECS instance is being stopped or being restarted, Auto Scaling does not update the health status of the ECS instance or trigger scale-in activities to remove the ECS instance from the scaling group. Auto Scaling updates the health status of the ECS instance only when the ECS instance is no longer in the Standby state.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => '|HTTP status code|Error code|Error message|Description|'."\n" - .'|---|---|---|---|'."\n" - .'|403|Forbidden.Unauthorized|A required authorization for the specified action is not supplied.|The error message returned because the RAM user is not authorized to call this operation. Contact the Alibaba Cloud account for the authorization and try again.|'."\n" - .'|404|InvalidInstanceId.NotFound|Instance “XXX” does not exist.|The error message returned because the specified ECS instance does not exist.|'."\n" - .'|404|InvalidScalingGroupId.NotFound|The specified scaling group does not exist.|The error message returned because the specified scaling group does not exist.|', - ], - 'ExitStandby' => [ - 'summary' => 'Removes an instance from the Standby state. When a scale-in event is triggered in a scaling group, Auto Scaling does not remove Elastic Compute Service (ECS) instances or elastic container instances that are in the Standby state from the scaling group. If you want to restart the instances that are in the Standby state, you can call the ExitStandby operation to remove the instances from the Standby state and put them into the In Service state.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'SetInstanceHealth', + 'description' => '伸缩组会检测并移出处于不健康状态的ECS实例或ECI实例,如果您需要保留指定的ECS实例或ECI实例,请将ECS实例或ECI实例转入备用或者保护状态,更多信息,请参见[EnterStandby](~~459345~~)和[SetInstancesProtection](~~459342~~)。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SetInstanceHealth', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B755AE57-6093-43E4-938E-DEA422A9****\\"\\n}","type":"json"}]', + ], + 'SetInstancesProtection' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -26766,231 +18857,276 @@ ], 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '125359', - 'abilityTreeNodes' => [ - 'FEATUREessBFHJ1B', - ], + 'abilityTreeCode' => '125377', + 'abilityTreeNodes' => ['FEATUREessBFHJ1B'], ], 'parameters' => [ [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1fo0dbtsbmqa9h****', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'], ], [ - 'name' => 'ClientToken', + 'name' => 'ProtectedFromScaleIn', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" - ."\n" - .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [Ensure idempotence](~~25965~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'Specifies whether to protect ECS instances from being stopped or removed from the scaling group during scale-ins. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'required' => true, 'example' => 'true'], ], [ 'name' => 'InstanceIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the ECS instances. The value can be a JSON array that consists of up to 20 instance IDs. Separate multiple instance IDs with commas (,).'."\n", + 'description' => 'The IDs of the ECS instances.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the ECS instance. The value can be a JSON array that consists of up to 20 instance IDs. Separate multiple instance IDs with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-28wt4****', - ], + 'items' => ['description' => 'The IDs of the ECS instances.'."\n", 'type' => 'string', 'required' => false, 'example' => 'i-28wt4****'], 'required' => true, 'maxItems' => 20, ], ], - [ - 'name' => 'Async', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove the instance from the Standby state in an asynchronous manner. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'ScalingActivityId' => [ - 'title' => '异步调用伸缩活动ID', - 'description' => 'The ID of the scaling activity.'."\n", - 'type' => 'string', - 'example' => 'asa-2zeb04oym05qaceq****', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScalingActivityId\\": \\"asa-2zeb04oym05qaceq****\\"\\n}","type":"json"}]', - 'title' => 'ExitStandby', - 'description' => 'After ECS instances or elastic container instances are removed from the Standby state, the following rules apply:'."\n" - ."\n" - .'* The ECS instances or elastic container instances enter the In Service state.'."\n" - .'* The default weight of each ECS instance or elastic container instance as a backend server of the attached load balancer is 50.'."\n" - .'* If you stop or restart the ECS instances or elastic container instances, the health check status of the instances will be updated.'."\n" - .'* When a scale-in event is triggered, Auto Scaling may remove the ECS instances or elastic container instances from the scaling group.'."\n", - ], - 'RebalanceInstances' => [ - 'summary' => 'Rebalances the distribution of Elastic Compute Service (ECS) instances across zones. If ECS instances are unevenly distributed across multiple zones, you can call the RebalanceInstances operation to rebalance the distribution of the ECS instances across the zones.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'SetInstancesProtection', + 'summary' => 'Puts or removes Elastic Compute Service (ECS) instances into or from the Protected state. After you put an ECS instance into the Protected state, the ECS instance will not be stopped or released when a scale-in event is triggered. In this case, you can manually delete the ECS instance in the Auto Scaling console or by calling the RemoveInstances operation.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SetInstancesProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + ], + 'StartInstanceRefresh' => [ + 'summary' => 'Refreshes instances in a scaling group when you need to apply a new scaling configuration or update the image of instances in the scaling group.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '125328', - 'abilityTreeNodes' => [ - 'FEATUREessPV8ZVU', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '234862', + 'abilityTreeNodes' => ['FEATUREessPV8ZVU', 'FEATUREess8Q01K5'], ], 'parameters' => [ [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.', - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****', 'title' => ''], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25965~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the scaling group.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'MinHealthyPercentage', + 'in' => 'query', + 'schema' => ['description' => 'The minimum percentage of instances that must remain in service in the scaling group during the instance refresh. Valid values: 0 to 100.'."\n" + .'Default value: 80.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''], + ], + [ + 'name' => 'MaxHealthyPercentage', + 'in' => 'query', + 'schema' => ['description' => 'The maximum percentage by which the number of instances in the scaling group can exceed the scaling group capacity during the instance refresh. Valid values: 100 to 200.'."\n" + .'Default value: 120.'."\n" + ."\n" + .'> When MinHealthyPercentage = MaxHealthyPercentage = 100, one instance is refreshed at a time.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + ], + [ + 'name' => 'DesiredConfiguration', + 'in' => 'query', + 'style' => 'flat', 'schema' => [ + 'description' => 'The desired configuration for the instance refresh.'."\n" + ."\n" + .'> - You cannot specify ScalingConfigurationId, ImageId, LaunchTemplateId, and Containers at the same time. If this parameter is left empty, the currently active configuration of the scaling group is used for the refresh.'."\n" + .'> - After the instance refresh task is completed, the active scaling configuration of the scaling group is updated to this configuration.', 'type' => 'object', 'properties' => [ - 'ScalingActivityId' => [ - 'description' => 'The ID of the scaling activity.', - 'type' => 'string', - 'example' => 'asa-kjgffgdfadah****', + 'ImageId' => ['description' => 'The image ID.'."\n" + ."\n\n" + ."\n" + .'> - After the instance refresh task is completed, the image in the currently active configuration of the scaling group is updated to this image.'."\n" + .'> - This parameter is not supported when the instance configuration source of the scaling group is a launch template.'."\n" + .'> - Images that contain data cloud disks are not supported.', 'type' => 'string', 'required' => false, 'example' => 'm-2ze8cqacj7opnf***', 'title' => ''], + 'ScalingConfigurationId' => ['description' => 'The ID of the scaling configuration.', 'type' => 'string', 'required' => false, 'example' => 'asc-2zed7lqn4ts4****', 'title' => ''], + 'LaunchTemplateId' => ['description' => 'The ID of the launch template. This parameter specifies that the scaling group obtains launch configuration information from the launch template.', 'type' => 'string', 'required' => false, 'example' => 'lt-2ze2qli30u***', 'title' => ''], + 'LaunchTemplateVersion' => ['description' => 'The version of the launch template. Valid values:'."\n" + ."\n" + .'- A fixed template version number.'."\n" + .'- Default: always uses the default version of the template.'."\n" + .'- Latest: always uses the latest version of the template.'."\n" + ."\n" + .'> Rollback is not supported for instance refresh tasks when the version is set to Default or Latest.', 'type' => 'string', 'required' => false, 'example' => '8', 'title' => ''], + 'LaunchTemplateOverrides' => [ + 'description' => 'The instance type information that extends the launch template.', + 'type' => 'array', + 'items' => [ + 'description' => 'The instance type information that extends the launch template.', + 'type' => 'object', + 'properties' => [ + 'InstanceType' => ['description' => 'The instance type that overrides the instance type specified in the launch template.'."\n" + ."\n" + .'> This parameter takes effect only when the LaunchTemplateId parameter specifies a launch template.', 'type' => 'string', 'required' => false, 'example' => 'ecs.c5.2xlarge', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'RequestId' => [ - 'description' => 'The ID of the request.', - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', + 'Containers' => [ + 'description' => 'The list of containers in the instance.'."\n" + ."\n" + .'> - This parameter is supported only for Elastic Container Instance (ECI) scaling groups.'."\n" + .'> - Only container configurations whose names match `Container.Name` in the current scaling configuration container list are refreshed.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of containers in the instance.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The custom container name.', 'type' => 'string', 'required' => false, 'example' => 'nginx', 'title' => ''], + 'Image' => ['description' => 'The container image.', 'type' => 'string', 'required' => false, 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest', 'title' => ''], + 'Commands' => [ + 'description' => 'The container startup commands. A maximum of 20 commands are supported. Each command can contain up to 256 characters.', + 'type' => 'array', + 'items' => ['description' => 'The container startup commands. A maximum of 20 commands are supported. Each command can contain up to 256 characters.', 'type' => 'string', 'required' => false, 'example' => 'sleep', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'Args' => [ + 'description' => 'The arguments for the container startup command. A maximum of 10 arguments are supported.', + 'type' => 'array', + 'items' => ['description' => 'The arguments for the container startup command. A maximum of 10 arguments are supported.', 'type' => 'string', 'required' => false, 'example' => '100', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'EnvironmentVars' => [ + 'description' => 'The environment variable information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The environment variable information.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The name of the environment variable. The name must be 1 to 128 characters in length and can contain digits, letters, and underscores (\\_). It cannot start with a digit.', 'type' => 'string', 'required' => false, 'example' => 'PATH', 'title' => ''], + 'Value' => ['description' => 'The value of the environment variable. The value can be 0 to 256 characters in length.', 'type' => 'string', 'required' => false, 'example' => '/usr/local/bin ', 'title' => ''], + 'FieldRefFieldPath' => ['description' => '> This parameter is not publicly available.', 'type' => 'string', 'required' => false, 'example' => 'fieldPath', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], + 'required' => false, + 'title' => '', + 'example' => '', ], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ScalingActivityId\\": \\"asa-kjgffgdfadah****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'RebalanceInstances', - 'description' => '## [](#)Usage notes'."\n" - ."\n" - .'Auto Scaling creates new ECS instances to replace the existing ECS instances to fulfill the rebalancing purpose. Auto Scaling starts the new ECS instances before stopping the existing ECS instances. The rebalancing operation does not affect the performance or service availability of your application.'."\n" - ."\n" - .'* This operation is supported by only multi-zone scaling groups whose `MultiAZPolicy` is set to `BALANCE`.'."\n" - ."\n" - .'* A rebalancing operation is required only when the distribution of the instances of a multi-zone scaling group is significantly unbalanced. In a rebalancing activity, Auto Scaling replaces up to 20 ECS instances to rectify the unbalanced distribution.'."\n" - ."\n" - .'* During the execution of a rebalancing operation, if the number of instances in the scaling group approaches or hits the value of MaxSize but the rebalancing operation needs to continue, Auto Scaling allows the total number of ECS instances to momentarily exceed the value of MaxSize by 10%. This temporary surplus condition persists for a duration until equilibrium in the distribution of ECS instances is achieved. Typically, it takes 1 to 6 minutes.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** If the 10% increment of the maximum number of instances in a scaling group yield a non-integer value, the decimal portion is always rounded up to ensure an additional instance is accounted for. For example, you have a scaling group that holds a maximum of 15 ECS instances. During a rebalancing operation, Auto Scaling would permit the total number of instances to momentarily surpass this limit by 2, instead of the calculated 10% (which is 1.5).'."\n", - ], - 'SetInstanceHealth' => [ - 'summary' => 'Sets instance health. At times, the automatic health check system might not sufficiently determine the precise health status of your Elastic Compute Service (ECS) instances or elastic container instances. To overcome this, you can call the SetInstanceHealth operation to swiftly pinpoint problematic instances and resolve issues. This operation is designed to more precisely align with real-world business requirements and tackle O\\\\\\&M hurdles efficiently.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '125393', - 'abilityTreeNodes' => [ - 'FEATUREessBFHJ1B', + 'name' => 'SkipMatching', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to skip instances that match the desired configuration.'."\n" + ."\n" + .'> The system determines whether an instance matches based on the ID of the desired scaling configuration, not by comparing individual configuration items.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- true: Instances that were already created with the desired configuration are skipped.'."\n" + .'- false: All instances in the scaling group at the time the refresh task starts are refreshed.'."\n" + ."\n" + .'Default value: true.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'Checkpoints', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-bp1ap6bro51a7fsa****', + 'description' => 'The checkpoints for the refresh task. Specifies that the task is automatically paused for CheckpointPauseTime minutes when the percentage of new instances reaches the specified value during the instance refresh.', + 'type' => 'array', + 'items' => [ + 'description' => 'The checkpoints for the refresh task. Specifies that the task is automatically paused for `CheckpointPauseTime` minutes when the percentage of new instances reaches the specified value during the instance refresh.', + 'type' => 'object', + 'properties' => [ + 'Percentage' => ['description' => 'The percentage of new instances to total instances in the scaling group at which the task is automatically paused. Valid values: 1 to 100 (%).'."\n" + ."\n" + .'> The values must be specified in ascending order, and the last percentage value must be 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'HealthStatus', + 'name' => 'CheckpointPauseTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The health status of the instance. Valid values:'."\n" - ."\n" - .'* Healthy: sets the instance as healthy.'."\n" - .'* Unhealthy: sets the instance as unhealthy.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Healthy', - ], + 'schema' => ['description' => 'The duration for which the task is paused when a checkpoint is reached.'."\n" + .'- Unit: minutes.'."\n" + .'- Valid values: 1 to 2880.'."\n" + .'- Default value: 60.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'Strategy', + 'in' => 'query', + 'schema' => ['description' => 'The execution strategy for the instance refresh task. Valid values:'."\n" + ."\n" + .'- Rolling: The instance refresh task creates new instances and releases old instances to refresh instances.'."\n" + ."\n" + .'- ReplaceSystemDisk: The system cloud disk of existing instances is replaced by specifying DesiredConfiguration.image to update the system cloud disk.'."\n" + ."\n" + .'Default value: Rolling.', 'type' => 'string', 'required' => false, 'example' => 'Rolling', 'title' => ''], ], ], 'responses' => [ @@ -26998,29 +19134,39 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.', - 'type' => 'string', - 'example' => 'B755AE57-6093-43E4-938E-DEA422A9****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''], + 'InstanceRefreshTaskId' => ['description' => 'The ID of the instance refresh task.', 'type' => 'string', 'example' => 'ir-a12ds234fasd*****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B755AE57-6093-43E4-938E-DEA422A9****\\"\\n}","type":"json"}]', - 'title' => 'SetInstanceHealth', - 'description' => 'Auto Scaling detects and removes unhealthy ECS instances or elastic container instances from their scaling groups. To prevent a specific instance from being removed, you can put it in either the Standby or Protected state. For more information, see [EnterStandby](~~459345~~) and [SetInstancesProtection](~~459342~~).'."\n", - ], - 'SetInstancesProtection' => [ - 'summary' => 'Puts or removes Elastic Compute Service (ECS) instances into or from the Protected state. After you put an ECS instance into the Protected state, the ECS instance will not be stopped or released when a scale-in event is triggered. In this case, you can manually delete the ECS instance in the Auto Scaling console or by calling the RemoveInstances operation.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"InstanceRefreshTaskId\\": \\"ir-a12ds234fasd*****\\"\\n}","type":"json"}]', + 'title' => 'Start an instance refresh task', + 'description' => '- Only one instance refresh node can run in a scaling group at a time.'."\n" + .'- This feature supports only ECS scaling groups whose scale-out policy is set to **Priority Policy**. Scaling groups that use **vCPU-based Capacity Calculation** and scaling groups whose instance revoke pattern is set to **Shutdown and Revoke Pattern** or **Forced Shutdown and Revoke Pattern** do not support this feature.'."\n" + .'- During an instance refresh, normal scale-out and scale-in operations can be performed. However, scale-out operations use the desired configuration of the instance refresh.'."\n" + .'- Instances that are manually added to the scaling group, instances in the standby state, and instances in the protection status are ignored by the instance refresh node and do not participate in the instance refresh.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:StartInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'SuspendInstanceRefresh' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -27028,51 +19174,24 @@ ], 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '125377', - 'abilityTreeNodes' => [ - 'FEATUREessBFHJ1B', - ], + 'abilityTreeCode' => '234876', + 'abilityTreeNodes' => ['FEATUREessPV8ZVU'], ], 'parameters' => [ [ 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp18p2yfxow2dloq****'], ], [ - 'name' => 'ProtectedFromScaleIn', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to protect ECS instances from being stopped or removed from the scaling group during scale-ins. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => true, - 'example' => 'true', - ], + 'schema' => ['description' => 'The region ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'InstanceIds', + 'name' => 'InstanceRefreshTaskId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the ECS instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of the ECS instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-28wt4****', - ], - 'required' => true, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The ID of the instance refresh task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ir-a12ds234fasd*****'], ], ], 'responses' => [ @@ -27080,138 +19199,34 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], 'description' => '', ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'SetInstancesProtection', - 'description' => 'Once ECS instances enter the Protected state, they become subject to the following restrictions:'."\n" - ."\n" - .'* ECS instances will persist in the Protected state, unless you deliberately remove them from this state.'."\n" - .'* Even in scenarios where automatic scale-in actions are initiated due to fluctuations in the number of ECS instances or the execution of event-triggered tasks, Auto Scaling does not remove ECS instances that are in the Protected state from their respective scaling groups. Only after being manually removed from their respective scaling groups can ECS instances that are in the Protected state be released. For more information, see [Remove an ECS instance](~~459393~~).'."\n" - .'* ECS instances in the Protected state maintain their health status even when they undergo stopping or restarting processes.'."\n", - ], - 'DescribeRegions' => [ - 'summary' => 'Queries regions. Before you activate Auto Scaling, you can call the DescribeRegions operation to query the regions where Auto Scaling is officially launched. This preliminary step facilitates the strategic selection of both the optimal region and availability zones for activating Auto Scaling, thereby guaranteeing the finest access speeds and operational efficiency within your chosen geographical area.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - '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', - ], - ], - ], - ], + 'title' => 'SuspendInstanceRefresh', + 'summary' => 'Suspends an instance refresh task. If you are not sure that you want to roll back an ongoing instance refresh task whose configurations you think has an issue, you can call the SuspendInstanceRefresh operation to suspend the task.', + 'description' => '* You cannot call this operation to suspend an instance refresh task that is being rolled back.'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SuspendInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], - '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', - ], + 'SuspendProcesses' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -27219,191 +19234,116 @@ ], 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '125392', - 'abilityTreeNodes' => [ - 'FEATUREessXN6KX4', - ], + 'abilityTreeCode' => '125380', + 'abilityTreeNodes' => ['FEATUREess4ZDI6R'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ScalingGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the resource. You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the scaling group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'asg-bp15oubotmrq11xe****'], ], [ - 'name' => 'ResourceType', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The resource type. Set the value to scalinggroup.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'scalinggroup', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. 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' => 'ResourceIds', + 'name' => 'Processes', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the Auto Scaling resources. You can specify 1 to 50 resource IDs.', + '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 ID of the Auto Scaling resource.', - 'type' => 'string', - 'required' => false, - 'example' => 'asg-2zej7nf7hea77k5a****', - ], + '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' => 51, + 'maxItems' => 100, ], ], [ - 'name' => 'Tags', + 'name' => 'RegionId', '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, - ], + '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.', - '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', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '3E2033F0-03B4-419D-BCE2-C2339DB51****'], + ], + 'description' => '', + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'SuspendProcesses', + 'summary' => 'Suspends scaling processes. This operation empowers you to selectively pause distinct scaling processes within a particular scaling group, enabling you to carry out alternative tasks and achieve more granular management over your scaling operations.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SuspendProcesses', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3E2033F0-03B4-419D-BCE2-C2339DB51****\\"\\n}","type":"json"}]', + ], + 'TagResources' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '125324', - 'abilityTreeNodes' => [ - 'FEATUREess7569XW', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '125392', + 'abilityTreeNodes' => ['FEATUREessXN6KX4'], ], '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', - ], + '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' => 'NextToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The token that determines the start point of the next query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', - ], + '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.'."\n", + 'description' => 'The IDs of the Auto Scaling resources. You can specify 1 to 50 resource IDs.', '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, + 'items' => ['description' => 'The ID of the Auto Scaling resource.', 'type' => 'string', 'required' => false, 'example' => 'asg-2zej7nf7hea77k5a****'], + 'required' => true, 'maxItems' => 51, ], ], @@ -27412,34 +19352,28 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Details of the tags.'."\n", + 'description' => 'The tags that you want to add to the Auto Scaling resources.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'Details of the tags.'."\n", + 'description' => 'The tag that you want to add to the Auto Scaling resources.'."\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', - ], + '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' => false, + 'required' => true, 'maxItems' => 21, ], ], @@ -27447,76 +19381,46 @@ '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', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '74C4E313-8570-479F-8791-DC25360D****'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"74C4E313-8570-479F-8791-DC25360D****\\"\\n}","type":"json"}]', + 'title' => 'TagResources', + 'summary' => 'Creates and adds tags. You can call the TagResources operation to uniformly create and attach tags to your Auto Scaling resources, streamlining resource management. This capability empowers you to categorize resources based on tags, thereby enhancing the overall efficiency of resource allocation and utilization.', + 'description' => '* You can attach up to 20 tags to a scaling group.'."\n" + ."\n" + .' **'."\n" + ."\n" + .' **Note** Before you attach tags to a specific Auto Scaling resource, Alibaba Cloud automatically verifies the current number of tags attached to that resource. In the event the proposed addition would exceed the maximum allowed number of tags, an error message will be promptly returned after you call this operation.'."\n" + ."\n" + .'* If you set `Tags.Propagate` to `true`, any tags attached to your scaling group will be automatically propagated to new instances that are subsequently created in the scaling group, without affecting existing instances.'."\n" + ."\n" + .'* If both the scaling configuration and the scaling group have tags attached, and tag propagation from the scaling group is enabled, the tags of newly created instances comply with the following rules:'."\n" + ."\n" + .' * Instances set to join the scaling group will inherit the following tags: tags attached to the scaling configuration that initiates the instance creation and tags attached to the scaling group that are allowed to propagate to these instances upon instance creation.'."\n" + .' * If the tag keys of the scaling configuration and those attached to the scaling group and propagated to the instances are identical, the tags attached to the scaling group and propagated to the instances will be overwritten by the tags of the scaling configuration.'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:TagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"DE65F6B7-7566-4802-9007-96F2494A****\\",\\n \\"TagResources\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"ResourceType\\": \\"ALIYUN::ESS::SCALINGGROUP\\",\\n \\"ResourceId\\": \\"asg-bp17xb4x1vr29lgt****\\",\\n \\"TagKey\\": \\"TestKey\\",\\n \\"Propagate\\": false\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'ListTagResources', - 'description' => '* Specify at least one of the following request parameters: `ResourceIds` and `Tags`. `Tags.Key` and `Tags.Value` are used to specify the query objects.'."\n" - .'* If you provide both `ResourceIds` and `Tags` in your request, the response will exclusively include Auto Scaling resources that satisfy the criteria set by these parameters, ensuring targeted and precise information retrieval.'."\n", ], 'UntagResources' => [ - 'summary' => 'Removes tags from Auto Scaling resources simultaneously. This operation streamlines resource management activities, enhances system efficiency, and mitigates potential security vulnerabilities. Once a tag is removed from a particular resource, and if it is not re-added to any other resource, the system will automatically delete the unused tag.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -27525,45 +19429,28 @@ 'systemTags' => [ 'operationType' => 'update', 'abilityTreeCode' => '125327', - 'abilityTreeNodes' => [ - 'FEATUREessXN6KX4', - ], + 'abilityTreeNodes' => ['FEATUREessXN6KX4'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the resource. You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the resource. You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The resource type. Set the value to scalinggroup.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'scalinggroup', - ], + 'schema' => ['description' => 'The resource type. Set the value to scalinggroup.'."\n", 'type' => 'string', 'required' => true, 'example' => 'scalinggroup'], ], [ 'name' => 'All', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove all tags from the resource. This parameter takes effect only when you do not specify `TagKeys` in the request parameters. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'Default value: false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to remove all tags from the resource. This parameter takes effect only when you do not specify `TagKeys` in the request parameters. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ResourceIds', @@ -27572,12 +19459,7 @@ 'schema' => [ 'description' => 'The resource IDs.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The resource ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-bp17xb4x1vr29lgt****', - ], + 'items' => ['description' => 'The resource ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'asg-bp17xb4x1vr29lgt****'], 'required' => true, 'maxItems' => 51, ], @@ -27589,12 +19471,7 @@ 'schema' => [ 'description' => 'The tag keys.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], + 'items' => ['description' => 'The tag key.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TestKey'], 'required' => false, 'maxItems' => 21, ], @@ -27605,11 +19482,7 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '3AEBB1B9-5B13-4311-951F-C3C7FA2B****', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '3AEBB1B9-5B13-4311-951F-C3C7FA2B****'], ], 'description' => '', ], @@ -27617,75 +19490,45 @@ ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3AEBB1B9-5B13-4311-951F-C3C7FA2B****\\"\\n}","type":"json"}]', 'title' => 'UntagResources', - ], - 'ListTagKeys' => [ - 'summary' => 'Queries the tag keys added to Auto Scaling resources. Querying tag keys facilitates easier classification, identification, and monitoring of your Auto Scaling resources, thereby enhancing the flexibility and convenience of your resource management processes.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'summary' => 'Removes tags from Auto Scaling resources simultaneously. This operation streamlines resource management activities, enhances system efficiency, and mitigates potential security vulnerabilities. Once a tag is removed from a particular resource, and if it is not re-added to any other resource, the system will automatically delete the unused tag.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:UntagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], ], + ], + 'VerifyAuthentication' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREess7569XW', - ], - 'tenantRelevance' => 'publicInformation', - ], + 'deprecated' => false, + 'systemTags' => [], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the Auto Scaling resource.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the Auto Scaling resources. Set the value to `scalinggroup`. This means the tag key you want to query is added to a scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'scalinggroup', - ], - ], - [ - 'name' => 'NextToken', + 'name' => 'Uid', 'in' => 'query', - 'schema' => [ - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], + 'schema' => ['description' => 'The ID of your Alibaba Cloud account.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '12345678123*****'], ], [ - 'name' => 'PageSize', + 'name' => 'OnlyCheck', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Maximum value: 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'Specifies whether to check only the authorization status. Valid values:'."\n" + ."\n" + .'* true: checks only the authorization status. The service-linked role is not created.'."\n" + .'* false (default): checks the authorization status and resource usage.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], ], 'responses' => [ @@ -27693,181 +19536,50 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists.'."\n", - 'type' => 'string', - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'DC09A6AA-2713-4E10-A2E9-E6C5C43A****', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'Keys' => [ - 'description' => 'Details of the tag keys.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the tag keys.'."\n", - 'type' => 'string', - 'example' => 'ESS', - ], - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"DC09A6AA-2713-4E10-A2E9-E6C5C43A****\\",\\n \\"PageSize\\": 10,\\n \\"Keys\\": [\\n \\"ESS\\"\\n ]\\n}","type":"json"}]', - 'title' => 'ListTagKeys', - ], - 'ListTagValues' => [ - 'summary' => 'Queries the tag keys associated with Auto Scaling resources to facilitate a deeper comprehension of those resources. By doing so, you can categorize and manage your Auto Scaling resources more efficiently.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREess7569XW', - ], - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the Auto Scaling resource.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the Auto Scaling resource. Set the value to scalinggroup. This indicates that the tag is added to a scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'scalinggroup', - ], - ], - [ - 'name' => 'NextToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The token that determines the start point of the next query. If this parameter is empty, all results are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Maximum value: 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'Key', - 'in' => 'query', - 'schema' => [ - 'description' => 'The key of the tag.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ESS', - ], + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'UserNotAuthorizeEss', 'errorMessage' => 'Ess should be authorized in ram to operate user ecs resource.', 'description' => ''], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'NextToken' => [ - 'description' => 'The token that determines the start point of the next query. If this parameter is empty, all results are returned.'."\n", - 'type' => 'string', - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'AB444F46-1CFF-4B06-B8F0-B45D3158****', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'Values' => [ - 'description' => 'Details of the tag values.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Details of the tag values.'."\n", - 'type' => 'string', - 'example' => 'Doc', - ], - ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', + 'title' => 'VerifyAuthentication', + 'summary' => 'Checks whether the specified Alibaba Cloud account assumes the AliyunServiceRoleForAutoScaling service-linked role. An account can be used to operate Elastic Compute Service (ECS) instances and elastic container instances only after it assumes the service-linked role.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ess:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"AB444F46-1CFF-4B06-B8F0-B45D3158****\\",\\n \\"PageSize\\": 10,\\n \\"Values\\": [\\n \\"Doc\\"\\n ]\\n}","type":"json"}]', - 'title' => 'ListTagValues', ], 'VerifyUser' => [ 'summary' => 'Verifies whether Auto Scaling is activated. This operation guarantees that in response to shifts in business workloads or variations in incoming traffic, the system will automatically adjust resource provisioning. This auto-scaling capability enhances the overall system performance, ensuring high availability and improved flexibility to accommodate dynamic demands.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREessZ1KWHS', - ], + 'abilityTreeNodes' => ['FEATUREessZ1KWHS'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ @@ -27875,14 +19587,9 @@ 'name' => 'RegionId', 'in' => 'query', 'allowEmptyValue' => false, - 'schema' => [ - 'description' => 'The ID of the region where Auto Scaling is required.'."\n" - ."\n" - .'Examples: `cn-hangzhou` and `cn-shanghai`. For more information, see [Regions and zones](~~40654~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region where Auto Scaling is required.'."\n" + ."\n" + .'Examples: `cn-hangzhou` and `cn-shanghai`. For more information, see [Regions and zones](~~40654~~).'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ @@ -27892,1550 +19599,1648 @@ 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'], ], + 'example' => '', ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', 'title' => 'VerifyUser', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ess:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'operationType' => 'read', ], - 'VerifyAuthentication' => [ - 'methods' => [ - 'post', - 'get', + ], + 'endpoints' => [ + ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.ap-northeast-1.aliyuncs.com', 'endpoint' => 'ess.ap-northeast-1.aliyuncs.com', 'vpc' => 'ess-vpc.ap-northeast-1.aliyuncs.com'], + ['regionId' => 'ap-northeast-2', 'regionName' => 'South Korea (Seoul)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.ap-northeast-2.aliyuncs.com', 'endpoint' => 'ess.ap-northeast-2.aliyuncs.com', 'vpc' => 'ess-vpc.ap-northeast-2.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.ap-southeast-1.aliyuncs.com', 'endpoint' => 'ess.ap-southeast-1.aliyuncs.com', 'vpc' => 'ess-vpc.ap-southeast-1.aliyuncs.com'], + ['regionId' => 'ap-southeast-2', 'regionName' => 'Australia (Sydney) Closed', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.ap-southeast-2.aliyuncs.com', 'endpoint' => 'ess.ap-southeast-2.aliyuncs.com', 'vpc' => 'ess-vpc.ap-southeast-2.aliyuncs.com'], + ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.ap-southeast-3.aliyuncs.com', 'endpoint' => 'ess.ap-southeast-3.aliyuncs.com', 'vpc' => 'ess-vpc.ap-southeast-3.aliyuncs.com'], + ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.ap-southeast-5.aliyuncs.com', 'endpoint' => 'ess.ap-southeast-5.aliyuncs.com', 'vpc' => 'ess-vpc.ap-southeast-5.aliyuncs.com'], + ['regionId' => 'ap-southeast-6', 'regionName' => 'Philippines (Manila)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.ap-southeast-6.aliyuncs.com', 'endpoint' => 'ess.ap-southeast-6.aliyuncs.com', 'vpc' => 'ess-vpc.ap-southeast-6.aliyuncs.com'], + ['regionId' => 'ap-southeast-7', 'regionName' => 'Thailand (Bangkok)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.ap-southeast-7.aliyuncs.com', 'endpoint' => 'ess.ap-southeast-7.aliyuncs.com', 'vpc' => 'ess-vpc.ap-southeast-7.aliyuncs.com'], + ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-beijing.aliyuncs.com'], + ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-chengdu.aliyuncs.com', 'endpoint' => 'ess.cn-chengdu.aliyuncs.com', 'vpc' => 'ess-vpc.cn-chengdu.aliyuncs.com'], + ['regionId' => 'cn-fuzhou', 'regionName' => 'China (Fuzhou - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-fuzhou.aliyuncs.com', 'endpoint' => 'ess.cn-fuzhou.aliyuncs.com', 'vpc' => 'ess-vpc.cn-fuzhou.aliyuncs.com'], + ['regionId' => 'cn-guangzhou', 'regionName' => 'China (Guangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-guangzhou.aliyuncs.com', 'endpoint' => 'ess.cn-guangzhou.aliyuncs.com', 'vpc' => 'ess-vpc.cn-guangzhou.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-hangzhou.aliyuncs.com'], + ['regionId' => 'cn-heyuan', 'regionName' => 'China (Heyuan)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-heyuan.aliyuncs.com', 'endpoint' => 'ess.cn-heyuan.aliyuncs.com', 'vpc' => 'ess-vpc.cn-heyuan.aliyuncs.com'], + ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-hongkong.aliyuncs.com', 'endpoint' => 'ess.cn-hongkong.aliyuncs.com', 'vpc' => 'ess-vpc.cn-hongkong.aliyuncs.com'], + ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-huhehaote.aliyuncs.com', 'endpoint' => 'ess.cn-huhehaote.aliyuncs.com', 'vpc' => 'ess-vpc.cn-huhehaote.aliyuncs.com'], + ['regionId' => 'cn-nanjing', 'regionName' => 'China (Nanjing - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-nanjing.aliyuncs.com'], + ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-qingdao.aliyuncs.com'], + ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-shanghai.aliyuncs.com'], + ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-shenzhen.aliyuncs.com'], + ['regionId' => 'cn-wuhan-lr', 'regionName' => 'China (Wuhan - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-wuhan-lr.aliyuncs.com', 'endpoint' => 'ess.cn-wuhan-lr.aliyuncs.com', 'vpc' => 'ess-vpc.cn-wuhan-lr.aliyuncs.com'], + ['regionId' => 'cn-wulanchabu', 'regionName' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-wulanchabu.aliyuncs.com', 'endpoint' => 'ess.cn-wulanchabu.aliyuncs.com', 'vpc' => 'ess-vpc.cn-wulanchabu.aliyuncs.com'], + ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'ess.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'ess-vpc.cn-zhangjiakou.aliyuncs.com'], + ['regionId' => 'cn-zhengzhou-jva', 'regionName' => 'Zhengzhou (China Unicom Joint Venture)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-zhengzhou-jva.aliyuncs.com', 'endpoint' => 'ess.cn-zhengzhou-jva.aliyuncs.com', 'vpc' => 'ess-vpc.cn-zhengzhou-jva.aliyuncs.com'], + ['regionId' => 'cn-zhongwei', 'regionName' => 'China (Zhongwei)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ess.cn-zhongwei.aliyuncs.com', 'endpoint' => 'ess.cn-zhongwei.aliyuncs.com', 'vpc' => 'ess-vpc.cn-zhongwei.aliyuncs.com'], + ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ess.us-west-1.aliyuncs.com', 'endpoint' => 'ess.us-west-1.aliyuncs.com', 'vpc' => 'ess-vpc.us-west-1.aliyuncs.com'], + ['regionId' => 'us-southeast-1', 'regionName' => 'US(Atlanta)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ess.us-southeast-1.aliyuncs.com', 'endpoint' => 'ess.us-southeast-1.aliyuncs.com', 'vpc' => 'ess-vpc.us-southeast-1.aliyuncs.com'], + ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ess.us-east-1.aliyuncs.com', 'endpoint' => 'ess.us-east-1.aliyuncs.com', 'vpc' => 'ess-vpc.us-east-1.aliyuncs.com'], + ['regionId' => 'na-south-1', 'regionName' => 'Mexico', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ess.na-south-1.aliyuncs.com', 'endpoint' => 'ess.na-south-1.aliyuncs.com', 'vpc' => 'ess-vpc.na-south-1.aliyuncs.com'], + ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ess.eu-west-1.aliyuncs.com', 'endpoint' => 'ess.eu-west-1.aliyuncs.com', 'vpc' => 'ess-vpc.eu-west-1.aliyuncs.com'], + ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ess.eu-central-1.aliyuncs.com', 'endpoint' => 'ess.eu-central-1.aliyuncs.com', 'vpc' => 'ess-vpc.eu-central-1.aliyuncs.com'], + ['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'ess.me-east-1.aliyuncs.com', 'endpoint' => 'ess.me-east-1.aliyuncs.com', 'vpc' => 'ess-vpc.me-east-1.aliyuncs.com'], + ['regionId' => 'me-central-1', 'regionName' => 'Saudi Arabia (Riyadh)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'ess.me-central-1.aliyuncs.com', 'endpoint' => 'ess.me-central-1.aliyuncs.com', 'vpc' => 'ess-vpc.me-central-1.aliyuncs.com'], + ['regionId' => 'ap-south-1', 'regionName' => 'India (Mumbai) Closed', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'ess.ap-south-1.aliyuncs.com', 'endpoint' => 'ess.ap-south-1.aliyuncs.com', 'vpc' => 'ess-vpc.ap-south-1.aliyuncs.com'], + ['regionId' => 'cn-wulanchabu-gic-1', 'regionName' => 'China (Ulanqab) GIC', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ess.cn-wulanchabu-gic-1.aliyuncs.com', 'endpoint' => 'ess.cn-wulanchabu-gic-1.aliyuncs.com', 'vpc' => 'ess-vpc.cn-wulanchabu-gic-1.aliyuncs.com'], + ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-shenzhen-finance-1.aliyuncs.com'], + ['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-shanghai-finance-1.aliyuncs.com'], + ['regionId' => 'cn-north-2-gov-1', 'regionName' => 'Beijing Government Cloud', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => 'ess-vpc.cn-north-2-gov-1.aliyuncs.com'], + ['regionId' => 'cn-heyuan-acdr-1', 'regionName' => 'Heyuan ACDR Auto', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ess.cn-heyuan-acdr-1.aliyuncs.com', 'endpoint' => 'ess.cn-heyuan-acdr-1.aliyuncs.com', 'vpc' => 'ess-vpc.cn-heyuan-acdr-1.aliyuncs.com'], + ['regionId' => 'cn-hangzhou-finance', 'regionName' => 'China East 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-beijing-finance-1', 'regionName' => 'China North 2 Finance (Preview)', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ess.aliyuncs.com', 'endpoint' => 'ess.aliyuncs.com', 'vpc' => ''], + ], + 'errorCodes' => [ + ['code' => 'AlbServerGroup.NotExist', 'message' => 'The ServerGroup "%s" do(es) not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'CMSSystemError', 'message' => null, 'http_code' => null, 'description' => 'Request failed'], + ['code' => 'ConsoleSystemError', 'message' => null, 'http_code' => null, 'description' => 'Request failed'], + ['code' => 'CustomMetric.NotFound', 'message' => 'Can not find custom metric of specific dimension.', 'http_code' => 404, 'description' => ''], + ['code' => 'DiskCreatingSnapshot', 'message' => 'The operation is denied due to a snapshot of the specified disk is not completed yet.', 'http_code' => 400, 'description' => ''], + ['code' => 'Duplicate.TagKey', 'message' => 'The Tag.N.Key contain duplicate value.', 'http_code' => 400, 'description' => ''], + ['code' => 'Forbidden.Forbidden', 'message' => null, 'http_code' => null, 'description' => 'The operation is not permitted'], + ['code' => 'Forbidden.RAM', 'message' => null, 'http_code' => null, 'description' => 'The user is not authorized to operate on the specified resource, or this API doesn\'t support RAM.'], + ['code' => 'Forbidden.RiskControl', 'message' => null, 'http_code' => null, 'description' => 'The operation is forbidden by the risk control system'], + ['code' => 'Forbidden.Unauthorized', 'message' => null, 'http_code' => null, 'description' => 'The user has not granted Open API authorization to Auto Scaling.'], + ['code' => 'Forbidden.Unsubscribed', 'message' => null, 'http_code' => null, 'description' => 'The user has not activated Auto Scaling and does not have permission to call this API.'], + ['code' => 'Forbidden.UserVerification', 'message' => null, 'http_code' => null, 'description' => 'No real-name verification'], + ['code' => 'HostNameExhausted', 'message' => 'The HostName resource exhausted, please reset HostName.', 'http_code' => 400, 'description' => 'the begin number in the auto-increment HostName of the scaling configuration exceeds the defined bits.'], + ['code' => 'IDEMPOTENCE_PROCESSING', 'message' => 'The previous request is still processing.', 'http_code' => 400, 'description' => 'The request is in progress.'], + ['code' => 'IDEMPOTENCE_SIGNATURE_MISMATCH', 'message' => 'There is a idempotence signature mismatch between this and last request.', 'http_code' => 400, 'description' => ''], + ['code' => 'IncorrectCapacity.MaxSize', 'message' => null, 'http_code' => null, 'description' => 'The quantity of ECS instances to be added will make the Total Capacity exceed the MaxSize.'], + ['code' => 'IncorrectCapacity.MinSize', 'message' => null, 'http_code' => null, 'description' => 'The quantity of ECS instances to be removed will make the Total Capacity less than the MinSize.'], + ['code' => 'IncorrectCapacity.NoChange', 'message' => null, 'http_code' => null, 'description' => 'The action has not changed the quantity of scaling group instances'], + ['code' => 'IncorrectDBInstanceStatus', 'message' => null, 'http_code' => null, 'description' => 'The specified RDS instance is not in Running status.'], + ['code' => 'IncorrectInstanceStatus', 'message' => null, 'http_code' => null, 'description' => 'The specified ECS instance is not in Running status.'], + ['code' => 'IncorrectLoadBalancerHealthCheck', 'message' => null, 'http_code' => null, 'description' => 'Health check is not enabled for the specified Server Load Balancer instance'], + ['code' => 'IncorrectLoadBalancerHealthCheck', 'message' => 'The current health check type of specified load balancer does not support this action.', 'http_code' => null, 'description' => 'Health check is not enabled for the specified Server Load Balancer instance'], + ['code' => 'IncorrectLoadBalancerStatus', 'message' => null, 'http_code' => null, 'description' => 'The specified Server Load Balancer instance is not in Active status.'], + ['code' => 'IncorrectLoadBalancerStatus', 'message' => 'The current status of the specified load balancer does not support this action.', 'http_code' => null, 'description' => 'The specified Server Load Balancer instance is not in Active status.'], + ['code' => 'IncorrectScalingConfigurationLifecycleState', 'message' => null, 'http_code' => null, 'description' => 'The specified scaling configuration is not in Inactive status.'], + ['code' => 'IncorrectScalingConfigurationLifecycleState', 'message' => 'The current lifecycle state of specified scaling configuration does not support this action.', 'http_code' => null, 'description' => 'The specified scaling configuration is not in Inactive status.'], + ['code' => 'IncorrectScalingGroupStatus', 'message' => null, 'http_code' => null, 'description' => 'The current scaling group does not support this operation (check if the scaling group is in Enabled status).'], + ['code' => 'IncorrectStatus.serverGroup', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => ''], + ['code' => 'IncorrectVSwitchStatus', 'message' => null, 'http_code' => null, 'description' => 'VSwitch unavailable, the instance cannot be created'], + ['code' => 'IncorrectVSwitchStatus', 'message' => 'The current status of virtual switch does not support this operation.', 'http_code' => null, 'description' => 'VSwitch unavailable, the instance cannot be created'], + ['code' => 'InstanceChargeType.NotSupported', 'message' => 'Specific instance charge type "%s" is not supported.', 'http_code' => 400, 'description' => 'When an instance is added to a scaling group and its lifecycle is managed to the scaling group. The billing type of the current instance does not support hosting.'], + ['code' => 'InstanceInUse', 'message' => null, 'http_code' => null, 'description' => 'The specified scaling configuration still has an associated ECS instance.'], + ['code' => 'InstanceType.Mismatch', 'message' => null, 'http_code' => null, 'description' => 'The instance type of the specified scaling configuration does not match the instance type of the current scaling configuration'], + ['code' => 'InsufficientBalance', 'message' => null, 'http_code' => null, 'description' => 'Insufficient user account balance'], + ['code' => 'InternalError', 'message' => null, 'http_code' => null, 'description' => 'The server cannot process the request'], + ['code' => 'InvalidAccessKeyId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'Invalid Access Key'], + ['code' => 'InvalidAction.NotFound', 'message' => 'Specified api is not found, please check your url and method.', 'http_code' => 404, 'description' => ''], + ['code' => 'InvalidDataDiskSnapshotId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified snapshot does not exist'], + ['code' => 'InvalidDataDiskSnapshotId.SizeNotSupported', 'message' => null, 'http_code' => null, 'description' => 'The size of the specified snapshot exceeds the size limit of the disk'], + ['code' => 'InvalidDBInstanceId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified RDS instance does not exist under this user account'], + ['code' => 'InvalidDBInstanceId.RegionMismatch', 'message' => null, 'http_code' => null, 'description' => 'The specified RDS instance and scaling group are in different regions.'], + ['code' => 'InvalidDevice.InUse', 'message' => null, 'http_code' => null, 'description' => 'The data disk mounting point is already in use'], + ['code' => 'InvalidImageId.InstanceTypeMismatch', 'message' => null, 'http_code' => null, 'description' => 'The specified instance type does not allow the use of the specified image'], + ['code' => 'InvalidImageId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified image does not exist under this user account'], + ['code' => 'InvalidImageId.NotFound', 'message' => 'The specified image does not exist.', 'http_code' => null, 'description' => 'The specfied image ID does not exist.'], + ['code' => 'InvalidInstanceId.InstanceTypeMismatch', 'message' => null, 'http_code' => null, 'description' => 'The specified ECS instance does not match the instance type of the scaling configuration.'], + ['code' => 'InvalidInstanceId.InUse', 'message' => null, 'http_code' => null, 'description' => 'The specified ECS instance has been added to another scaling group'], + ['code' => 'InvalidInstanceId.NetworkTypeMismatch', 'message' => null, 'http_code' => null, 'description' => 'The network types of the specified ECS instance and scaling group do not match.'], + ['code' => 'InvalidInstanceId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified ECS instance does not exist under this user account'], + ['code' => 'InvalidInstanceId.RegionMismatch', 'message' => null, 'http_code' => null, 'description' => 'The specified ECS instance and scaling group are in different regions.'], + ['code' => 'InvalidInstanceId.VPCMismatch', 'message' => null, 'http_code' => null, 'description' => 'The specified scaling group and ECS instance to be added are in different VPCs.'], + ['code' => 'InvalidInstanceType.Mismatch', 'message' => 'Instance types don\'t match the specified disk category.', 'http_code' => 403, 'description' => ''], + ['code' => 'InvalidInstanceType.NotAuthorized', 'message' => 'Instance types are not authorized.', 'http_code' => 403, 'description' => ''], + ['code' => 'InvalidInstanceType.NotSupported', 'message' => 'The instance type "%s" is not supported by ess.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidLoadBalancerId.IncorrectAddressType', 'message' => null, 'http_code' => null, 'description' => 'After a VSwitchID is specified, the specified Server Load Balancer instance type must be private network'], + ['code' => 'InvalidLoadBalancerId.IncorrectInstanceNetworkType', 'message' => null, 'http_code' => null, 'description' => 'The network types of the ECS instances in the Server Load Balancer instance and scaling group do not match.'], + ['code' => 'InvalidLoadBalancerId.IncorrectInstanceNetworkType', 'message' => 'The network type of the instance in specified load balancer does not support this action.', 'http_code' => null, 'description' => 'The network types of the ECS instances in the Server Load Balancer instance and scaling group do not match.'], + ['code' => 'InvalidLoadBalancerId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified Server Load Balancer instance does not exist under this user account'], + ['code' => 'InvalidLoadBalancerId.NotFound', 'message' => 'The specified Load Balancer does not exist.', 'http_code' => null, 'description' => 'The specified Server Load Balancer instance does not exist under this user account'], + ['code' => 'InvalidLoadBalancerId.RegionMismatch', 'message' => null, 'http_code' => null, 'description' => 'The specified Server Load Balancer instance and scaling group are in different regions'], + ['code' => 'InvalidLoadBalancerId.VPCMismatch', 'message' => null, 'http_code' => null, 'description' => 'The ECS instances of the specified scaling group\'s Server Load Balancer instance are not in the same VPC as the VSwitchID'], + ['code' => 'InvalidLoadBalancerId.VPCMismatch', 'message' => 'The specified virtual switch and the instance in specified load balancer are not in the same VPC.', 'http_code' => null, 'description' => 'The ECS instances of the specified scaling group\'s Server Load Balancer instance are not in the same VPC as the VSwitchID'], + ['code' => 'InvalidNotificationArn', 'message' => 'The specified param "notificationArn" is invalid.', 'http_code' => 400, 'description' => 'The parameter NotificationArn is invalid.'], + ['code' => 'InvalidOperation.Conflict', 'message' => 'Specific operation may conflicts with other operations, please retry later.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidOperation.GroupDeletionProtection', 'message' => 'The operation is not allowed due to "%s" is protected by deletion protection.', 'http_code' => 403, 'description' => ''], + ['code' => 'InvalidOperation.Suspended', 'message' => 'Specific operation is rejected while "%s" process is suspended.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified value of parameter %s is not valid.', 'http_code' => 400, 'description' => 'The specified value of parameter %s is not valid.'], + ['code' => 'InvalidParameter', 'message' => 'The specified value of parameter "%s" is not valid.', 'http_code' => 400, 'description' => 'The specified value of parameter "%s" is not valid.'], + ['code' => 'InvalidParameter', 'message' => 'The ServerGroupType of "%s" is not supported, only "Instance" ServerGroupType is currently supported.', 'http_code' => 400, 'description' => 'The ServerGroupType of "%s" is not supported, only "Instance" ServerGroupType is currently supported.'], + ['code' => 'InvalidParameter.Conflict', 'message' => 'DesiredCapacity can\'t be less than the number of managed instances in the scaling group.', 'http_code' => 400, 'description' => 'DesiredCapacity can\'t be less than the number of managed instances in the scaling group.'], + ['code' => 'InvalidParameter.Conflict', 'message' => 'MaxSize can\'t be less than the number of managed instances in the scaling group.', 'http_code' => 400, 'description' => 'MaxSize can\'t be less than the number of managed instances in the scaling group.'], + ['code' => 'InvalidParameter.Conflict', 'message' => 'The value of parameter PrivatePoolOptions.MatchCriteria and parameter ResourcePoolOptions are conflict, please use ResourcePoolOptions.', 'http_code' => 400, 'description' => 'The value of parameter PrivatePoolOptions.MatchCriteria and parameter ResourcePoolOptions are conflict, please use ResourcePoolOptions.'], + ['code' => 'InvalidParameter.Conflict', 'message' => 'Only InstanceTypes are supported when ResourcePoolOptions are used.', 'http_code' => 400, 'description' => 'Only InstanceTypes are supported when ResourcePoolOptions are used.'], + ['code' => 'InvalidParameter.Conflict', 'message' => 'The value of parameter ImageId and parameter LaunchTemplateId are conflict.', 'http_code' => 400, 'description' => 'The value of parameter ImageId and parameter LaunchTemplateId are conflict.'], + ['code' => 'InvalidParameter.Conflict', 'message' => 'The value of parameter ImageId and parameter ScalingConfigurationId'."\n" + .'are conflict.', 'http_code' => 400, 'description' => 'Scaling configuration conflicts with image'], + ['code' => 'InvalidParameter.Conflict', 'message' => 'The value of parameter ScalingConfigurationId and parameter InstanceTypeOverrides are conflict.', 'http_code' => 400, 'description' => 'Scaling configuration conflicts with specifying multiple instance types and configuring weights for different instance types.'], + ['code' => 'InvalidParameter.Conflict', 'message' => 'The value of parameter LaunchTemplateId and parameter ScalingConfigurationId are conflict.', 'http_code' => 400, 'description' => 'The scaling configuration conflicts with the startup template.'], + ['code' => 'InvalidParameter.Conflict', 'message' => 'The value of parameter ImageId and parameter ScalingConfigurationId are conflict.', 'http_code' => 400, 'description' => 'The value of parameter ImageId and parameter ScalingConfigurationId are conflict.'], + ['code' => 'InvalidParameter.InvalidParameter', 'message' => null, 'http_code' => null, 'description' => 'Invalid parameter value'], + ['code' => 'InvalidParameter.InvalidParameter.Conflict', 'message' => null, 'http_code' => null, 'description' => 'The specified parameter value causes a conflict'], + ['code' => 'InvalidParameter.TimeZone', 'message' => 'The specified parameter TimeZone is not valid.', 'http_code' => 400, 'description' => 'The specified parameter TimeZone is not valid.'], + ['code' => 'InvalidRamRole.NotFound', 'message' => 'The specified RamRoleName does not exist.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidRegionId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified region does not exist'], + ['code' => 'InvalidResourceId.NotFound', 'message' => 'The specified ResourceIds are not found in our records.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidScalingActivityId.NotFound', 'message' => 'The specified scaling activity does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidScalingConfigurationId.InstanceTypeMismatch', 'message' => null, 'http_code' => null, 'description' => 'The instance type of the specified scaling configuration does not match the instance type of the current scaling configuration'], + ['code' => 'InvalidScalingConfigurationId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified scaling configuration does not exist in the specified scaling group.'], + ['code' => 'InvalidScalingConfigurationId.NotFound', 'message' => 'The specified scaling configuration does not exist.', 'http_code' => null, 'description' => 'The specified scaling configuration does not exist in the specified scaling group.'], + ['code' => 'InvalidScalingConfigurationName.Duplicate', 'message' => null, 'http_code' => null, 'description' => 'This scaling configuration name already exists.'], + ['code' => 'InvalidScalingGroupId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified scaling group does not exist under this user account'], + ['code' => 'InvalidScalingGroupId.NotFound', 'message' => 'The specified scaling group does not exist.', 'http_code' => null, 'description' => 'The specified scaling group does not exist under this user account'], + ['code' => 'InvalidScalingGroupName.Duplicate', 'message' => null, 'http_code' => null, 'description' => 'This scaling group name already exists.'], + ['code' => 'InvalidScalingRuleAri.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified action does not exist under this user account.'], + ['code' => 'InvalidScalingRuleId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified action does not exist under this user account.'], + ['code' => 'InvalidScalingRuleId.NotFound', 'message' => 'The specified scaling rule "%s" does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidScalingRuleName.Duplicate', 'message' => null, 'http_code' => null, 'description' => 'This action name already exists.'], + ['code' => 'InvalidScheduledTaskId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified scheduled task does not exist under this user account'], + ['code' => 'InvalidScheduledTaskId.NotFound', 'message' => 'The specified scheduled task does not exist.', 'http_code' => null, 'description' => 'The specified scheduled task does not exist under this user account'], + ['code' => 'InvalidScheduledTaskName.Duplicate', 'message' => null, 'http_code' => null, 'description' => 'This scheduled task name already exists.'], + ['code' => 'InvalidSecurityGroupId.IncorrectNetworkType', 'message' => null, 'http_code' => null, 'description' => 'The specified security group does not match the network type specified by the scaling group'], + ['code' => 'InvalidSecurityGroupId.IncorrectNetworkType', 'message' => 'The network type of specified Security Group does not support this action.', 'http_code' => null, 'description' => 'The specified security group does not match the network type specified by the scaling group'], + ['code' => 'InvalidSecurityGroupId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified security group does not exist under this user account'], + ['code' => 'InvalidSecurityGroupId.NotFound', 'message' => 'The specified security group does not exist.', 'http_code' => null, 'description' => 'The specified security group ID does not exist.'], + ['code' => 'InvalidSecurityGroupId.VPCMismatch', 'message' => null, 'http_code' => null, 'description' => 'The specified security group and VSwitch do not belong to the same VPC'], + ['code' => 'InvalidSecurityGroupId.VPCMismatch', 'message' => 'The specified security group and the specified virtual switch are not in the same VPC.', 'http_code' => null, 'description' => 'The specified security group and VSwitch do not belong to the same VPC'], + ['code' => 'InvalidServerId.NotFound', 'message' => 'The specified ServerId does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidSnapshot.TooOld', 'message' => null, 'http_code' => null, 'description' => 'This snapshot was created on or before 7/15/2013, which means this call will be rejected.'], + ['code' => 'InvalidSystemDiskCategory.ValueUnauthorized', 'message' => null, 'http_code' => null, 'description' => 'The user does not have permission to create a temporary system disk'], + ['code' => 'InvalidSystemDiskSize.LessThanImageSize', 'message' => 'The specified parameter SystemDisk.Size is less than the image size.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidVSwitchId.NotFound', 'message' => null, 'http_code' => null, 'description' => 'The specified VSwitch does not exist'], + ['code' => 'InvalidVSwitchId.NotFound', 'message' => 'The specified virtual switch does not exist.', 'http_code' => null, 'description' => 'The specified VSwitch does not exist'], + ['code' => 'InvalidVSwitchId.NotFoundSpecifiedVSwitch', 'message' => 'The specified vSwitch(%s) does not exist.', 'http_code' => 404, 'description' => ''], + ['code' => 'LastActivity.NotFinished', 'message' => 'Last activity is not finished', 'http_code' => 400, 'description' => ''], + ['code' => 'LifecycleAction.InProcess', 'message' => 'The specified lifecycleHook you provided has in process lifecycle action.', 'http_code' => 400, 'description' => ''], + ['code' => 'LifecycleActionTokenCompleted', 'message' => 'The specified lifecycleActionToken you provided has been completed.', 'http_code' => 400, 'description' => ''], + ['code' => 'LifecycleActionTokenExpired', 'message' => 'The specified lifecycleActionToken you provided has expired.', 'http_code' => 400, 'description' => ''], + ['code' => 'LifecycleHookIdAndLifecycleActionToken.Invalid', 'message' => 'The specified lifecycleActionToken and lifecycleHookId you provided does not match any in process lifecycle action.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingActiveScalingConfiguration', 'message' => null, 'http_code' => null, 'description' => 'An effective scaling configuration has not been specified in this scaling group'], + ['code' => 'MissingParameter', 'message' => null, 'http_code' => null, 'description' => 'Enter a value for the parameters.'], + ['code' => 'MissingParameter', 'message' => 'The input parameter that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingSecurityToken', 'message' => 'SecurityToken is mandatory for this action.', 'http_code' => 400, 'description' => ''], + ['code' => 'NoSuchVersion', 'message' => null, 'http_code' => null, 'description' => 'Invalid version'], + ['code' => 'NotExist.ResourceGroup', 'message' => 'NotExist.ResourceGroup', 'http_code' => 400, 'description' => ''], + ['code' => 'NotificationConfigurationExist', 'message' => 'The specified notificationConfiguration already exist for the scalingGroup.', 'http_code' => 400, 'description' => 'The specified scaling group event receiving object already exists.'], + ['code' => 'NotificationMetadata.UnsupportedFormat', 'message' => 'metadata for Oos execution only support \'JSON\' format.', 'http_code' => 400, 'description' => ''], + ['code' => 'OperationDenied', 'message' => 'This operation is denied because the specified scaling group does not support this action.', 'http_code' => 400, 'description' => ''], + ['code' => 'PAYFOR.ACCOUNT_MONEY_VALIDATE_ERROR', 'message' => null, 'http_code' => null, 'description' => 'Insufficient agent credit, please contact your agent'], + ['code' => 'PAYFOR.CREDIT_PAY_INSUFFICIENT_BALANCE', 'message' => null, 'http_code' => null, 'description' => 'Insufficient credit, please contact your agent for revisions'], + ['code' => 'PostonlyOrTokenError', 'message' => null, 'http_code' => null, 'description' => ' '], + ['code' => 'PutMetricRuleTargets.Failed', 'message' => 'PutMetricRuleTargets for alarm has failed.', 'http_code' => 400, 'description' => 'Alarm task setting fails to trigger scaling.'], + ['code' => 'QUERY_QUOTA_BOOK_FAILED', 'message' => null, 'http_code' => null, 'description' => 'Credit limit query failed'], + ['code' => 'QuotaExceeded.AfterpayInstance', 'message' => null, 'http_code' => null, 'description' => 'The quota for Pay-As-You-Go ECS instances has been reached'], + ['code' => 'QuotaExceeded.BackendServer', 'message' => 'Backend server quota exceeded in load balancer "%s".', 'http_code' => 400, 'description' => ''], + ['code' => 'QuotaExceeded.DBInstanceSecurityIP', 'message' => null, 'http_code' => null, 'description' => 'The number of IP addresses in the specified access white list for RDS instances has reached the upper limit'], + ['code' => 'QuotaExceeded.EphemeralDiskSize', 'message' => null, 'http_code' => null, 'description' => 'The total temporary data disk capacity exceeds 2T (2008G)'], + ['code' => 'QuotaExceeded.Instance', 'message' => null, 'http_code' => null, 'description' => 'The user\'s ECS instance quota has been reached'], + ['code' => 'QuotaExceeded.LoadBalancer', 'message' => 'LoadBalancer quota exceeded in scalingGroup.', 'http_code' => 400, 'description' => ''], + ['code' => 'QuotaExceeded.PrivateIpAddress', 'message' => null, 'http_code' => null, 'description' => 'All private IP addresses of the VSwitch are already in use.'], + ['code' => 'QuotaExceeded.ScalingConfiguration', 'message' => null, 'http_code' => null, 'description' => 'The user\'s scaling configuration quota has been reached'], + ['code' => 'QuotaExceeded.ScalingGroup', 'message' => null, 'http_code' => null, 'description' => 'The user\'s scaling group quota has been reached'], + ['code' => 'QuotaExceeded.ScalingInstance', 'message' => null, 'http_code' => null, 'description' => 'The quota for Auto Scaling ECS instances has been reached'], + ['code' => 'QuotaExceeded.ScalingRule', 'message' => null, 'http_code' => null, 'description' => 'The user\'s action quota has been reached.'], + ['code' => 'QuotaExceeded.ScheduledTask', 'message' => null, 'http_code' => null, 'description' => 'The user\'s scheduled task quota has been reached'], + ['code' => 'QuotaExceeded.SecurityGroupInstance', 'message' => null, 'http_code' => null, 'description' => 'The ECS instance quota for the specified security group has been reached'], + ['code' => 'QuotaExceeded.VPCInstance', 'message' => null, 'http_code' => null, 'description' => 'The instance quota for this VPC has been reached'], + ['code' => 'QuotaExceeded.VServerGroup', 'message' => 'VServerGroup quota exceeded in the specified scaling group.', 'http_code' => 400, 'description' => ''], + ['code' => 'RAM.UnknownCallerType', 'message' => 'Unknown caller type "%s".', 'http_code' => 403, 'description' => ''], + ['code' => 'RecommendEmpty.DiskTypeNoStock', 'message' => 'The diskTypes are out of usage.', 'http_code' => 403, 'description' => ''], + ['code' => 'RecommendEmpty.InstanceTypeNoStock', 'message' => 'The instanceTypes are out of usage.', 'http_code' => 403, 'description' => ''], + ['code' => 'RecommendEmpty.InstanceTypeNotAuthorized', 'message' => 'The recommend instanceTypes are not authorized.', 'http_code' => 403, 'description' => ''], + ['code' => 'RecommendEmpty.InstanceTypeNotAuthorized', 'message' => 'The recommended instance type is unavailable or does not match the specified disk category.', 'http_code' => 403, 'description' => ''], + ['code' => 'ResourceNotAvailable', 'message' => null, 'http_code' => null, 'description' => 'The specified region does not support Auto Scaling'], + ['code' => 'ResourceNotAvailable.ClassicNetwork', 'message' => null, 'http_code' => null, 'description' => 'The specified zone does not support classic network.'], + ['code' => 'ResourceNotAvailable.ClassicNetwork', 'message' => 'The specified region does not support classic network, or you are the default vpc user.', 'http_code' => 400, 'description' => ''], + ['code' => 'ResourceNotAvailable.ECS', 'message' => null, 'http_code' => null, 'description' => 'The specified ECS instance type or disk type cannot be created in the specified region'], + ['code' => 'ScalingActivityInProgress', 'message' => null, 'http_code' => null, 'description' => 'The scaling group of the specified action has a scaling activity in progress.'], + ['code' => 'ScalingRule.InvalidScalingRuleType', 'message' => 'Specific scaling rule type: %s can not be executed.', 'http_code' => 400, 'description' => ''], + ['code' => 'ScheduledAction.RegionMismatch', 'message' => null, 'http_code' => null, 'description' => 'The specified ScheduledAction does not match the region of the scheduled task'], + ['code' => 'ServiceNotEnabled', 'message' => 'The OwnerId that your Access Key Id associated to has not enabled.', 'http_code' => 403, 'description' => ''], + ['code' => 'ServiceUnavailable', 'message' => null, 'http_code' => null, 'description' => 'The server cannot currently process the request.'], + ['code' => 'ServiceUnavailable', 'message' => 'The request has failed due to a temporary failure of the server.', 'http_code' => 503, 'description' => ''], + ['code' => 'SignatureDoesNotMatch', 'message' => null, 'http_code' => null, 'description' => 'Invalid signature'], + ['code' => 'TemplateMissingParameter.SecurityGroup', 'message' => 'The input parameter "SecurityGroup" that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => ''], + ['code' => 'TemplateVersion.NotNumber', 'message' => 'The input parameter "LaunchTemplateVersion" is supposed to be a string representing the version number.', 'http_code' => 400, 'description' => 'The version of the startup template is invalid.'], + ['code' => 'Throttling', 'message' => null, 'http_code' => null, 'description' => 'You have exceeded the maximum traffic. To increase the limit, submit a ticket.'], + ['code' => 'UnsupportedOperation', 'message' => null, 'http_code' => null, 'description' => 'Invalid interface'], + ['code' => 'UnsupportedOperation', 'message' => 'The specified action is not supported.The specified action is not supported by ECS group.', 'http_code' => 403, 'description' => 'You cannot call the CreateEciScalingConfiguration API to create a scaling configuration for an ECS-type scaling group.'], + ['code' => 'UnsupportedOperation', 'message' => 'There are currently no instances need to refresh.', 'http_code' => 400, 'description' => 'There are no instances in the scaling group that need to be refreshed.'], + ['code' => 'UnsupportedOperation', 'message' => 'The specified action is not supported. RecurrenceValue.', 'http_code' => 403, 'description' => 'The specified action is not supported. RecurrenceValue'], + ['code' => 'UnsupportedOperation', 'message' => 'The specified action is not supported. This ScalingGroup is managed by %s.', 'http_code' => 403, 'description' => 'The specified action is not supported. This ScalingGroup is managed by %s.'], + ['code' => 'UnsupportedOperation', 'message' => 'The specified action is not supported. The specified action is not supported by ECI group.', 'http_code' => 403, 'description' => 'The ECI scaling group does not support the specified operation.'], + ['code' => 'UnsupportedOperation', 'message' => 'The specified action is not supported. Your account has been deleted.', 'http_code' => 403, 'description' => 'Your account has been deleted.'], + ['code' => 'UnsupportedOperation', 'message' => 'The specified action is not supported. The specified action is not supported by weighted group.', 'http_code' => 403, 'description' => 'The weighted scaling group does not support the specified operation.'], + ['code' => 'UnsupportedOperation', 'message' => 'The specified action is not supported. Managed Instance can\'t be attached into ECI ScalingGroup.', 'http_code' => 403, 'description' => 'Managed instances cannot be added to scaling groups of the ECI type.'], + ['code' => 'UnsupportedOperation', 'message' => 'The specified action is not supported. The specified action is not supported for Managed instance.', 'http_code' => 403, 'description' => 'The specified action is not supported. The specified action is not supported for Managed instance.'], + ['code' => 'UnsupportedOperation', 'message' => 'This operation is not supported because the Load Balancer is currently being processed. Please try again later or reduce the call frequency.', 'http_code' => 400, 'description' => 'This operation is not supported because load balancing is in progress. Please try again later or retry less frequently.'], + ['code' => 'UnsupportedOperation', 'message' => 'This operation cannot be performed because a InstanceRefresh task is running.', 'http_code' => 400, 'description' => 'This operation cannot be performed because a InstanceRefresh task is running.'], + ['code' => 'UnsupportedOperation', 'message' => 'The current alarm task is not associated with simple scaling rules, so it does not support the modification of multi metric.', 'http_code' => 403, 'description' => ''], + ['code' => 'UserNotAuthorizeEss', 'message' => null, 'http_code' => null, 'description' => 'ESS should be authorized in RAM to operate user resource.'], + ['code' => 'UserNotAuthorizeEss', 'message' => 'Ess should be authorized in ram to operate user resource.', 'http_code' => 403, 'description' => ''], + ['code' => 'WeightedCapacity.NotFound', 'message' => 'Weighted capacity can not be found for instance type "%s".', 'http_code' => 400, 'description' => ''], + ], + 'changeSet' => [], + 'ram' => [ + 'productCode' => 'AutoScaling', + 'productName' => 'Auto Scaling', + 'ramCodes' => ['ess'], + 'ramLevel' => 'OPERATION', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'DescribeUser', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeUser', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DescribeScalingRules', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'ModifyInstanceAttribute', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyInstanceAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'deprecated' => false, - 'systemTags' => [], - 'parameters' => [ - [ - 'name' => 'Uid', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of your Alibaba Cloud account.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '12345678123*****', + [ + 'apiName' => 'DeactivateScalingConfiguration', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DeactivateScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'OnlyCheck', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to check only the authorization status. Valid values:'."\n" - ."\n" - .'* true: checks only the authorization status. The service-linked role is not created.'."\n" - .'* false (default): checks the authorization status and resource usage.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + ], + [ + 'apiName' => 'ListTagResources', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:ListTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - 'description' => '', + [ + 'apiName' => 'AttachLoadBalancers', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachLoadBalancers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'UserNotAuthorizeEss', - 'errorMessage' => 'Ess should be authorized in ram to operate user ecs resource.', + [ + 'apiName' => 'ModifyScalingRule', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyScalingRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'VerifyAuthentication', - 'summary' => 'Checks whether the specified Alibaba Cloud account assumes the AliyunServiceRoleForAutoScaling service-linked role. An account can be used to operate Elastic Compute Service (ECS) instances and elastic container instances only after it assumes the service-linked role.', - ], - 'DescribeLimitation' => [ - 'summary' => 'Queries resource quotas. For example, you can call the DescribeLimitation operation to query the maximum numbers of scheduled tasks that you can create in a scaling group, load balancers that you can attach to a scaling group, instances that you can add to a scaling group, and scaling configurations that you can create in a scaling group.', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'AttachInstances', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'RemoveInstances', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'StartInstanceRefresh', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:StartInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'DescribeRegions', + 'description' => '', 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREessZ1KWHS', + 'ramAction' => [ + 'action' => 'ess:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'MaxNumberOfScheduledTasks' => [ - 'description' => 'The maximum number of scheduled tasks that can be created in a region by using an Alibaba Cloud account.'."\n" - ."\n" - .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '70', - ], - 'MaxNumberOfLoadBalancers' => [ - 'description' => 'The maximum number of Classic Load Balancer (CLB, formerly known as SLB) instances that can be associated with a scaling group.'."\n" - ."\n" - .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'MaxNumberOfMaxSize' => [ - 'description' => 'The maximum number of instances that can be contained in a scaling group.'."\n" - ."\n" - .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2000', - ], - 'MaxNumberOfAlbServerGroup' => [ - 'description' => 'The maximum number of Application Load Balancer (ALB) server groups that can be attached to a scaling group.'."\n" - ."\n" - .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'MaxNumberOfNlbServerGroup' => [ - 'description' => 'The maximum number of Network Load Balancer (NLB) server groups that can be attached to a scaling group.'."\n" - ."\n" - .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'MaxNumberOfDBInstances' => [ - 'description' => 'The maximum number of ApsaraDB RDS instances that can be associated with a scaling group.'."\n" - ."\n" - .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', - ], - 'MaxNumberOfScalingConfigurations' => [ - 'description' => 'The maximum number of scaling configurations that can be created in a scaling group.'."\n" - ."\n" - .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '70', - ], - 'MaxNumberOfMinSize' => [ - 'description' => 'The minimum number of instances that must be contained in a scaling group. The value of `MaxNumberOfMinSize` must be consistent with the value of `MaxNumberOfMaxSize`.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2000', - ], - 'MaxNumberOfLifecycleHooks' => [ - 'description' => 'The maximum number of lifecycle hooks that can be created in a scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'MaxNumberOfScalingInstances' => [ - 'description' => 'The maximum number of Elastic Compute Service (ECS) instances or elastic container instances that can be automatically scaled in a scaling group at the same time.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'MaxNumberOfScalingGroups' => [ - 'description' => 'The maximum number of scaling groups that can be created in a region by using an Alibaba Cloud account.'."\n" - ."\n" - .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'BE9BEB41-E7B8-4C7D-A3CF-2DCB1066****', - ], - 'MaxNumberOfNotificationConfigurations' => [ - 'description' => 'The maximum number of notification rules that can be created in a scaling group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '6', - ], - 'MaxNumberOfVServerGroups' => [ - 'description' => 'The maximum number of CLB vServer groups that can be attached to a scaling group.'."\n" - ."\n" - .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'MaxNumberOfScalingRules' => [ - 'description' => 'The maximum number of scaling rules that can be created in a scaling group.'."\n" - ."\n" - .'> To view the quota or request a quota increase, go to [Quota Center](https://quotas.console.aliyun.com/products/ess/quotas).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '70', - ], - ], - 'description' => '', + [ + 'apiName' => 'CompleteLifecycleAction', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:CompleteLifecycleAction', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"MaxNumberOfScheduledTasks\\": 70,\\n \\"MaxNumberOfLoadBalancers\\": 30,\\n \\"MaxNumberOfMaxSize\\": 2000,\\n \\"MaxNumberOfAlbServerGroup\\": 30,\\n \\"MaxNumberOfNlbServerGroup\\": 30,\\n \\"MaxNumberOfDBInstances\\": 30,\\n \\"MaxNumberOfScalingConfigurations\\": 70,\\n \\"MaxNumberOfMinSize\\": 2000,\\n \\"MaxNumberOfLifecycleHooks\\": 10,\\n \\"MaxNumberOfScalingInstances\\": 500,\\n \\"MaxNumberOfScalingGroups\\": 200,\\n \\"RequestId\\": \\"BE9BEB41-E7B8-4C7D-A3CF-2DCB1066****\\",\\n \\"MaxNumberOfNotificationConfigurations\\": 6,\\n \\"MaxNumberOfVServerGroups\\": 5,\\n \\"MaxNumberOfScalingRules\\": 70\\n}","type":"json"}]', - 'title' => 'DescribeLimitation', - ], - 'ModifyInstanceAttribute' => [ - 'summary' => 'Modifies the information of an Elastic Compute Service (ECS) instance. When you call the ModifyInstanceAttribute operation, you can specify attributes such as the instance ID, scaling group ID, and region ID to modify the attributes of an ECS instance in a scaling group. You can modify only the hosting attributes of instances that are manually added to scaling groups.', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'DescribeAlertConfig', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeAlertConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DetachAlbServerGroups', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachAlbServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeScalingGroups', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'systemTags' => [ + [ + 'apiName' => 'DeleteScalingConfiguration', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'ExitStandby', + 'description' => '', 'operationType' => 'update', - 'abilityTreeCode' => '201544', - 'abilityTreeNodes' => [ - 'FEATUREessBFHJ1B', + 'ramAction' => [ + 'action' => 'ess:ExitStandby', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ECS instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp109k5j3dum1ce6****', + [ + 'apiName' => 'DescribeNotificationTypes', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeNotificationTypes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', + ], + [ + 'apiName' => 'QueryPredictiveTaskInfo', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:QueryPredictiveTaskInfo', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Entrusted', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to allow the scaling group to manage the lifecycles of the manually added ECS instances. Valid values:'."\n" - ."\n" - .'* true: allows the scaling group to manage the lifecycles of the manually added ECS instances. The scaling group manages the lifecycles of manually added instances and automatically created instances in the same manner. In this case, Auto Scaling releases the instances when they are removed from the scaling group. This rule does not apply to instances that are removed by calling the DetachInstances operation.'."\n" - .'* false: does not allow the scaling group to manage the lifecycles of the manually added ECS instances. In this case, Auto Scaling does not release the instances when they are removed from the scaling group.'."\n" - ."\n" - .'> You can specify this parameter only for ECS instances that are manually added to the scaling group.'."\n", - 'type' => 'boolean', - 'required' => false, - 'docRequired' => true, - 'example' => 'true', + ], + [ + 'apiName' => 'AttachAlbServerGroups', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachAlbServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', + ], + [ + 'apiName' => 'DescribeCapacityHistory', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ess:DescribeCapacityHistory', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'InstanceIds', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The instance IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp109k5j3dum1ce6****', - ], - 'required' => false, - 'maxItems' => 20, + ], + [ + 'apiName' => 'DeleteScalingRule', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteScalingRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - 'description' => '', + [ + 'apiName' => 'DescribeLimitation', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeLimitation', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'ModifyInstanceAttribute', - ], - 'DescribeAlertConfiguration' => [ - 'summary' => 'Queries the status of scaling activities that trigger text message, internal message, or email-based notifications. When you call the DescribeAlertConfiguration operation, you must specify the scaling group ID and region ID to query the status of the desired scaling activities. A scaling activity can be in one of the following states: Successful, Failed, and Rejected.', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'DescribeScalingGroupDetail', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingGroupDetail', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'ModifyAlarm', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'SuspendInstanceRefresh', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SuspendInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'ResumeProcesses', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ResumeProcesses', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'CreateDiagnoseReport', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateDiagnoseReport', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ModifyScalingConfiguration', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyScalingConfiguration', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteDiagnoseReport', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteDiagnoseReport', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeScalingActivities', + 'description' => '', 'operationType' => 'get', - 'abilityTreeCode' => '208814', - 'abilityTreeNodes' => [ - 'FEATUREessFY8KDA', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingActivities', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp18p2yfxow2dloq****', + [ + 'apiName' => 'CancelInstanceRefresh', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:CancelInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', + ], + [ + 'apiName' => 'QueryPredictiveMetric', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:QueryPredictiveMetric', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'ScaleStatuses' => [ - 'description' => 'The status of the scaling activities that trigger text message, internal message, or email-based notifications.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The status of the scaling activity that triggers text message, internal message, or email-based notifications. Valid values:'."\n" - ."\n" - .'* ScaleSuccessful: Notifications are sent if the scaling activity is successfully complete.'."\n" - .'* ScaleRejected: Notifications are sent if the scaling activity is rejected.'."\n" - .'* ScaleFailed: Notifications are sent if the scaling activity failed.'."\n", - 'type' => 'string', - 'example' => 'ScaleSuccessful', - ], - ], - ], - 'description' => '', + [ + 'apiName' => 'ModifyNotificationConfiguration', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyNotificationConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"ScaleStatuses\\": [\\n \\"ScaleSuccessful\\"\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeAlertConfiguration', - ], - 'ModifyAlertConfiguration' => [ - 'summary' => 'Sets the status of scaling activities that prompt text message or email notifications.', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'DescribeScheduledTasks', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScheduledTasks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DescribeAlarms', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeAlarms', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeScalingGroupDiagnoseDetails', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingGroupDiagnoseDetails', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'write', - 'systemTags' => [ + [ + 'apiName' => 'ScaleWithAdjustment', + 'description' => '', 'operationType' => 'update', - 'abilityTreeCode' => '208812', - 'abilityTreeNodes' => [ - 'FEATUREess6E26FJ', - 'FEATUREessLTO4TI', + 'ramAction' => [ + 'action' => 'ess:ScaleWithAdjustment', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1eyv4qn8ssgv43****', + [ + 'apiName' => 'DetachVServerGroups', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachVServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'ScaleStatuses', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The status of the scaling activities that prompt text message or email notifications.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The status of the scaling activity that prompts text message or email notifications. Valid values:'."\n" - ."\n" - .'* ScaleSuccessful: The scaling activity is successful.'."\n" - .'* ScaleRejected: The scaling activity is rejected.'."\n" - .'* ScaleFailed: The scaling activity failed.'."\n" - ."\n" - .'> If you do not specify this parameter when you call this operation, notifications will be canceled.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ScaleSuccessful', - ], - 'required' => false, - 'maxItems' => 10, + ], + [ + 'apiName' => 'ApplyEciScalingConfiguration', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:ApplyEciScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', + ], + [ + 'apiName' => 'QueryPredictiveValue', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:QueryPredictiveValue', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '73469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], - 'description' => '', + [ + 'apiName' => 'CreateScheduledTask', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateScheduledTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"73469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'ModifyAlertConfiguration', - ], - 'DescribeInstanceCreateAndDeleteStatistics' => [ - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'DescribeScalingConfigurations', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingConfigurations', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DescribeScalingActivityStatistics', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingActivityStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'CreateScalingGroup', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/*'], + ], ], ], - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '221449', - 'abilityTreeNodes' => [ - 'FEATUREessJ54CHK', + [ + 'apiName' => 'DetachDBInstances', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ess:DetachDBInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + [ + 'apiName' => 'DescribeInstanceCreateAndDeleteStatistics', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeInstanceCreateAndDeleteStatistics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-2ze4057nqfbxxxxxxxx', + ], + [ + 'apiName' => 'VerifyUser', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ess:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The start time of the statistical interval. The time follows the ISO 8601 standard and uses UTC time.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2025-12-15T08:00Z'."\n", + ], + [ + 'apiName' => 'DescribePatternTypes', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ess:DescribePatternTypes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end time of the statistical interval. The time follows the ISO 8601 standard and uses UTC time.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2025-12-18T08:00Z', + ], + [ + 'apiName' => 'ChangeResourceGroup', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ChangeResourceGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '086EFCD4-C76F-4DC6-9EE9-0D9B711E****', - ], - 'InstanceCreateAndDeleteStatistics' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Statistic' => [ - 'description' => 'Metrics for instance creation and deletion.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Metrics for instance creation and deletion.'."\n", - 'type' => 'object', - 'properties' => [ - 'DestroyedVmCount' => [ - 'description' => 'The number of released instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '34', - ], - 'CreatedVmCount' => [ - 'description' => 'The number of new instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '12', - ], - 'Time' => [ - 'description' => 'The time when the statistics are generated. The time is in UTC. Format: yyyyMMddHH.'."\n", - 'type' => 'string', - 'example' => '2025121623', - ], - 'StoppedVmCount' => [ - 'description' => 'The number of instances that are stopped in economical mode.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'StartedVmCount' => [ - 'description' => 'The number of instances that are started from economical mode.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - ], - ], - ], - ], - ], - ], - 'description' => '', + [ + 'apiName' => 'ModifyScalingGroup', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"086EFCD4-C76F-4DC6-9EE9-0D9B711E****\\",\\n \\"InstanceCreateAndDeleteStatistics\\": {\\n \\"Statistic\\": [\\n {\\n \\"DestroyedVmCount\\": 34,\\n \\"CreatedVmCount\\": 12,\\n \\"Time\\": \\"2025121623\\",\\n \\"StoppedVmCount\\": 10,\\n \\"StartedVmCount\\": 5\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'DescribeInstanceCreateAndDeleteStatistics', - 'summary' => 'Instance creation and deletion statistics.', - ], - 'QueryPredictiveValue' => [ - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'EnableAlarm', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:EnableAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'ListTagValues', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:ListTagValues', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'ModifyAlertConfiguration', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyAlertConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'systemTags' => [ + [ + 'apiName' => 'DescribeElasticStrength', + 'description' => '', 'operationType' => 'get', - 'abilityTreeCode' => '221690', - 'abilityTreeNodes' => [ - 'FEATUREessHEBR5R', + 'ramAction' => [ + 'action' => 'ess:DescribeElasticStrength', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + [ + 'apiName' => 'DeleteScalingGroup', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The start time of the predicted number of instances in the scaling group. The time follows the ISO8601 standard and uses UTC time.'."\n" - ."\n" - .'Format: yyyy-MM-ddTHH:mmZ.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2025-12-17T08:00Z'."\n", + ], + [ + 'apiName' => 'SetInstancesProtection', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SetInstancesProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end time of the predicted number of instances in the scaling group. The time follows the ISO8601 standard and uses UTC time.'."\n" - ."\n" - .'Format: yyyy-MM-ddTHH:mmZ.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2025-12-18T08:00Z', + ], + [ + 'apiName' => 'DescribeInstanceRefreshes', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeInstanceRefreshes', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-2zee0wsy0zkdxxxxx', + ], + [ + 'apiName' => 'EnableScalingGroup', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:EnableScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'MetricName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the monitoring metric of the prediction rule. Valid values:'."\n" - ."\n" - .'* CpuUtilization: the average CPU utilization.'."\n" - .'* IntranetRx: the inbound traffic over an internal network.'."\n" - .'* IntranetTx: the outbound traffic over an internal network.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'CpuUtilization', + ], + [ + 'apiName' => 'DetachLoadBalancers', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachLoadBalancers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'TargetValue', - 'in' => 'query', - 'schema' => [ - 'description' => 'The current value of the monitoring metric of the prediction rule.'."\n", - 'type' => 'number', - 'format' => 'float', - 'required' => true, - 'example' => '60', + ], + [ + 'apiName' => 'DescribeScalingActivityDetail', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingActivityDetail', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'FA5F448E-DC84-5EBC-B6D5-F659ADxxxx', - ], - 'PredictiveValues' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'PredictiveValue' => [ - 'description' => 'The number of predicted instances in the scaling group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The number of predicted instances in the scaling group.'."\n", - 'type' => 'object', - 'properties' => [ - 'Time' => [ - 'description' => 'The point in time, in the ISO 8601 standard, in the yyyy-MM-ddTHH:mmZ format.'."\n", - 'type' => 'string', - 'example' => '2025-12-17T10:00Z', - ], - 'Value' => [ - 'description' => 'The number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - ], - ], - ], - ], - ], - ], - 'description' => '', + [ + 'apiName' => 'ApplyScalingGroup', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:ApplyScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FA5F448E-DC84-5EBC-B6D5-F659ADxxxx\\",\\n \\"PredictiveValues\\": {\\n \\"PredictiveValue\\": [\\n {\\n \\"Time\\": \\"2025-12-17T10:00Z\\",\\n \\"Value\\": 3\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'QueryPredictiveValue', - 'summary' => 'Queries the predicted number of instances in a scaling group.', - ], - 'QueryHistoricalMetric' => [ - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'AttachVServerGroups', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachVServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'SetInstanceHealth', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SetInstanceHealth', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DetachServerGroups', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'systemTags' => [ + [ + 'apiName' => 'ListTagKeys', + 'description' => '', 'operationType' => 'get', - 'abilityTreeCode' => '221688', - 'abilityTreeNodes' => [ - 'FEATUREessHEBR5R', + 'ramAction' => [ + 'action' => 'ess:ListTagKeys', + 'authLevel' => '', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + [ + 'apiName' => 'ModifyLifecycleHook', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyLifecycleHook', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The start time of historical monitoring data. The time follows the ISO8601 standard and uses UTC time.'."\n" - ."\n" - .'Format: yyyy-MM-ddTHH:mmZ.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2025-12-17T08:00Z', + ], + [ + 'apiName' => 'DeleteNotificationConfiguration', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteNotificationConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end time of the historical monitoring data. The time follows the ISO8601 standard and uses UTC time.'."\n" - ."\n" - .'Format: yyyy-MM-ddTHH:mmZ.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2025-12-18T08:00Z', + ], + [ + 'apiName' => 'SetGroupDeletionProtection', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SetGroupDeletionProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp15oubotmrq11xe****', + ], + [ + 'apiName' => 'RebalanceInstances', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:RebalanceInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'MetricName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the monitoring metric of the prediction rule. Valid values:'."\n" - ."\n" - .'* CpuUtilization: the average CPU utilization.'."\n" - .'* IntranetRx: the inbound traffic over an internal network.'."\n" - .'* IntranetTx: the outbound traffic over an internal network.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'CpuUtilization', + ], + [ + 'apiName' => 'CreateNotificationConfiguration', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateNotificationConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'HistoricalMetrics' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'HistoricalMetric' => [ - 'description' => 'The monitoring metrics of the prediction rule.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The monitoring metrics of the prediction rule.'."\n", - 'type' => 'object', - 'properties' => [ - 'MetricValue' => [ - 'description' => 'The value of the metric.'."\n", - 'type' => 'string', - 'example' => '10.0', - ], - 'Time' => [ - 'description' => 'The point in time of the monitoring metric. The value must be in the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format.'."\n", - 'type' => 'string', - 'example' => '2025-12-17T16:00Z', - ], - ], - ], - ], - ], - ], - ], - 'description' => '', + [ + 'apiName' => 'DetachInstances', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DetachInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - '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' => [], + [ + 'apiName' => 'DisableAlarm', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DisableAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '221691', - 'abilityTreeNodes' => [ - 'FEATUREessHEBR5R', + [ + 'apiName' => 'ResumeInstanceRefresh', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ResumeInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + [ + 'apiName' => 'QueryHistoricalMetric', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:QueryHistoricalMetric', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The start time of the prediction task. The time follows the ISO8601 standard and uses UTC time.'."\n" - ."\n" - .'Format: yyyy-MM-ddTHH:mmZ.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2025-12-17T08:00Z', + ], + [ + 'apiName' => 'DescribeEciScalingConfigurations', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeEciScalingConfigurations', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end time of the prediction task. The time follows the ISO8601 standard and uses UTC time.'."\n" - ."\n" - .'Format: yyyy-MM-ddTHH:mmZ.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2025-12-18T08:00Z', + ], + [ + 'apiName' => 'EnterStandby', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:EnterStandby', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'ScalingRuleId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the prediction scaling rule.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asr-bp1dp8yd9f8xxxxx', + ], + [ + 'apiName' => 'DisableScalingGroup', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:DisableScalingGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'Request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - 'TaskInfos' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'TaskInfo' => [ - 'description' => 'The scheduled task generated by the prediction rule.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The scheduled task generated by the prediction rule.'."\n", - 'type' => 'object', - 'properties' => [ - 'Time' => [ - 'description' => 'The point in time at which the scheduled task is triggered. The value follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format.'."\n", - 'type' => 'string', - 'example' => '2025-12-17T10:00Z', - ], - 'MinValue' => [ - 'description' => 'The minimum size of the scaling group that you want to create.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'MaxValue' => [ - 'description' => 'The maximum size of the scaling group that you want to create.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - ], - ], - ], - ], - ], - ], - 'description' => '', + [ + 'apiName' => 'RecordLifecycleActionHeartbeat', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:RecordLifecycleActionHeartbeat', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-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' => [], + [ + 'apiName' => 'CreateLifecycleHook', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateLifecycleHook', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'systemTags' => [ + [ + 'apiName' => 'DescribeNotificationConfigurations', + 'description' => '', 'operationType' => 'get', - 'abilityTreeCode' => '221689', - 'abilityTreeNodes' => [ - 'FEATUREessHEBR5R', + 'ramAction' => [ + 'action' => 'ess:DescribeNotificationConfigurations', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + [ + 'apiName' => 'TagResources', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:TagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The start time of the predicted monitoring data. The time follows the ISO8601 standard and uses UTC time.'."\n" - ."\n" - .'Format: yyyy-MM-ddTHH:mmZ.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2025-12-17T08:00Z'."\n", + ], + [ + 'apiName' => 'UntagResources', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:UntagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end time of the predicted monitoring data. The time follows the ISO8601 standard and uses UTC time.'."\n" - ."\n" - .'Format: yyyy-MM-ddTHH:mmZ.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2025-12-18T08:00Z'."\n", + ], + [ + 'apiName' => 'ModifyAlertConfig', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyAlertConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'asg-bp1igpak5ft1flyp****', + ], + [ + 'apiName' => 'ModifyScheduledTask', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyScheduledTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'MetricName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the monitoring metric of the prediction rule. Valid values:'."\n" - ."\n" - .'* CpuUtilization: the average CPU utilization.'."\n" - .'* IntranetRx: the inbound traffic over an internal network.'."\n" - .'* IntranetTx: the outbound traffic over an internal network.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'CpuUtilization', + ], + [ + 'apiName' => 'DescribeAlertConfiguration', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeAlertConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CC107349-57B7-4405-B1BF-9BF5AF7F****', - ], - 'PredictiveMetrics' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'PredictiveMetric' => [ - 'description' => 'Predicted monitoring metrics.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Predicted monitoring metrics.'."\n", - 'type' => 'object', - 'properties' => [ - 'MetricValue' => [ - 'description' => 'Predicted monitoring value.'."\n", - 'type' => 'string', - 'example' => '10.0', - ], - 'Time' => [ - 'description' => 'The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mmZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'example' => '2025-12-17T16:00Z', - ], - ], - ], - ], - ], - ], - ], - 'description' => '', + [ + 'apiName' => 'CreateScalingRule', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateScalingRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - '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', + [ + 'apiName' => 'CreateEciScalingConfiguration', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateEciScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'SuspendProcesses', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:SuspendProcesses', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'DeleteLifecycleHook', + 'description' => '', 'operationType' => 'delete', - 'abilityTreeCode' => '221454', - 'abilityTreeNodes' => [ - 'FEATUREessXZ2M1E', + 'ramAction' => [ + 'action' => 'ess:DeleteLifecycleHook', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + [ + 'apiName' => 'CreateScalingConfiguration', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateScalingConfiguration', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ReportId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the diagnostic report.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'dr-j6c7wvdzk5103xxxxx', + ], + [ + 'apiName' => 'DescribeEciScalingConfigurationDetail', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeEciScalingConfigurationDetail', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', - ], - ], + [ + 'apiName' => 'ExecuteScalingRule', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ExecuteScalingRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]', - 'title' => 'DeleteDiagnoseReport', - ], - 'DescribeScalingActivityStatistics' => [ - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'AttachServerGroups', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DeleteScheduledTask', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteScheduledTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'AttachDBInstances', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:AttachDBInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], ], ], - 'operationType' => 'read', - 'systemTags' => [ + [ + 'apiName' => 'DescribeDiagnoseReports', + 'description' => '', 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '221448', - 'abilityTreeNodes' => [ - 'FEATUREessL0GZCK', + 'ramAction' => [ + 'action' => 'ess:DescribeDiagnoseReports', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + [ + 'apiName' => 'ModifyEciScalingConfiguration', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:ModifyEciScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'ScalingGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scaling group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'asg-8vbje5pofxxxxxxxx', + ], + [ + 'apiName' => 'RollbackInstanceRefresh', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ess:RollbackInstanceRefresh', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The start time of the statistical interval. The time follows the ISO 8601 standard and uses UTC time.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2025-12-15T08:00Z', + ], + [ + 'apiName' => 'DeleteAlarm', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end time of the statistical interval. The time follows the ISO 8601 standard and uses UTC time.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2025-12-18T08:00Z', + ], + [ + 'apiName' => 'VerifyAuthentication', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'ess:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'MetricType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the metric on which the scaling activity is counted. Valid values:'."\n" - ."\n" - .'* ScalingActivityStatus: collects statistics on the distribution of scaling activities in different states within a time range.'."\n" - .'* ScalingActivityErrorCodes: the distribution of error codes in failed scaling activities within a time range.'."\n" - ."\n" - .'Default value: ScalingActivityStatus.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ScalingActivityStatus', + ], + [ + 'apiName' => 'DescribeLifecycleHooks', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeLifecycleHooks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'Request ID.'."\n", - 'type' => 'string', - 'example' => 'A8F44B4D-BAB4-5176-8705-5984xxxxx', - ], - 'ScalingActivityStatusStatistics' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Statistic' => [ - 'description' => 'The statistical metrics of the scaling activity status.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The statistical metrics of the scaling activity status.'."\n", - 'type' => 'object', - 'properties' => [ - 'Time' => [ - 'description' => 'The time when the statistics are generated. The time is in UTC. Format: yyyyMMddHH.'."\n", - 'type' => 'string', - 'example' => '2025121623', - ], - 'SuccessActivityCount' => [ - 'description' => 'The number of successful scaling activities.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'FailedActivityCount' => [ - 'description' => 'The number of failed scaling activities.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'WarningActivityCount' => [ - 'description' => 'The number of partially executed scaling activities.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - ], - ], - ], - ], - ], - 'ScalingActivityErrorCodeStatistics' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ErrorStatistic' => [ - 'description' => 'The error message statistics of the scaling activity.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The error message statistics of the scaling activity.'."\n", - 'type' => 'object', - 'properties' => [ - 'ErrorCode' => [ - 'description' => 'Scaling Activity Error Codes'."\n", - 'type' => 'string', - 'example' => 'QuotaExceeded.PrivateIpAddress', - ], - 'Count' => [ - 'description' => 'The number of failed scaling activities.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'Time' => [ - 'description' => 'The time when the statistics are generated. The time is in UTC. Format: yyyyMMddHH.'."\n", - 'type' => 'string', - 'example' => '2025121623', - ], - ], - ], - ], - ], - ], - ], - 'description' => '', + [ + 'apiName' => 'DeleteEciScalingConfiguration', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ess:DeleteEciScalingConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeScalingInstances', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeScalingInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeLifecycleActions', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ess:DescribeLifecycleActions', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ], + ], + ], + [ + 'apiName' => 'CreateAlarm', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ess:CreateAlarm', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'AutoScaling', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A8F44B4D-BAB4-5176-8705-5984xxxxx\\",\\n \\"ScalingActivityStatusStatistics\\": {\\n \\"Statistic\\": [\\n {\\n \\"Time\\": \\"2025121623\\",\\n \\"SuccessActivityCount\\": 10,\\n \\"FailedActivityCount\\": 1,\\n \\"WarningActivityCount\\": 2\\n }\\n ]\\n },\\n \\"ScalingActivityErrorCodeStatistics\\": {\\n \\"ErrorStatistic\\": [\\n {\\n \\"ErrorCode\\": \\"QuotaExceeded.PrivateIpAddress\\",\\n \\"Count\\": 4,\\n \\"Time\\": \\"2025121623\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'DescribeScalingActivityStatistics', - 'summary' => 'The distribution of scaling activities in different states over a period of time.', - ], - ], - 'endpoints' => [ - [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'ess.cn-zhangjiakou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhengzhou-jva', - 'endpoint' => 'ess.cn-zhengzhou-jva.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'ess.cn-huhehaote.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'ess.cn-wulanchabu.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'cn-nanjing', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'cn-fuzhou', - 'endpoint' => 'ess.cn-fuzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'cn-heyuan', - 'endpoint' => 'ess.cn-heyuan.aliyuncs.com', - ], - [ - 'regionId' => 'cn-guangzhou', - 'endpoint' => 'ess.cn-guangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'ess.cn-chengdu.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wuhan-lr', - 'endpoint' => 'ess.cn-wuhan-lr.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'ess.cn-hongkong.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'ess.ap-northeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-2', - 'endpoint' => 'ess.ap-northeast-2.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'ess.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-2', - 'endpoint' => 'ess.ap-southeast-2.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'ess.ap-southeast-3.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'ess.ap-southeast-5.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-6', - 'endpoint' => 'ess.ap-southeast-6.aliyuncs.com', - ], - [ - 'regionId' => 'us-east-1', - 'endpoint' => 'ess.us-east-1.aliyuncs.com', - ], - [ - 'regionId' => 'us-west-1', - 'endpoint' => 'ess.us-west-1.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'ess.eu-west-1.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'ess.eu-central-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-south-1', - 'endpoint' => 'ess.ap-south-1.aliyuncs.com', - ], - [ - 'regionId' => 'me-east-1', - 'endpoint' => 'ess.me-east-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-7', - 'endpoint' => 'ess.ap-southeast-7.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-finance-1', - 'endpoint' => 'ess.aliyuncs.com', - ], - [ - 'regionId' => 'me-central-1', - 'endpoint' => 'ess.me-central-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-heyuan-acdr-1', - 'endpoint' => 'ess.cn-heyuan-acdr-1.aliyuncs.com', - ], - [ - 'regionId' => 'na-south-1', - 'endpoint' => 'ess.na-south-1.aliyuncs.com', - ], - [ - 'regionId' => 'us-southeast-1', - 'endpoint' => 'ess.us-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wulanchabu-gic-1', - 'endpoint' => 'ess.cn-wulanchabu-gic-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-north-2-gov-1', - 'endpoint' => 'ess.aliyuncs.com', ], - [ - 'regionId' => 'cn-zhongwei', - 'endpoint' => 'ess.cn-zhongwei.aliyuncs.com', + 'resourceTypes' => [ + ['validationType' => 'always', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId}'], + ['validationType' => 'always', 'resourceType' => 'ScalingGroup', 'arn' => 'acs:ess:{#regionId}:{#accountId}:scalinggroup/*'], ], ], ]; -- cgit v1.2.3