Rolls back an application.
Debugging
Request headers
This operation does not have operation-specific request headers and uses only common request headers. For more information, see Common request and response headers.
Request syntax
PUT /pop/v1/sam/app/rollbackApplication HTTP/1.1
Request parameters
Parameter | Type | Position | Required | Example | Description |
---|---|---|---|---|---|
AppId | String | Query | Yes | 017f39b8-dfa4-4e16-a84b-1dcee4b1**** | The application ID. |
VersionId | String | Query | Yes | 0026ff7f-2b57-4127-bdd0-9bf202bb9**** | The ID of the application version. Call the ListAppVersions operation to obtain the version ID. |
BatchWaitTime | Integer | Query | No | 10 | The interval between two consecutive batches. Unit: seconds. |
MinReadyInstances | Integer | Query | No | 1 | The minimum number of available instances. Valid values:
Note To ensure business continuity, make sure that at least one instance is available during application deployment and rollback. |
MinReadyInstanceRatio | Integer | Query | No | -1 | The ratio of the minimum number of available instances to the current number of instances. Valid values:
Note If the MinReadyInstance and MinReadyInstanceRatio parameters are configured and the MinReadyInstanceRatio parameter is set to a number from 0 to 100, the value of the MinReadyInstanceRatio parameter takes precedence. For example, if the MinReadyInstances parameter is set to 5, and the MinReadyInstanceRatio parameter 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%. |
UpdateStrategy | String | Query | No | {"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}} | The release 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 greater than 1, the following policies can be configured:
The following parameters are involved:
|
AutoEnableApplicationScalingRule | String | Query | No | true | Specifies whether to automatically enable an auto scaling policy for the application Valid values:
|
Response parameters
Parameter | Type | Example | Description |
---|---|---|---|
RequestId | String | 91F93257-7A4A-4BD3-9A7E-2F6EAE6D**** | The request ID. |
Message | String | success | The returned message. |
TraceId | String | 0a98a02315955564772843261e**** | The trace ID that is used to query the details of the request. |
Data | Object | The returned result. | |
ChangeOrderId | String | 01db03d3-3ee9-48b3-b3d0-dfce2d88**** | The ID of the change order. |
IsNeedApproval | Boolean | true | Indicates whether approval is required when you release a change order as a RAM user. Valid values:
|
ErrorCode | String | Null | The error code. Valid values:
|
Code | String | 200 | The HTTP status code. Valid values:
|
Success | Boolean | true | Indicates whether the application was rolled back. Valid values:
|
Examples
Sample requests
PUT /pop/v1/sam/app/rollbackApplication?AppId=017f39b8-dfa4-4e16-a84b-1dcee4b1****&VersionId=0026ff7f-2b57-4127-bdd0-9bf202bb9****&BatchWaitTime=10&MinReadyInstances=1&MinReadyInstanceRatio=-1&UpdateStrategy={"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}&AutoEnableApplicationScalingRule=true HTTP/1.1
Host:sae.aliyuncs.com
Content-Type:application/json
Sample success responses
XML
format
HTTP/1.1 200 OK
Content-Type:application/xml
<RollbackApplicationResponse>
<RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>
<Message>success</Message>
<TraceId>0a98a02315955564772843261e****</TraceId>
<Data>
<ChangeOrderId>01db03d3-3ee9-48b3-b3d0-dfce2d88****</ChangeOrderId>
<IsNeedApproval>true</IsNeedApproval>
</Data>
<Code>200</Code>
<Success>true</Success>
</RollbackApplicationResponse>
JSON
format
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "91F93257-7A4A-4BD3-9A7E-2F6EAE6D****",
"Message" : "success",
"TraceId" : "0a98a02315955564772843261e****",
"Data" : {
"ChangeOrderId" : "01db03d3-3ee9-48b3-b3d0-dfce2d88****",
"IsNeedApproval" : true
},
"Code" : "200",
"Success" : true
}
Error codes
HttpCode | Error code | Error message | Description |
---|---|---|---|
400 | InvalidApplication.NotFound | The current application does not exist. | The specified application is not found. |
400 | InvalidParameter.NotEmpty | You must specify the parameter %s. | The value of the %s parameter is invalid. This parameter cannot be left empty. |
400 | InvalidParameter.Obviously | The specified parameter is invalid {%s}. | The value of the {%s} parameter is invalid. |
400 | InvalidParameter.WithMessage | The parameter is invalid {%s}: %s | The value %s of the {%s} parameter is invalid. |
400 | user.indebt | The user has an outstanding payment. | The current user has overdue payments. |
400 | NoComputeResourceQuota.App.Exceed | You can create %s instances for each application. Please submit a ticket to raise the quota. | A maximum of %s instances can be created for each application. 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. | A maximum of %s instances can be created within your account. Join the DingTalk group 32874633 for technical support. |
400 | System.Upgrading | The system is being upgraded. Please try again later. | The system is being upgraded. Try again later. |
400 | Application.ChangerOrderRunning | An application change process is in progress. Please try again later. | An application change is in progress. Try again later. |
400 | Application.InvalidStatus | The application status is abnormal. Please try again later. | The application is in an abnormal state. Try again later. |
400 | Application.NotDeployYet | The application has not been deployed. Please deploy it and try again. | The application is not deployed. Deploy the application and try again. |
400 | rollback.error | Failed to roll back. | An error occurred during the rollback. |
400 | Application.MissingJdk | Your application must at least contain a JDK component. | No JDK component is specified. |
400 | JarApplication.MissingJdk | A FatJar application must contain JDK. | No JDK is specified for the application whose package type is FatJar. |
400 | PandoraApplication.MissingJdk | The Pandora application is missing a JDK component. | No JDK is found for the Pandora application. |
400 | WarApplication.MissingJdkWebcontainer | A War application must contain JDK and Tomcat. | No JDK or Tomcat is specified for the WAR application. You must specify both JDK and Tomcat. |
400 | InvalidComponent.NotFound | The current component (such as JDK, Tomcat, or EDASWebContainer) does not exist. | The specified component (JDK, Tomcat, or EDASWebContainer) is not found. |
400 | InvalidHostnameIp.Invalid | The hostname and/or IP is invalid: Hostname [%s], IP [%s]. | The hostname [%s] or the IP address [%s] is invalid. |
400 | InvalidInstanceSpecification.Unsupported | The instance specification is not supported: CPU [%s], memory [%s]. | The following instance type is not supported: CPU[%s], Memory[%s]. |
400 | InvalidPackageType.NotFound | The package type must be War, FatJar, or Image. | The PackageType parameter is not set to War, FatJar, or Image. |
400 | LogService.ConfigQuotaExceed | The maximum number of Log Service configs is exceeded. | The number of logging configurations of Log Service exceeds the limit. 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. | Log Service failed to be called. Join the DingTalk group 32874633 for technical support. |
400 | LogService.LogDirInvalid | The log collection path is invalid. | The path for log collection is invalid. |
400 | LogService.NotAvailable | Log Service is unavailable. Please activate Log Service first. | Log Service is unavailable. Active Log Service. |
400 | LogService.ProjectNumQuotaExceed | The maximum number of Log Service projects is exceeded. | The number of Log Service projects exceeds the limit. Join the DingTalk group 32874633 for technical support. |
400 | VolumnPath.Conflict | Conflict between log collection directory and persistent storage directory. | The log collection directory conflicts with the persistent storage directory. |
400 | MountConflict.ConfigMap | Conflict detected for ConfigMap path %s. | The %s path on which you want to mount the ConfigMap is occupied. |
400 | NotFound.ConfigMap | The ConfigMap object (ID: %s) does not exist. | The specified ConfigMap whose ID is %s does not exist. |
400 | NotFound.ConfigMapKey | The key %s of ConfigMap object (ID: %s) does not exist. | The %s key of the ConfigMap whose ID is %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 is larger than or equal to the total number of instances. |
400 | MinReadyInstanceRatio.Invalid | The ratio of minimum available instances must be between 0 and 100. | The value of the MinReadyInstanceRatio parameter is invalid. The parameter value must be an integer from 0 to 100. |
400 | Package.Version.Too.Long | The maximum length of package version is exceeded. | The length of the version number of the deployment package exceeds the limit. |
400 | App.Package.Version.Exists | The package version of application already exists. | The version number of the deployment package already exists. |
400 | Slb.Occupied | The SLB instance is occupied. | The SLB instance is occupied. |
400 | Slb.Tag.Not.Qualified | The current SLB instance cannot be reused because it may have been occupied by %s. | The SLB instance is being used by %s. We recommend that you choose another SLB instance. |
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. | The name of the application package is invalid. The name can contain only letters, digits, hyphens (-), and underscores (_). To use JAR packages, make sure that the specified version supports JAR packages. Otherwise, you can only use WAR packages to deploy Java applications. To use zip files to deploy PHP packages, make sure that the specified version supports using zip files. |
400 | vswitch.not.exist | The specified vSwitch does not exist. | The specified vSwitch does not exist. |
404 | InvalidNamespaceId.NotFound | The specified NamespaceId does not exist. | The specified namespace ID does not exist. |
For a list of error codes, see Service error codes.