# ApplySnapshot

## 1. 接口描述

本接口(ApplySnapshot)用于回滚快照到原云盘。

{% hint style="info" %}
**注意事项**

* 用于回滚的快照必须处于NORMAL状态。快照状态可以通过[`DescribeSnapshots`](https://docs.console.zenlayer.com/api/cn/compute/zec/disk-snapshot/describesnapshots)接口查询，见输出参数中`SnapshotState`字段解释。
  {% endhint %}

## 2. 请求参数

以下请求参数列表仅列出了接口中需要的请求参数

| 参数名称       | 必选 | 类型     | 描述      |
| ---------- | -- | ------ | ------- |
| snapshotId | 是  | String | 快照唯一ID。 |
| diskId     | 是  | String | 云硬盘ID。  |

## 3. 响应结果

| 参数名称      | 类型     | 描述                                                       |
| --------- | ------ | -------------------------------------------------------- |
| requestId | String | <p>唯一请求 ID。</p><p>每次请求都会返回。定位问题时需要提供该次请求的 requestId。</p> |

## 4. 代码示例

{% tabs %}
{% tab title="示例" %}
**1. 回滚快照**

```json
POST /api/v2/zec HTTP/1.1
Host: console.zenlayer.com
Content-Type: application/json
X-ZC-Action: ApplySnapshot
<Common Request Params>

Request：
{
    "snapshotId": "snapshotId1",
    "diskId": "disk1"
}

Response：
{
  "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
  "response": {
    "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3"
  }
}
```

{% endtab %}
{% endtabs %}

## 5. 开发者工具

Zenlayer Cloud API 2.0 提供了配套的[开发工具集（SDK）](https://docs.console.zenlayer.com/api/cn/api-introduction/toolkit)，未来会陆续支持更多开发语言，方便快速接入和使用Zenlayer的产品和服务。

## 6. 错误码

下面包含业务逻辑中遇到的错误码，其他错误码见[公共错误码](https://docs.console.zenlayer.com/api/cn/api-introduction/instruction/commonerrorcode)

| HTTP状态码 | 错误码                                            | 说明            |
| ------- | ---------------------------------------------- | ------------- |
| 404     | INVALID\_DISK\_NOT\_FOUND                      | 云盘不存在。        |
| 404     | INVALID\_DISK\_SNAPSHOT\_NOT\_FOUND            | 云盘快照实例不存在。    |
| 400     | OPERATION\_DENIED\_DISK\_STATUS                | 云盘状态不允许操作。    |
| 400     | OPERATION\_DENIED\_DISK\_SNAPSHOT\_STATUS      | 云盘快照实例状态不支持。  |
| 400     | OPERATION\_DENIED\_SNAPSHOT\_DISK\_REINSTALLED | 快照关联的系统盘已经重装。 |
