Rolls back an application.
Debugging
Authorization information
The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action
policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:
- Operation: the value that you can use in the Action element to specify the operation on a resource.
- Access level: the access level of each operation. The levels are read, write, and list.
- Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
- The required resource types are displayed in bold characters.
- If the permissions cannot be granted at the resource level,
All Resources
is used in the Resource type column of the operation.
- Condition Key: the condition key that is defined by the cloud service.
- Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
Operation | Access level | Resource type | Condition key | Associated operation |
---|---|---|---|---|
sae:RollbackApplication | update |
|
| none |
Request syntax
PUT /pop/v1/sam/app/rollbackApplication HTTP/1.1
Request parameters
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
AppId | string | Yes | The ID of the application. | 017f39b8-dfa4-4e16-a84b-1dcee4b1**** |
VersionId | string | Yes | The ID of the application version. Call the ListAppVersions operation to obtain the version ID. | 0026ff7f-2b57-4127-bdd0-9bf202bb9**** |
BatchWaitTime | integer | No | The wait time between batches. Unit: seconds. | 10 |
MinReadyInstances | integer | No | The minimum number of available instances. Take note of the following rules:
Note
Make sure that at least one instance is available during application deployment and rollback to prevent business interruptions.
| 1 |
MinReadyInstanceRatio | integer | No | The percentage of the minimum number of available instances. Take note of the following rules:
Note
When both MinReadyInstance and MinReadyInstanceRatio are specified and MinReadyInstanceRatio is set to a number from 0 to 100, the value of MinReadyInstanceRatio takes precedence.** For example, if MinReadyInstances is set to **5, and MinReadyInstanceRatio is set to 50, the minimum number of available instances is set to the nearest integer rounded up from the calculated result of the following formula: Current number of instances × 50%.
| -1 |
UpdateStrategy | string | No | The deployment policy. If the minimum number of available instances is 1, the value of the UpdateStrategy parameter is an empty string (""). If the minimum number of available instances is larger than 1, specify this parameter based on your requirements. Examples:
The following table describes the parameters that are used in the preceding statements.
| {"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}} |
AutoEnableApplicationScalingRule | string | No | Specifies whether to automatically enable an auto scaling policy for the application. Take note of the following rules:
| true |
Response parameters
Examples
Sample success responses
JSON
format
{
"RequestId": "91F93257-7A4A-4BD3-9A7E-2F6EAE6D****",
"Message": "success",
"TraceId": "0a98a02315955564772843261e****",
"Data": {
"ChangeOrderId": "01db03d3-3ee9-48b3-b3d0-dfce2d88****",
"IsNeedApproval": true
},
"ErrorCode": "Null\n",
"Code": "200",
"Success": true
}
Error codes
HTTP status code | Error code | Error message | Description |
---|---|---|---|
400 | InvalidApplication.NotFound | The current application does not exist. | - |
400 | InvalidParameter.NotEmpty | You must specify the parameter %s. | - |
400 | InvalidParameter.Obviously | The specified parameter is invalid {%s}. | - |
400 | InvalidParameter.WithMessage | The parameter is invalid {%s}: %s | - |
400 | NoComputeResourceQuota.Exceed | Your compute resource is insufficient. Please contact us to raise the quota. | - |
400 | user.indebt | The user has an outstanding payment. | - |
400 | NoComputeResourceQuota.App.Exceed | You can create %s instances for each application. Please submit a ticket to raise the quota. | You can create %s instances for each application. please join the DingTalk group 32874633 for technical support. |
400 | NoComputeResourceQuota.User.Exceed | Your account is limited to create %s instances. Please submit a ticket to raise the quota. | Your account is limited to create %s instances. please join the DingTalk group 32874633 for technical support. |
400 | System.Upgrading | The system is being upgraded. Please try again later. | - |
400 | Application.ChangerOrderRunning | An application change process is in progress. Please try again later. | An application change process is in progress. Please try again later. |
400 | Application.InvalidStatus | The application status is abnormal. Please try again later. | The application status is abnormal. Please try again later. |
400 | Application.NotDeployYet | The application has not been deployed. Please deploy it and try again. | The application has not been deployed. Please deploy it and try again. |
400 | rollback.error | Failed to roll back. | Rollback error |
400 | Application.MissingJdk | Your application must at least contain a JDK component. | - |
400 | JarApplication.MissingJdk | A FatJar application must contain JDK. | - |
400 | PandoraApplication.MissingJdk | The Pandora application is missing a JDK component. | - |
400 | WarApplication.MissingJdkWebcontainer | A War application must contain JDK and Tomcat. | - |
400 | InvalidComponent.NotFound | The current component (such as JDK, Tomcat, or EDASWebContainer) does not exist. | - |
400 | InvalidHostnameIp.Invalid | The hostname and/or IP is invalid: Hostname [%s], IP [%s]. | - |
400 | InvalidInstanceSpecification.Unsupported | The instance specification is not supported: CPU [%s], memory [%s]. | - |
400 | InvalidPackageType.NotFound | The package type must be War, FatJar, or Image. | - |
400 | LogService.ConfigQuotaExceed | The maximum number of Log Service configs is exceeded. | The maximum number of Log Service configs is exceeded, please join the DingTalk group 32874633 for technical support. |
400 | LogService.InternalError | An exception occurred while calling Log Service. Please submit a ticket to solve the problem. | An exception occurred while calling log service. please join the DingTalk group 32874633 for technical support. |
400 | LogService.LogDirInvalid | The log collection path is invalid. | The log collection path is invalid. |
400 | LogService.NotAvailable | Log Service is unavailable. Please activate Log Service first. | The log service is not available. Please open the log service first. |
400 | LogService.ProjectNumQuotaExceed | The maximum number of Log Service projects is exceeded. | The maximum number of Log Service projects is exceeded, please join the DingTalk group 32874633 for technical support. |
400 | VolumnPath.Conflict | Conflict between log collection directory and persistent storage directory. | Conflict between log collection directory and persistent storage directory. |
400 | MountConflict.ConfigMap | Conflict detected for ConfigMap path %s. | - |
400 | NotFound.ConfigMap | The ConfigMap object (ID: %s) does not exist. | - |
400 | NotFound.ConfigMapKey | The key %s of ConfigMap object (ID: %s) does not exist. | - |
400 | MinReadyInstances.Not.Smaller.Replicas | The minimum number of available instances must be less than the number of application instances. | The minimum number of available instances must be less than the number of application instances. |
400 | MinReadyInstanceRatio.Invalid | The ratio of minimum available instances must be between 0 and 100. | - |
400 | Package.Version.Too.Long | The maximum length of package version is exceeded. | This package version is too long. |
400 | App.Package.Version.Exists | The package version of application already exists. | The package version of application already exists. |
400 | Slb.Occupied | The SLB instance is occupied. | This SLB is occupied. |
400 | Slb.Tag.Not.Qualified | The current SLB instance cannot be reused because it may have been occupied by %s. | The current SLB instance cannot be reused because it may have been occupied by %s. |
400 | InvalidParameter.FileName | The application deployment package name is invalid. This name can contain only alphanumeric characters, hyphens (-), and underscores (_). For deploying java package, you can upload JAR files only if the selected deployment version supports JAR file. Otherwise, upload WAR files only. For deploying php package, you can upload ZIP files only if the selected deployment version supports ZIP file. | - |
400 | vswitch.not.exist | The specified vSwitch does not exist. | The specified vSwitch does not exist. Please change the vSwitch. |
404 | InvalidNamespaceId.NotFound | The specified NamespaceId does not exist. | - |
For a list of error codes, visit the Service error codes.
Change history
Change time | Summary of changes | Operation |
---|---|---|
2022-02-21 | The Error code has changed | View Change Details |