API standards and multilingual preset SDKs
The OpenAPI of this product (Ess/2014-08-28) uses the RPC signature style. We have encapsulated SDKs for common programming languages for developers. Developers can download the SDK to directly call this product's OpenAPI without worrying about technical details. If the existing SDK does not meet your needs, you can use the signature mechanism for self-signing integration. Since the details of self-signing are very complex, it may take around 5 business days. Therefore, we recommend joining our DingTalk service group (147535001692) and conducting signature integration under expert guidance.
Before using the API, you need to prepare your identity account and access key (AccessKey) to effectively access the API through client tools (such as SDK and CLI). For details, see Obtain an AccessKey.
Custom signature scenarios
If your business scenario has special requirements and you need to integrate the API through self-signing, we recommend consulting our technical support team first (DingTalk service group: 147535001692) to obtain professional guidance and ensure efficient integration.
Account and security preparation
Alibaba Cloud accounts have full administrative permissions over all resources. Once an AccessKey is compromised, all associated resources will be at risk of unauthorized access. To ensure security, it is recommended to create a RAM user with only API access permissions and configure its AccessKey, while configuring RAM policies based on the principle of least privilege (PoLP). Use the Alibaba Cloud account only in specific scenarios where Alibaba Cloud account permissions are explicitly required.
Scaling group
|
API |
Title |
Description |
| CreateScalingGroup | Create a scaling group | Creates a scaling group to automatically adjust your compute capacity (the number of instances) based on business changes and policies if you need to automatically increase or decrease the number of instances of a specified type. |
| DeleteScalingGroup | Delete a scaling group | Deletes a scaling group. |
| ModifyScalingGroup | Modify a scaling group | If you need to automatically increase or decrease the number of instances of a specific type based on business changes and policies, you can configure a scaling group to automatically adjust your compute capacity (that is, the number of instances). If the current scaling group attributes no longer meet your business requirements, you can call the ModifyScalingGroup operation to modify scaling group attributes such as the maximum number of instances, minimum number of instances, or expected number of instances. This way, you do not need to create a scaling group again or reconfigure related attributes, which saves time and resources. |
| EnableScalingGroup | Enable a scaling group | Enables a scaling group. |
| DisableScalingGroup | Disable a scaling group | Disables a scaling group. |
| SetGroupDeletionProtection | Enable or disable deletion protection for a scaling group | Enables or disables deletion protection for a scaling group. |
| AttachLoadBalancers | Add one or more load balancing instances | Adds one or more load balancing instances. |
| DetachLoadBalancers | Remove one or more load balancing instances | Removes one or more load balancing instances. |
| DetachDBInstances | Remove one or more RDS instances | Removes one or more ApsaraDB RDS instances. |
| AttachDBInstances | Add one or more apsaraDB RDS instances | Adds one or more ApsaraDB RDS instances to a scaling group. |
| AttachVServerGroups | Add virtual server groups to a scaling group | Adds one or more virtual server groups to a load balancing instance associated with a scaling group. |
| DetachVServerGroups | Remove one or more virtual server groups | Removes one or more virtual server groups. |
| DescribeScalingGroups | Query scaling groups | Queries scaling groups. You can call this operation to view basic information about scaling groups, instances in scaling groups, and scaling configurations. |
| DescribeScalingInstances | Query ECS instances in a scaling group | Queries the list of ECS instances in a scaling group and instance information by scaling group ID, including the total number of running spot instances, total number of ECS instances, warmup state of ECS instances, and lifecycle state in the current scaling group. You can also filter ECS instances by health check status, lifecycle state, or creation type. |
| DescribeScalingActivities | Query scaling activities | Queries the details of scaling activities by calling the DescribeScalingActivities operation. You can use this operation to view the results of scaling activities triggered by scheduled tasks, event-triggered tasks, or manual execution of scaling rules. For example, you can view the status, cause, and total number of instances after the change for a scaling activity. |
| DescribeScalingActivityDetail | Query the details of a scaling activity | Queries the details of a scaling activity. |
| DescribeLimitation | Query resource quota limits | Queries resource quota limits. |
| DescribeElasticStrength | Query elastic strength of a scaling group | 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. |
| VerifyAuthentication | Check whether Auto Scaling is authorized to operate ECS resources | Checks whether Auto Scaling is authorized to operate ECS resources. |
| SuspendProcesses | Suspend specified scaling processes in a scaling group | Suspends specified scaling processes in a scaling group. |
| ResumeProcesses | Resume paused scaling processes in a scaling group | Resumes paused scaling processes in a scaling group. |
| VerifyUser | Verify whether Auto Scaling is activated | Verifies whether Auto Scaling is activated. |
Scaling configuration
|
API |
Title |
Description |
| CreateScalingConfiguration | Create a scaling configuration | 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. |
| DeleteScalingConfiguration | Delete a scaling configuration | Deletes a scaling configuration. |
| ModifyScalingConfiguration | Modify an eCS-type scaling configuration | Modifies an ECS-type scaling configuration (the ECS instance template for scale-out) if the current scaling configuration does not meet your business requirements. You can invoke this API operation to modify the scaling configuration. |
| DescribeScalingConfigurations | Query eCS-type scaling configurations | Queries information about ECS-type scaling configurations, including instance types and images, to help you understand the details of ECS instance templates used for scale-out in advance. |
| DeactivateScalingConfiguration | Invalidate a specified scaling configuration | Invalidates a specified scaling configuration. |
Scaling rule
|
API |
Title |
Description |
| CreateScalingRule | Create a scaling rule | Creates a scaling rule. |
| DeleteScalingRule | Delete a scaling rule | Deletes a scaling rule. |
| ModifyScalingRule | Modify a scaling rule | Modifies one or more attributes of a scaling rule. If an existing scaling rule no longer meets your requirements, you can call this operation to modify its attributes instead of creating a new one. This prevents unnecessary repetition and saves time and resources. |
| DescribeScalingRules | Query scaling rules | Queries the scaling rules in a scaling group and returns information about the scaling rules. |
Event-triggered task
|
API |
Title |
Description |
| AttachInstances | Manually add ECS instances to a scaling group | Manually adds ECS instances to a scaling group. |
| DetachInstances | Remove one or more ECS instances from a scaling group | Removes one or more ECS instances from a scaling group. |
| ExecuteScalingRule | Execute a scaling rule | Executes a scaling rule. |
| RemoveInstances | RemoveInstances | If the current scaling group is in the enable state and no scaling activity is in the execute state in the scaling group, you can invoke the RemoveInstances API operation to delete one or more unneeded instances from a scaling group. |
Scheduled task
|
API |
Title |
Description |
| CreateScheduledTask | Create a scheduled task | Creates a scheduled task. |
| DeleteScheduledTask | Delete a scheduled task | Deletes a scheduled task. |
| ModifyScheduledTask | Modify a scheduled task | Modifies the information of a scheduled task. |
| DescribeScheduledTasks | DescribeScheduledTasks | Queries the details of scheduled tasks. A scheduled task is a preset node that executes a specified scaling rule at a specified time to implement automatic scale-out and scale-in of compute resources. After you create a scheduled task, you can invoke the DescribeScheduledTasks API operation to query its details, such as the trigger time, total number of scheduled tasks, and the ID of the scaling group that executes the scheduled task. |
Lifecycle hook
|
API |
Title |
Description |
| CreateLifecycleHook | Create one or more lifecycle hooks for a scaling group | Creates one or more lifecycle hooks for a scaling group. |
| DeleteLifecycleHook | Delete a lifecycle hook | Deletes a lifecycle hook. |
| ModifyLifecycleHook | Modify a lifecycle hook | Modifies the information of a lifecycle hook. |
| DescribeLifecycleActions | Query lifecycle tokens | Queries lifecycle tokens by scaling activity ID and status. |
| DescribeLifecycleHooks | Query lifecycle hook details | Queries the details of lifecycle hooks by specifying lifecycle hook IDs or scaling group IDs. The details include the next action to perform after the wait state ends, the scaling activity type associated with the lifecycle hook, the Notification Recipient identifier, and the suspension wait time. |
| RecordLifecycleActionHeartbeat | Extend the wait time of an ECS instance in the wait state after a lifecycle hook is triggered | Extends the wait time of an ECS instance that is suspended after a lifecycle hook is triggered. |
| CompleteLifecycleAction | End the wait state of a scaling activity in advance | Ends the wait state of a scaling activity in advance. |
Event notification
|
API |
Title |
Description |
| CreateNotificationConfiguration | Create an event notification rule | Event notifications support automatically sending messages to the CloudMonitor monitoring service, MNS topics, and MNS queues after specified types of events occur, which helps you keep track of scaling group dynamics and further implement automated management. If the current event notification types no longer meet your business requirements, you can invoke the ModifyNotificationConfiguration API operation to modify auto scaling event and resource change notifications in Auto Scaling. You do not need to create a new event notification, but modifying the notification method of an event notification is not supported. |
| DeleteNotificationConfiguration | Delete a notification configuration for Auto Scaling events and resource changes | Deletes a notification configuration for Auto Scaling events and resource changes. |
| ModifyNotificationConfiguration | Modify an Auto Scaling event and resource change notification | Modifies an Auto Scaling event and resource change notification. |
| DescribeNotificationConfigurations | DescribeNotificationConfigurations | Queries the notification configurations for Auto Scaling events and resource changes of a scaling group, including event notification types and notification methods. |
| DescribeNotificationTypes | Query types of Auto Scaling events and resource change notifications | Queries the types of Auto Scaling events and resource change notifications. |
Instance
|
API |
Title |
Description |
| SetInstancesProtection | Enable or disable protection for ECS instances in a scaling group | Enables or disables protection for one or more ECS instances in a scaling group. |
| SetInstanceHealth | Set the health status of an ECS instance in a scaling group | Sets the health status of an ECS instance in a scaling group. |
| EnterStandby | Set ECS instances in a scaling group to the standby state | Sets ECS instances in a scaling group to the standby state. |
| ExitStandby | Restore instances from the standby state to the running state | Restores ECS instances in a scaling group from the standby state to the running state. |
| RebalanceInstances | Rebalance ECS instance distribution | Rebalances the distribution of ECS instances in a multi-zone scaling group. |
Region
|
API |
Title |
Description |
| DescribeRegions | Query regions where Auto Scaling is available | Queries the regions where Auto Scaling is available. |
Tag
|
API |
Title |
Description |
| ListTagResources | Query tags attached to Auto Scaling resources | Queries the tags that are attached to one or more Auto Scaling resources. |
| ListTagKeys | List tag keys for Auto Scaling resources | Queries the tag keys of Auto Scaling resources. |
| ListTagValues | Query tag values for an Auto Scaling resource tag key | Queries the tag values corresponding to a tag key of Auto Scaling resources. |
| TagResources | Create and bind tags to a resource list | Creates and binds tags to a list of specified Auto Scaling resources. |
| UntagResources | Unbind tags from specified Auto Scaling resources | After a tag is unbound, the tag is automatically deleted if it is not bound to any other resources. |
Alerts
|
API |
Title |
Description |
| CreateAlarm | Create an event-triggered task | Creates an event-triggered task. |
| DeleteAlarm | Delete an event-triggered task | Deletes an event-triggered task. |
| DisableAlarm | Disable an event-triggered task | Disables an event-triggered task. |
| EnableAlarm | Enable an event-triggered task | Enables an event-triggered task. |
| ModifyAlarm | Modify an event-triggered task | Modifies an event-triggered task. |
| DescribeAlarms | Query event-triggered tasks | Queries the information of event-triggered tasks. |
Others
|
API |
Title |
Description |
| AttachAlbServerGroups | Add one or more ALB server groups | Adds one or more Application Load Balancer (ALB) server groups to a scaling group. |
| CreateEciScalingConfiguration | Create a scaling configuration | Creates an ECI scaling configuration. |
| DeleteEciScalingConfiguration | Delete a scaling configuration | Deletes an ECI scaling configuration. |
| DescribeEciScalingConfigurations | DescribeEciScalingConfigurations | Invokes the DescribeEciScalingConfigurations operation. You can specify parameters such as the scaling group ID, and the IDs or names of the scaling configurations to perform a parameter query for ECI scaling configuration information, such as the instance preemption policy, container group instance types, container image pull policies, and the weight of the ECI instance when it acts as a backend server. |
| DetachAlbServerGroups | Remove one or more ALB server groups | Removes one or more Application Load Balancer (ALB) server groups from a scaling group. |
| ModifyEciScalingConfiguration | Modify a scaling configuration | Modifies an ECI-type scaling configuration. |
| ScaleWithAdjustment | Trigger elastic scaling based on a specified adjustment rule | Triggers elastic scaling based on a specified adjustment rule. |
| ChangeResourceGroup | Change the resource group of a scaling group | Changes the resource group of a scaling group. |
| AttachServerGroups | Add one or more load balancing server groups | 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). |
| DetachServerGroups | Detach server groups | Invokes the DetachServerGroups API to remove one or more load balancing server groups from a scaling group. Supported server group types include Application Load Balancer (ALB) load balancing, Network Load Balancer (NLB) load balancing, and Gateway Load Balancer (GWLB) load balancing. This operation dynamically adjusts the load balancing policy and improves system high availability for scenarios that require dynamic instance scaling to handle fluctuating workloads and ensure that application programs remain active. |
| ModifyInstanceAttribute | Modify instance attributes | Modifies specific attributes of an ECS instance in a scaling group by specifying parameters such as the instance ID, scaling group ID, and region ID. Currently, only the lifecycle management attribute of instances manually added to the scaling group can be modified. |
| DescribePatternTypes | Query instance types by instance attributes | Queries instance types that match specified instance attributes, such as the number of vCPUs, memory size, instance family level, and maximum acceptable price, when you configure a scaling configuration by specifying instance attributes. This operation calls the DescribePatternTypes API operation. |
| ApplyScalingGroup | Manage scaling groups by using a configuration file | Creates and manages Elastic Container Instance (ECI)-based scaling groups by using a configuration file. You can call the ApplyScalingGroup operation to implement this feature. |
| ModifyAlertConfiguration | Set scaling activity statuses for message notifications in a scaling group | Configures the scaling activity statuses for which Auto Scaling sends SMS and email notifications within a scaling group. When a scaling activity succeeds, fails, or is rejected, Auto Scaling can send notifications via 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 that trigger SMS and email notifications in a scaling group, so that you can stay informed about scaling activity changes and respond promptly to improve scaling efficiency. |
| DescribeAlertConfiguration | Query scaling activity status for notifications in a scaling group | When a scaling activity succeeds, fails, or is rejected, Auto Scaling can send notifications through SMS messages and emails. You must handle the related events after receiving the notifications. You can call the DescribeAlertConfiguration operation to query the status of scaling activities 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. |
| SuspendInstanceRefresh | Pause an instance refresh task | Pauses an instance refresh task. During the execution of an instance refresh task, 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. During the pause, you can check whether the configuration is correct. |
| ResumeInstanceRefresh | Resume a paused instance refresh task | Resumes an instance refresh task that is in the paused state. |
| CancelInstanceRefresh | Cancel an instance refresh task | Cancels an instance refresh task. Instances that have already been replaced or added during scale-out are retained. |
| DescribeInstanceRefreshes | Query instance refresh tasks | Queries instance refresh tasks of a scaling group, including basic information and progress of the tasks. |
| RollbackInstanceRefresh | Roll back an instance refresh task | Rolls back an instance refresh task during execution. If the desired configuration no longer meets your requirements during an instance refresh task, 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. |
| StartInstanceRefresh | Start an instance refresh task | 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. |