All Products
Search
Document Center

:RollbackApplication

Last Updated:Nov 01, 2024

Rolls back an application.

Debugging

You can run this interface directly in OpenAPI Explorer, saving you the trouble of calculating signatures. After running successfully, OpenAPI Explorer can automatically generate SDK code samples.

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.
OperationAccess levelResource typeCondition keyAssociated operation
sae:RollbackApplicationupdate
  • All Resources
    *
    none
none

Request syntax

PUT /pop/v1/sam/app/rollbackApplication HTTP/1.1

Request parameters

ParameterTypeRequiredDescriptionExample
AppIdstringYes

The ID of the application.

017f39b8-dfa4-4e16-a84b-1dcee4b1****
VersionIdstringYes

The ID of the application version. Call the ListAppVersions operation to obtain the version ID.

0026ff7f-2b57-4127-bdd0-9bf202bb9****
BatchWaitTimeintegerNo

The wait time between batches. Unit: seconds.

10
MinReadyInstancesintegerNo

The minimum number of available instances. Take note of the following rules:

  • If you set the value to 0, business interruptions occur when the application is updated.
  • If you set the value to **-1**, the minimum number of available instances is automatically set to a system-recommended value. The value is the nearest integer to which the calculated result of the following formula is rounded up: Current number of instances × 25%. For example, if five instances are available, the minimum number of available instances is calculated by using the following formula: 5 × 25% = 1.25. In this case, the minimum number of available instances is 2.
Note Make sure that at least one instance is available during application deployment and rollback to prevent business interruptions.
1
MinReadyInstanceRatiointegerNo

