Querying EVS Snapshots

Function

This API is used to query the EVS snapshots.

URI

  • URI format

    GET /v3/{project_id}/snapshots

  • Parameter description

    Parameter

    Mandatory

    Description

    project_id

    Yes

    Specifies the project ID.

    For details about how to obtain the project ID, see Obtaining a Project ID.

  • Request filter parameters

    Parameter

    Type

    Mandatory

    Description

    marker

    String

    No

    The ID of the resource from which the pagination query starts. It is the ID of the last resource on the previous page.

    offset

    Integer

    No

    Specifies the offset.

    Note

    This parameter is used when snapshots are queried by page and is used together with the limit parameter. For example, there are a total of 30 snapshots. If you set offset to 11 and limit to 10, the queried snapshot starts from the twelfth snapshot, and at most 10 snapshots can be queried at a time.

    limit

    Integer

    No

    Specifies the maximum number of query results that can be returned.

    The value ranges from 1 to 1000, and the default value is 1000. The returned value cannot exceed this limit.

    If the tenant has more than 50 snapshots in total, you are advised to use this parameter and set its value to 50 to improve the query efficiency. Examples are provided as follows:

    GET /v3/xxx/snapshots?limit=50: Queries the 1-50 snapshots. GET /v3/xxx/snapshots?offset=50&limit=50: Queries the 51-100 snapshots.

    name

    String

    No

    Specifies the snapshot name. This parameter does not support fuzzy search. The value can contain a maximum of 255 bytes.

    sort_dir

    String

    No

    Specifies the result sorting order. The default value is desc.

    • desc: indicates the descending order.

    • asc: indicates the ascending order.

    status

    String

    No

    Specifies the snapshot status. For details, see EVS Snapshot Status.

    volume_id

    String

    No

    Specifies the ID of the snapshot's source disk.

    name~

    String

    No

    Specifies the fuzzy search by disk name. This parameter is supported when the request version is 3.31 or later.

    status~

    String

    No

    Specifies the fuzzy search by disk status. This parameter is supported when the request version is 3.31 or later.

    volume_id~

    String

    No

    Specifies the fuzzy search by the ID of the disk that corresponds to the snapshot. This parameter is supported when the request version is 3.31 or later.

    sort_key

    String

    No

    Specifies the sorting query by name (sort_key=name). This parameter is supported when the request version is 3.30 or later. The default sorting order is the descending order.

    with_count

    Boolean

    No

    Specifies to return parameter counts in the response. This parameter indicates the number of snapshots queried. This parameter is in the with_count=true format and is supported when the request version is 3.45 or later.

    This parameter can be used together with parameters marker, limit, sort_key, sort_dir, or offset in the table. It cannot be used with other filter parameters.

Request

The following example shows how to query the snapshots in the available state.

  • Example request

    GET https://{endpoint}/v3/{project_id}/snapshots?status=available
    

Response

  • Parameter description

    Parameter

    Type

    Description

    snapshots

    Object

    Specifies the snapshot information. For details, see Parameters in the snapshots field.

    snapshots_links

    list<map<String,String>>

    Specifies the query position marker in the snapshot list. This parameter is at the same level as parameter snapshots in the response body. This parameter is returned only when parameter limit is specified in the request, and this parameter indicates that only some snapshots are returned in this query.

    count

    Object

    Specifies the number of records returned in this query.

    error

    Object

    Specifies the error message returned when an error occurs. For details, see Parameters in the error field.

  • Parameters in the snapshots field

    Parameter

    Type

    Description

    id

    String

    Specifies the snapshot ID.

    status

    String

    Specifies the snapshot status. For details, see EVS Snapshot Status.

    name

    String

    Specifies the snapshot name.

    description

    String

    Specifies the snapshot description.

    created_at

    String

    Specifies the time when the snapshot was created.

    Time format: UTC YYYY-MM-DDTHH:MM:SS.XXXXXX

    metadata

    Object

    Specifies the snapshot metadata.

    If metadata contains the __system__enableActive field, the snapshot is automatically created during the backup of a server.

    volume_id

    String

    Specifies the ID of the snapshot's source disk.

    size

    Integer

    Specifies the snapshot size, in GB.

    updated_at

    String

    Specifies the time when the snapshot was updated.

    Time format: UTC YYYY-MM-DDTHH:MM:SS.XXXXXX

  • Parameters in the error field

    Parameter

    Type

    Description

    message

    String

    The error message returned if an error occurs.

    code

    String

    The error code returned if an error occurs.

    For details about the error code, see Error Codes.

  • Example response

    {
        "count": 4,
        "snapshots": [
            {
                "created_at": "2016-02-16T16:54:14.981520",
                "description": null,
                "id": "b836dc3d-4e10-4ea4-a34c-8f6b0460a583",
                "metadata": { },
                "name": "test01",
                "size": 1,
                "status": "available",
                "volume_id": "ba5730ea-8621-4ae8-b702-ff0ffc12c209",
                "updated_at": null
            },
            {
                "created_at": "2016-02-16T16:54:19.475397",
                "description": null,
                "id": "83be494d-329e-4a78-8ac5-9af900f48b95",
                "metadata": { },
                "name": "test02",
                "size": 1,
                "status": "available",
                "volume_id": "ba5730ea-8621-4ae8-b702-ff0ffc12c209",
                "updated_at": null
            },
            {
                "created_at": "2016-02-16T16:54:24.367414",
                "description": null,
                "id": "dd360f46-7593-4d35-8f2c-5566fd0bd79e",
                "metadata": { },
                "name": "test03",
                "size": 1,
                "status": "available",
                "volume_id": "ba5730ea-8621-4ae8-b702-ff0ffc12c209",
                "updated_at": null
            },
            {
                "created_at": "2016-02-16T16:54:29.766740",
                "description": null,
                "id": "4c29796a-8cf4-4482-9afc-e66da9a81240",
                "metadata": { },
                "name": "test04",
                "size": 1,
                "status": "available",
                "volume_id": "ba5730ea-8621-4ae8-b702-ff0ffc12c209",
                "updated_at": null
            }
        ],
        "snapshots_links": null
    }
    

    or

    {
        "error": {
            "message": "XXXX",
            "code": "XXX"
        }
    }
    

    In the preceding example, error indicates a general error, for example, badRequest or itemNotFound. An example is provided as follows:

    {
        "itemNotFound": {
            "message": "XXXX",
            "code": "XXX"
        }
    }
    

Status Codes

  • Normal

    200

Error Codes

For details, see Error Codes.