> 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/createplacementgroup.md).

# CreatePlacementGroup

## 1. 接口描述

本接口(CreatePlacementGroup)用于创建一个置放组。

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

* 使用置放组功能前需要开通权限，请联系Support。
* 分区数（partitionNum）取值范围为2到5，决定置放组最大可关联实例数（分区数=最大实例数）。
* 亲和度（affinity）取值范围为1到分区数向下取整除以2，不填时默认为分区数向下取整除以2。亲和度确保单物理机虚机数不超过分区数的1/2，保障高可用打散逻辑。
  {% endhint %}

## 2. 请求参数

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

| 参数名称            | 必选 | 类型                                                                      | 描述                                                                                                                                    |
| --------------- | -- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| zoneId          | 是  | String                                                                  | <p>置放组所属可用区ID。</p><p>置放组的管理范围为zone维度。</p><p>可通过调用 <a href="/api-reference/cn/zec/location/describezones.md">DescribeZones</a> 获取。</p> |
| name            | 是  | String                                                                  | <p>置放组名称。</p><p>长度2到63个字符。</p><p>必须以字母或数字开头和结尾，支持字母、数字、空格、连字符、斜杠、点号。</p>                                                              |
| partitionNum    | 否  | Integer                                                                 | <p>置放组的分区数。</p><p>最小是2。</p><p>决定置放组最大可关联实例数。</p><p>可选值范围：\[2, +)</p><p>默认值：3</p>                                                      |
| affinity        | 否  | Integer                                                                 | <p>置放组的亲和度。</p><p>取值范围为1到分区数向下取整除以2。</p><p>不填时默认为分区数向下取整除以2。</p><p>可选值范围：\[1, +)</p>                                                  |
| resourceGroupId | 否  | String                                                                  | 资源组ID。                                                                                                                                |
| tags            | 否  | [TagAssociation](/api-reference/cn/zec/datastructure.md#tagassociation) | 创建置放组时关联的标签。                                                                                                                          |

## 3. 响应结果

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

## 4. 代码示例

{% tabs %}
{% tab title="示例" %}
**1. 创建一个置放组。**

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

Request：
{
  "zoneId": "asia-east-1a",
  "name": "my-placement-group",
  "partitionNum": 3,
  "affinity": 1
}

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

{% 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\_ZONE\_NOT\_FOUND                                | 可用区不存在。      |
| 400     | INVALID\_PLACEMENT\_GROUP\_PARTITION\_NUM\_EXCEED\_LIMIT | 置放组的分区数超出限制。 |
