
# 创建参数模板-CreatingaParameterTemplate
#### 功能介绍
创建参数模板信息，包含参数模板名称、描述、数据库版本信息、参数值。
#### 接口约束
- 该接口仅支持DDS社区版。
- 创建参数模板的名称"name"不能与默认参数模板或已有参数模板的名称重复，并且区分大小写。
- 创建参数模板的parameter_values参数必须在指定数据库版本的默认参数范围内，具体可配置范围请参见《文档数据库服务用户指南》中"编辑参数模板"的内容。
 
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=DDS&api=CreateConfiguration)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-dds/dds_api_permission.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                      | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名               | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | dds:configuration:create | write | -           | -   | dds:param:create | -      |
     
  
 
#### URI
- URI格式 POST /v3/{project_id}/configurations
  
- URI样例 https://dds.cn-north-1.myhuaweicloud.com/v3/056538411200d4cd2f79c003c7606412/configurations
  
表1路径参数 
| 名称           | 是否必选 | 类型     | IN     | 描述                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|:---|
| X-Auth-Token | 是    | string | header | **参数解释：** 从IAM服务获取的用户Token。请参考[认证鉴权](https://support.huaweicloud.com/api-dds/dds_api_0010.html)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。            |
| project_id   | 是    | string | path   | **参数解释：** 租户在某一Region下的项目ID。请参考[获取项目ID](https://support.huaweicloud.com/api-dds/dds_projectid.html)章节获取项目编号。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
#### 请求参数
表2请求Body参数 
| 参数               | 是否必选 | 参数类型                 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| name             | 是    | String               | **参数解释：** 参数模板名称。 **约束限制：** 长度1到64位之间，区分大小写字母，可包含字母、数字、中划线、下划线或句点，不能包含其他特殊字符。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                   |
| description      | 否    | String               | **参数解释：** 参数模板描述。 **约束限制：** 长度不超过256位，且不能包含回车和\>!\<"\&'=特殊字符。 **取值范围：** 不涉及。 **默认取值：** 默认为空。                                                                                                                                                                                                                                                                                                                                                                                                                    |
| parameter_values | 否    | Map\<String,String\> | **参数解释：** 参数名和参数值映射关系。用户可以基于默认参数模板的参数，自定义的参数值。 **约束限制：** 当未传入entity_id参数时，此参数必选。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                            |
| datastore        | 否    | Object               | **参数解释：** 数据库对象。请参见[表3]。 **约束限制：** 当未传入entity_id参数时，此参数必选。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                     |
| entity_id        | 否    | String               | **参数解释：** 实例ID或组ID或节点ID。可以调用"[查询实例列表和详情](https://support.huaweicloud.com/api-dds/dds_api_0023.html)"接口获取。如果未申请实例，可以调用"[创建实例](https://support.huaweicloud.com/api-dds/dds_api_0020.html)"接口创建。 若传入此参数，则会基于此实例、组或节点的参数信息创建参数模板，将会忽略parameter_values和datastore传参。 **约束限制：** 不涉及。 **取值范围：** 当实例类型是集群，取值为shard组或config组的组ID、mongos节点的节点ID、只读节点的节点ID。 当实例类型是副本集，传值为实例ID或只读节点的节点ID。 当实例类型是单节点，传值为实例ID。 **默认取值：** 不涉及。 |
   
 表3datastore字段数据结构说明 
| 名称        | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| node_type | 是    | String | **参数解释：** node_type参数模板节点类型。 **约束限制：** 不涉及。 **取值范围：** - mongos，表示集群mongos节点类型。  - shard，表示集群shard节点类型。  - config，表示集群config节点类型。  - replica，表示副本集类型。  - readonly，表示副本集只读节点类型。  - shard_readonly，表示集群只读节点类型。   - single，表示单节点类型。   **默认取值：** 不涉及。 |
| version   | 是    | String | **参数解释：** 数据库版本。 **约束限制：** 不涉及。 **取值范围：** "5.0"、"4.4"、"4.2"、"4.0"、"3.4"。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   
#### 响应参数
表4响应Body参数 
| 名称            | 参数类型                                                              | 描述                                                                                                                            |
|:---|:---|:---|
| configuration | [ParamGroupInfoResult] object | **参数解释：** 参数模板列表。 **取值范围：** 不涉及。 |
   
 表5configuration字段数据结构说明 
| 名称                | 参数类型   | 说明                                                                                                                                                                                                                             |
|:---|:---|:---|
| id                | String | **参数解释：** 参数模板ID。 **取值范围：** 不涉及。                                                                                                 |
| name              | String | **参数解释：** 参数模板名称。 **取值范围：** 不涉及。                                                                                                 |
| description       | String | **参数解释：** 参数模板描述。 **取值范围：** 不涉及。                                                                                                  |
| datastore_version | String | **参数解释：** 数据库版本。 **取值范围：** 不涉及。                                                                                                  |
| datastore_name    | String | **参数解释：** 数据库类型。 **取值范围：** 不涉及。                                                                                                   |
| created           | String | **参数解释：** 创建时间，格式为"yyyy-MM-ddTHH:mm:ssZ"。 其中，T指某个时间的开始；Z指时区偏移量，例如北京时间偏移显示为+0800。 **取值范围：** 不涉及。 |
| updated           | String | **参数解释：** 更新时间，格式为"yyyy-MM-ddTHH:mm:ssZ"。 其中，T指某个时间的开始；Z指时区偏移量，例如北京时间偏移显示为+0800。 **取值范围：** 不涉及。    |
   
#### 请求示例
- 创建一个参数模板，名称为myparameter，node_type为shard，version为3.4，最大连接数为10
  ```
  { 
    "name" : "myparameter", 
    "description" : "parameter1", 
    "datastore" : { 
      "node_type" : "shard", 
      "version" : "3.4" 
    }, 
    "parameter_values" : { 
      "max_connections" : "10" 
    } 
  }
  ```
  
- 基于已有shard或config组的参数信息创建参数模板
  ```
  POST https://{endpoint}/v3/056538411200d4cd2f79c003c7606412/configuration
  {    
    "name" : "myparameter_for_shard",  
    "description" : "parameter1", 
    "entity_id" : "9136fd2a9fcd405ea4674276ce36dae8gr02"  
  }
  ```
  
- 基于已有副本集或单节点的参数信息创建参数模板
  ```
  POST https://{endpoint}/v3/056538411200d4cd2f79c003c7606412/configuration 
     
  {    
    "name" : "myparameter_for_replica",  
    "description" : "parameter1",  
    "entity_id" : "9136fd2a9fcd405ea4674276ce36dae8in02"  
  }
  ```
  
- 基于已有mongos节点或只读节点的参数信息创建参数模板
  ```
  POST https://{endpoint}/v3/056538411200d4cd2f79c003c7606412/configuration    
  {    
    "name" : "myparameter_for_mongos",  
    "description" : "parameter1",  
    "entity_id" : "321fc68d814d498a82d651812ed7c712no02"  
  }
  ```
  
 
#### 响应示例
```
{
  "configuration": {
    "id": "7b4e07852bd54016906e89461b3182cdpr02",
    "name": "myparameter",
    "description": "parameter1",
    "datastore_version": "3.4",
    "datastore_name": "mongodb",
    "created": "2018-09-19T02:54:21+0800",
    "updated": "2018-09-19T02:54:21+0800"
  }
}
```
#### SDK
单击[文档数据库服务 DDS SDK](https://sdkcenter.developer.huaweicloud.com/?product=DDS)，下载SDK或查看SDK文档。SDK的安装、认证方式等在SDK文档中对应语言类型的【使用】目录下。
#### 状态码
详情请参见[状态码](https://support.huaweicloud.com/api-dds/dds_status_code.html)。
#### 错误码
详情请参见[错误码](https://support.huaweicloud.com/api-dds/dds_error_code.html)。
