Rolls back an application.
Try it now
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
sae:RollbackApplication |
update |
*All Resource
|
None | 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 elements
|
Element |
Type |
Description |
Example |
|
object |
The returned data. |
||
| RequestId |
string |
The ID of the request. |
91F93257-7A4A-4BD3-9A7E-2F6EAE6D**** |
| Message |
string |
The message returned for the operation. |
success |
| TraceId |
string |
The trace ID that is used to query the details of the request. |
0a98a02315955564772843261e**** |
| Data |
object |
The response. |
|
| ChangeOrderId |
string |
The ID of the change process. |
01db03d3-3ee9-48b3-b3d0-dfce2d88**** |
| IsNeedApproval |
boolean |
Specifies whether approval is required when a RAM user performs release. Take note of the following rules:
|
true |
| ErrorCode |
string |
The error code returned if the request failed. Take note of the following rules:
|
Null |
| Code |
string |
The HTTP status code. Take note of the following rules:
|
200 |
| Success |
boolean |
Indicates whether the application is successfully rolled back. Take note of the following rules:
|
true |
Examples
Success response
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. |
See Error Codes for a complete list.
Release notes
See Release Notes for a complete list.