All Products
Search
Document Center

Simple Application Server:CreateCustomImage

Last Updated:Jan 15, 2026

Creates a custom image based on a snapshot of a simple application server.

Operation description

A custom image is created from a snapshot of a simple application server. You can use a custom image to create multiple simple application servers that have the same configurations. You can also share custom images to ECS and use the shared images to create ECS instances or replace the OSs of existing ECS instances. For more information about custom images, see Overview of custom images.

You must create a system disk snapshot of a simple application server before you create a custom image based on the snapshot. For more information, see CreateSnapshot.

Note

If you need the data on the data disk of a simple application server when you create a custom image, create a snapshot for the data disk first.

Before you create a custom image, take note of the following items:

  • The custom image and the corresponding simple application server must reside in the same region.

  • The maximum number of custom images that you can create is 3 times the number of simple application servers that you have, but cannot exceed 15.

  • You can directly create a custom image only based on the system disk snapshot of a simple application server. If you want a custom image to contain the data on the data disk of the simple application server, you must select a data disk snapshot in addition to a system disk snapshot when you create the custom image.

  • If a simple application server is released due to expiration or refunds, the custom images that are created based on the server are also released.

  • Resetting the system or changing the image of a simple application server clears the disk data on the server. Back up the data as needed.

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

swas-open:CreateCustomImage

create

*CustomImage

acs:swas-open:{#regionId}:{#accountId}:customimage/*

None None

Request parameters

Parameter

Type

Required

Description

Example

RegionId

string

Yes

The region ID of the database. You can call the ListRegions operation to query the most recent region list.

cn-hangzhou

ClientToken

string

No

The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The value of ClientToken can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see How to ensure idempotence.

123e4567-e89b-12d3-a456-426655440000

InstanceId

string

Yes

The ID of the simple application server.

ace0706b2ac4454d984295a94213****

ImageName

string

Yes

The name of the custom image. The name must be 2 to 128 characters in length, and can contain letters, digits, colons (:), underscores (_), and hyphens (-). The name must start with a letter or a digit. This parameter is empty by default.

customImage-test

SystemSnapshotId

string

No

The ID of the system disk snapshot.

s-acscasca****

Description

string

No

The description of the custom image.

test

DataSnapshotId

string

No

The ID of the data disk snapshot.

s-acscasca****

Tag

array<object>

No

The tags that you want to add to the custom image. You can specify up to 20 tags.

object

No

The tags of the custom image.

Key

string

No

The key of tag N that you want to add to the custom image. Valid values of N: 1 to 20.

The tag key cannot be an empty string. The tag key can be up to 64 characters in length and cannot contain http:// or https://. The tag key cannot start with acs: or aliyun.

TestKey

Value

string

No

The value of tag N that you want to add to the custom image. Valid values of N: 1 to 20.

The tag value can be an empty string. The tag value can be up to 64 characters in length and cannot contain http:// or https://.

TestValue

ResourceGroupId

string

No

The resource group ID.

rg-aek2bti7cf7****

Response elements

Element

Type

Description

Example

object

RequestId

string

The request ID.

473469C7-AA6F-4DC5-B3DB-A3DC0DE3****

ImageId

string

The custom image ID.

m-csaascsaccscs****

Examples

Success response

JSON format

{
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
  "ImageId": "m-csaascsaccscs****"
}

Error codes

HTTP status code

Error code

Error message

Description

400 InvalidParam.DataSnapshotIdNotFound The specified parameter dataSnapshotId is not found.
400 InvalidParam.SystemSnapshotIdNotFound The specified parameter systemSnapshotId is not found.
400 InvalidParam.IllegalImageName The specified parameter imageName is illegal. The specified image name is invalid.
400 ImageNameAlreadyExist The image name already exists. The specified image name already exists.
400 CustomImageQuotaLimit The maximum number of custom image in this region is exceeded. The maximum number of custom images within this region has been reached.
400 InvalidParam.SystemSnapshotIdNotSupport You cannot create custom images in the specified parameter system snapshotId.
500 InternalError An error occurred while processing your request.
403 IncorrectInstanceStatus The state of the current instance does not support this operation.
404 InvalidInstanceId.NotFound The specified InstanceId does not exist.

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.