The percentage of the minimum number of available instances. Take note of the following rules:

  • If you set the value to -1, the minimum number of available instances is not determined based on this parameter. Default value: -1.
  • If you set the value to a number from 0 to 100, the minimum number of available instances is calculated by using the following formula: Current number of instances × (Value of MinReadyInstanceRatio × 100%). The value is the nearest integer rounded up from the calculated result. For example, if the percentage is set to 50% and five instances are available, the minimum number of available instances is 3.
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
UpdateStrategystringNo

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:

  • Perform canary release for one instance and release the remaining instances in two batches automatically with a one-minute interval between the deployment of each instance:

    {"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}

  • Perform canary release for one instance and release the remaining instances in two batches manually:

    {"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"manual"},"grayUpdate":{"gray":1}}

  • Release the instances in two batches automatically with no interval between the deployment of each instance:

    {"type":"BatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":0}}

The following table describes the parameters that are used in the preceding statements.

  • type: the type of the release policy. Valid values: GrayBatchUpdate and BatchUpdate.

  • batchUpdate: the phased release policy.

    • batch: the number of release batches.
    • releaseType: the processing method for the batches. Valid values: auto and manual.
    • batchWaitTime: the interval between release batches. Unit: seconds.
  • grayUpdate: the number of release batches in the phased release after a canary release. This parameter is returned only if the type parameter is set to GrayBatchUpdate.

{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}
AutoEnableApplicationScalingRulestringNo

Specifies whether to automatically enable an auto scaling policy for the application. Take note of the following rules:

  • true: turns on Logon-free Sharing
  • false: turns off Logon-free Sharing
true

Response parameters

ParameterTypeDescriptionExample
object

The returned data.

RequestIdstring

The ID of the request.

91F93257-7A4A-4BD3-9A7E-2F6EAE6D****
Messagestring

The message returned for the operation.

success
TraceIdstring

The trace ID that is used to query the details of the request.

0a98a02315955564772843261e****
Dataobject

The response.

ChangeOrderIdstring

The ID of the change process.

01db03d3-3ee9-48b3-b3d0-dfce2d88****
IsNeedApprovalboolean

Specifies whether approval is required when a RAM user performs release. Take note of the following rules:

  • true
  • false
true
ErrorCodestring

The error code returned if the request failed. Take note of the following rules:

  • The ErrorCode parameter is not returned if the request succeeds.
  • If the call fails, the ErrorCode parameter is returned. For more information, see the "Error codes" section of this topic.
Null
Codestring

The HTTP status code. Take note of the following rules:

  • 2xx: The call was successful.
  • 3xx: The call was redirected.
  • 4xx: The call failed.
  • 5xx: A server error occurred.
200
Successboolean

Indicates whether the application is successfully rolled back. Take note of the following rules:

  • true
  • false
true

Examples

Sample success responses

JSONformat

{
  "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 codeError codeError messageDescription
400InvalidApplication.NotFoundThe current application does not exist.-
400InvalidParameter.NotEmptyYou must specify the parameter %s.-
400InvalidParameter.ObviouslyThe specified parameter is invalid {%s}.-
400InvalidParameter.WithMessageThe parameter is invalid {%s}: %s-
400NoComputeResourceQuota.ExceedYour compute resource is insufficient. Please contact us to raise the quota.-
400user.indebtThe user has an outstanding payment.-
400NoComputeResourceQuota.App.ExceedYou 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.
400NoComputeResourceQuota.User.ExceedYour 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.
400System.UpgradingThe system is being upgraded. Please try again later.-
400Application.ChangerOrderRunningAn application change process is in progress. Please try again later.An application change process is in progress. Please try again later.
400Application.InvalidStatusThe application status is abnormal. Please try again later.The application status is abnormal. Please try again later.
400Application.NotDeployYetThe application has not been deployed. Please deploy it and try again.The application has not been deployed. Please deploy it and try again.
400rollback.errorFailed to roll back.Rollback error
400Application.MissingJdkYour application must at least contain a JDK component.-
400JarApplication.MissingJdkA FatJar application must contain JDK.-
400PandoraApplication.MissingJdkThe Pandora application is missing a JDK component.-
400WarApplication.MissingJdkWebcontainerA War application must contain JDK and Tomcat.-
400InvalidComponent.NotFoundThe current component (such as JDK, Tomcat, or EDASWebContainer) does not exist.-
400InvalidHostnameIp.InvalidThe hostname and/or IP is invalid: Hostname [%s], IP [%s].-
400InvalidInstanceSpecification.UnsupportedThe instance specification is not supported: CPU [%s], memory [%s].-
400InvalidPackageType.NotFoundThe package type must be War, FatJar, or Image.-
400LogService.ConfigQuotaExceedThe 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.
400LogService.InternalErrorAn 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.
400LogService.LogDirInvalidThe log collection path is invalid.The log collection path is invalid.
400LogService.NotAvailableLog Service is unavailable. Please activate Log Service first.The log service is not available. Please open the log service first.
400LogService.ProjectNumQuotaExceedThe 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.
400VolumnPath.ConflictConflict between log collection directory and persistent storage directory.Conflict between log collection directory and persistent storage directory.
400MountConflict.ConfigMapConflict detected for ConfigMap path %s.-
400NotFound.ConfigMapThe ConfigMap object (ID: %s) does not exist.-
400NotFound.ConfigMapKeyThe key %s of ConfigMap object (ID: %s) does not exist.-
400MinReadyInstances.Not.Smaller.ReplicasThe 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.
400MinReadyInstanceRatio.InvalidThe ratio of minimum available instances must be between 0 and 100.-
400Package.Version.Too.LongThe maximum length of package version is exceeded.This package version is too long.
400App.Package.Version.ExistsThe package version of application already exists.The package version of application already exists.
400Slb.OccupiedThe SLB instance is occupied.This SLB is occupied.
400Slb.Tag.Not.QualifiedThe 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.
400InvalidParameter.FileNameThe 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.-
400vswitch.not.existThe specified vSwitch does not exist.The specified vSwitch does not exist. Please change the vSwitch.
404InvalidNamespaceId.NotFoundThe specified NamespaceId does not exist.-

For a list of error codes, visit the Service error codes.

Change history

Change timeSummary of changesOperation
2022-02-21The Error code has changedView Change Details