RollbackApplication

更新时间:
复制 MD 格式

Rolls back an application.

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

The table below describes the authorization required to call this API. You can define it in a Resource Access Management (RAM) policy. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that supports authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding Alibaba Cloud Resource Name (ARN) in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys applicable across all RAM-supported services.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

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:

  • 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

MinReadyInstanceRatio

integer

No

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

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:

  • 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}}

AutoEnableApplicationScalingRule

string

No

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 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

  • false

true

ErrorCode

string

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

Code

string

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

Success

boolean

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

  • true

  • false

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.