API overview
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 | 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). |
| DeleteScalingGroup | Delete a scaling group | Deletes a scaling group. |
| ModifyScalingGroup | Modify a scaling group | Modifies a scaling group. |
| 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. |
| AttachVServerGroups | AttachVServerGroups | Adds one or more virtual service groups under a load balancing instance. |
| DetachVServerGroups | DetachVServerGroups | Removes one or more virtual server groups. |
| DescribeScalingGroups | Query scaling groups | Queries scaling groups. |
| DescribeScalingInstances | Query instances in a scaling group | Queries the list of ECS instances, ECI instances, or managed instances in a scaling group, and returns information about the instances. |
| DescribeScalingActivities | Query scaling activities | Queries scaling activities. |
| 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 on ECS resources | Checks whether Auto Scaling is authorized to operate on 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 | CreateScalingConfiguration | 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. |
| DeleteScalingConfiguration | Delete a scaling configuration | Deletes a scaling configuration. |
| ModifyScalingConfiguration | ModifyScalingConfiguration | Modifies an ECS-type scaling configuration, which serves as the template for ECS instances to be created during scale-out events. |
| DescribeScalingConfigurations | Query scaling configuration information | Queries the information about scaling configurations. |
| DeactivateScalingConfiguration | Deactivate a specified scaling configuration | Deactivates a specified scaling configuration. |
Scaling rule
|
API |
Title |
Description |
| CreateScalingRule | CreateScalingRule | Creates a scaling rule. |
| DeleteScalingRule | Delete a scaling rule | Deletes a scaling rule. |
| ModifyScalingRule | Modify a scaling rule | Modifies a scaling rule. |
| 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 | Remove one or more ECS instances from a scaling group | Removes one or more ECS 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 | Query scheduled task information | Queries information about scheduled tasks. |
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 | DescribeLifecycleHooks | Queries lifecycle hooks. |
| RecordLifecycleActionHeartbeat | Extend the wait time after a lifecycle hook is triggered | Extends the wait time for an ECS instance that is suspended after a lifecycle hook is triggered. |
| CompleteLifecycleAction | Complete the wait state of a scaling activity ahead of schedule | Completes the wait state of a scaling activity ahead of schedule. |
Event notification
|
API |
Title |
Description |
| CreateNotificationConfiguration | Create Auto Scaling event and resource change notifications | Creates auto scaling event and resource change notifications. |
| DeleteNotificationConfiguration | Delete an auto scaling event and resource change notification | Deletes an auto scaling event and resource change notification. |
| ModifyNotificationConfiguration | Modify a notification for Auto Scaling events and resource changes | Modifies a notification for Auto Scaling events and resource changes. |
| DescribeNotificationConfigurations | Query auto scaling events and resource change notifications | Queries the auto scaling events and resource change notifications that you created. |
| 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 | Start or stop protection for ECS instances in a scaling group | Starts or stops 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 | Transition standby instances to running state | Transitions ECS instances in standby state within a scaling group to the running state. |
| RebalanceInstances | Rebalance ECS instance distribution | Rebalances the distribution of ECS instances across zones 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 | ListTagResources | Queries the labels that are attached to one or more elastic scaling resources. |
| ListTagKeys | Query tag keys of Auto Scaling resources | Queries the list of tag keys for Auto Scaling resources. |
| ListTagValues | Query tag values of Auto Scaling resources by tag key | Queries the tag values that correspond to a tag key of Auto Scaling resources. |
| TagResources | TagResources | Creates and binds tags to a specified list of 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. |
Alert
|
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 | ModifyAlarm | Modifies an event-triggered task. |
| DescribeAlarms | Query event-triggered task information | Queries information about event-triggered tasks. |
Other
|
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 a scaling configuration of the Elastic Container Instance (ECI) type. |
| DeleteEciScalingConfiguration | Delete a scaling configuration | Deletes a scaling configuration of the Elastic Container Instance (ECI) type. |
| DescribeEciScalingConfigurations | Query scaling configuration information | Queries scaling configurations of the ECI type. |
| 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 a scaling configuration of the Elastic Container Instance (ECI) type. |
| 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 | Adds a scaling group as a resource to a resource 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 | Remove one or more load balancing server groups | 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). |
| ModifyInstanceAttribute | Modify partial information of an ECS instance in a scaling group | 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. |
| DescribePatternTypes | DescribePatternTypes | 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. |
| ApplyScalingGroup | ApplyScalingGroup | Creates and manages ECI-based scaling groups by using a configuration file. You can call the ApplyScalingGroup operation to implement this feature. |
| ModifyAlertConfiguration | ModifyAlertConfiguration | 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. |
| DescribeAlertConfiguration | DescribeAlertConfiguration | 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. |
| SuspendInstanceRefresh | SuspendInstanceRefresh | 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. |
| ResumeInstanceRefresh | ResumeInstanceRefresh | Resumes an instance refresh task that is in the paused state. |
| CancelInstanceRefresh | CancelInstanceRefresh | Cancels an instance refresh task. Instances that have already been replaced or added during scale-out are retained. |
| DescribeInstanceRefreshes | DescribeInstanceRefreshes | Queries instance refresh tasks for a scaling group, including basic information and progress of each task. |
| 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, 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. |
| StartInstanceRefresh | StartInstanceRefresh | 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. |