> For the complete documentation index, see [llms.txt](https://docs.console.zenlayer.com/api-reference/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.console.zenlayer.com/api-reference/cn/zec/instance/placement-group/modifyinstanceplacement.md).

# ModifyInstancePlacement

## 1. 接口描述

本接口(ModifyInstancePlacement)用于将实例加入置放组、从一个置放组迁移到另一个、或从置放组移除。

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

* `placementGroupId` 为空时，表示将实例从当前所在置放组移除。
* `placementGroupId` 不为空时，表示将实例加入指定置放组；若实例已在其它置放组，则会先从原置放组移除再加入新置放组（即迁移）。
  {% endhint %}

## 2. 请求参数

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

| 参数名称             | 必选 | 类型     | 描述                                                                                                                                                                |
| ---------------- | -- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| instanceId       | 是  | String | <p>实例ID。</p><p>可通过调用 <a href="/api-reference/cn/zec/instance/describeinstances.md">DescribeInstances</a> 获取。</p>                                                  |
| placementGroupId | 否  | String | <p>置放组ID。</p><p>为空表示从当前置放组移除。</p><p>可通过调用 <a href="/api-reference/cn/zec/instance/placement-group/describeplacementgroups.md">DescribePlacementGroups</a> 获取。</p> |

## 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: ModifyInstancePlacement
<Common Request Params>

Request：
{
  "instanceId": "instance-xxxxxxxx",
  "placementGroupId": "placementgroup-yyyyyyyy"
}

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

**2. 将实例从当前所在置放组移除。**

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

Request：
{
  "instanceId": "instance-xxxxxxxx"
}

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

{% endtab %}
{% endtabs %}

## 5. 开发者工具

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

## 6. 错误码

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

| HTTP状态码 | 错误码                                                         | 说明                      |
| ------- | ----------------------------------------------------------- | ----------------------- |
| 404     | INVALID\_INSTANCE\_NOT\_FOUND                               | 服务器实例不存在。               |
| 404     | INVALID\_PLACEMENT\_GROUP\_NOT\_FOUND                       | 置放组不存在。                 |
| 400     | INVALID\_PLACEMENT\_GROUP\_AND\_INSTANCE\_ZONE\_MISMATCHED  | 实例和置放组的可用区不一致。          |
| 400     | INVALID\_LIMIT\_EXCEEDED\_PLACEMENT\_GROUP\_INSTANCE\_COUNT | 置放组实例数已达分区数上限，无法继续添加实例。 |
