Updated on 2024-06-25 GMT+08:00

Replicating an Image Across Regions

Function

This API is an extension one and is used to replicate a private from one region to another region to create ECSs of the same type. This allows you to migrate services between regions.

This API is an asynchronous one. If job_id is returned, the task is successfully delivered. You need to query the status of the asynchronous task. If the status is success, the task is successfully executed. If the status is failed, the task fails.

Huawei Cloud has stopped providing Windows images. This API will no longer be used to replicate Windows images.

Constraints

  • The destination region cannot be the same as the source region.
  • Encrypted images do not support cross-region replication.
  • The size of each image to be replicated across regions cannot be larger than 128 GB.
  • A maximum of five private images can be replicated at a time.
  • Private images created using ISO files do not support cross-region replication.

URI

POST /v1/cloudimages/{image_id}/cross_region_copy

Table 1 lists the parameters in the URI.
Table 1 Parameter description

Parameter

Mandatory

Type

Description

image_id

Yes

String

Specifies the image ID.

For details about how to obtain the image ID, see Querying Images.

Request

Request parameters

Parameter

Mandatory

Type

Description

name

Yes

String

Specifies the image name. For detailed description, see Image Attributes.

description

No

String

Provides supplementary information about the image. For detailed description, see Image Attributes. The value contains a maximum of 1024 characters and consists of only letters and digits. Carriage returns and angle brackets (< >) are not allowed. This parameter is left blank by default.

region

Yes

String

Specifies the ID of the destination region.

For details about how to obtain region IDs, see Listing Regions.

project_name

Yes

String

Specifies the name of the project in the destination region.

agency_name

Yes

String

Specifies the agency name.

For details about how to create an IAM agency, see How Do I Create an IAM Agency?

vault_id

No

String

Specifies the vault ID.

This parameter is mandatory if you are replicating a full-ECS image.

You can obtain the vault ID from the CBR console or by referring to Querying the Vault List.

Example Request

  • Replicating an image to project-1 of region-1
    1
    2
    3
    4
    5
    6
    7
    8
    POST https://{Endpoint}/v1/cloudimages/465076de-dc36-4aec-80f5-ef9d8009428f/cross_region_copy
    {
        "name":"test-copy-1001-4",
        "description":"test",
        "region":"region-1",
        "project_name":"project-1",
        "agency_name":"ims_copy_image"
    }
    
  • Replicating a full-ECS image to project-1 of region-1 (vault ID: 6yhtb5df-1bc3-4c3f-893e-3e4716yhgt61)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    POST https://{Endpoint}/v1/cloudimages/465076de-dc36-4aec-80f5-ef9d8009428f/cross_region_copy
    {
        "name":"test-copy-1001-4",
        "description":"test",
        "region":"region-1",
        "project_name":"project-1",
        "agency_name":"ims_copy_image",
        "vault_id":"6yhtb5df-1bc3-4c3f-893e-3e4716yhgt61"
    }
    

Response

  • Response parameters

    Parameter

    Type

    Description

    job_id

    String

    Specifies the asynchronous job ID.

  • Example response
    STATUS CODE 200
    1
    2
    3
    {
        "job_id": "edc89b490d7d4392898e19b2deb34797"
    }
    

Returned Values

  • Normal

    200

  • Abnormal

    Returned Value

    Description

    400 Bad Request

    Request error. For details, see Error Codes.

    401 Unauthorized

    Authentication failed.

    403 Forbidden

    You do not have the rights to perform the operation.

    404 Not Found

    The requested resource was not found.

    500 Internal Server Error

    Internal service error.

    503 Service Unavailable

    The service is unavailable.