
# 创建云服务器组 - CreateServerGroup
#### 功能介绍
创建弹性云服务器组。
与原生的创建云服务器组接口不同之处在于该接口支持企业项目细粒度权限的校验。
#### 接口约束
当前只支持反亲和性组。
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=ECS&api=CreateServerGroup)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-ecs/ecs_06_0000.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
 
| 授权项                                | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名                      | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| ecs:cloudServers:createServerGroup | write | -           | -   | ecs:cloudServers:create | -      |
   
#### URI
POST /v1/{project_id}/cloudservers/os-server-groups
参数说明请参见[表1]。
 表1参数说明 
| 参数         | 是否必选 | 描述                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| project_id | 是    | **参数解释：** 项目ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-ecs/ecs_01_0016.html)。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
#### 请求消息
请求参数如[表2]所示。
 表2请求参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| server_group | 是    | Object | **参数解释：** 弹性云服务器组信息，参考[表3]。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
 表3server_group参数信息 
| 参数       | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| name     | 是    | String           | **参数解释：** 弹性云服务器组名称。 **约束限制：** 不涉及 **取值范围：** 长度大于0小于256字节。 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                     |
| policies | 是    | Array of strings | **参数解释：** 与云服务器组关联的策略名称列表。 **约束限制：** 不涉及 **取值范围：** - anti-affinity：反亲和性，此组中的弹性云服务器必须安排到不同的主机。 使用反亲和性策略可以将同一云服务器组中的云服务器分散部署在不同的物理服务器上，以此保证业务的高可用性和底层容灾能力。    **默认取值：** 不涉及 |
   
#### 响应消息
响应参数如[表4]所示。
 表4响应参数 
| 参数           | 参数类型   | 描述                                                                                                                                                                                   |
|:---|:---|:---|
| server_group | Object | **参数解释：** 弹性云服务器组信息，参考[表5]。 **取值范围：** 不涉及 |
   
 表5server_group参数信息 
| 参数       | 参数类型             | 描述                                                                                                                                                                                                                                                       |
|:---|:---|:---|
| id       | String           | **参数解释：** 弹性云服务器组UUID。 **取值范围：** 不涉及                                                                                                           |
| name     | String           | **参数解释：** 弹性云服务器组名称。 **取值范围：** 不涉及                                                                                                            |
| policies | Array of strings | **参数解释：** 与服务器组关联的策略名称列表。 **取值范围：** - anti-affinity ：此组中的服务器必须安排到不同的主机；   |
| members  | Array of strings | **参数解释：** 弹性云服务器组中包含的弹性云服务器的ID列表。 **取值范围：** 不涉及                                                                                                |
| metadata | Object           | **参数解释：** 弹性云服务器组元数据。 **取值范围：** 不涉及                                                                                                       |
   
#### 请求示例
创建一个云服务器组。
```
POST https://{endpoint}/v1/{project_id}/cloudservers/os-server-groups
{
    "server_group": {
        "name": "test",
        "policies": ["anti-affinity"]
    }
}
```
#### 响应示例
```
{
    "server_group": {
        "id": "5bbcc3c4-1da2-4437-a48a-66f15b1b13f9",
        "name": "test",
        "policies": [
            "anti-affinity"
        ],
        "members": [],
        "metadata": {}
    }
}
```
#### 返回值
请参考[通用请求返回值](https://support.huaweicloud.com/api-ecs/ecs_07_0001.html)。
#### 错误码
请参考[错误码](https://support.huaweicloud.com/api-ecs/ecs_07_0002.html)。
