
# 创建参数模板 - CreateConfiguration
#### 功能介绍
创建参数模板信息，包含参数模板名称、描述、数据库版本信息、参数值。
- 调用接口前，您需要了解API[认证鉴权](https://support.huaweicloud.com/api-rds/rds_03_0001.html)。
- 调用接口前，您需要了解[请求Header参数说明](https://support.huaweicloud.com/api-rds/rds_03_0005.html#rds_03_0005__section479119143310)。
 
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=RDS&api=CreateConfiguration)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-rds/rds_10_0005.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
 
| 授权项                      | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名               | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| rds:param:createTemplate | write | -           | -   | rds:param:create | -      |
   
 #### 接口约束
- 支持的数据库引擎：MySQL、PostgreSQL、Microsoft SQL Server。

- 创建参数模板的模板名称不能与默认参数模板或已有参数模板的名称重复。
 
#### URI
- URI格式 POST /v3/{project_id}/configurations
  
- 参数说明
  表1参数说明 
  | 名称         | 是否必选 | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
  |:---|:---|:---|
  | project_id | 是    | **参数解释：** 租户在某一region下的project ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-rds/rds_03_0002.html)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
     
  
 
#### 请求消息
表2参数说明 
| 名称          | 是否必选 | 参数类型                 | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| name        | 是    | String               | **参数解释**： 参数模板名称。 **约束限制**： 不涉及。 **取值范围**： 最长64个字符，只允许大写字母、小写字母、数字、和"-_."特殊字符。 **默认取值**： 不涉及。                                                                                                                                                                                                                           |
| datastore   | 是    | Object               | **参数解释**： 数据库对象。 详情请参见[表3]。 **约束限制**： 不涉及。                                                                                                                                                                                                                                                                                                                                        |
| description | 否    | String               | **参数解释**： 参数模板描述。 **约束限制**： 不涉及。 **取值范围**： 最长256个字符，不支持\>!\<"\&'=特殊字符。 **默认取值**： 默认为空。                                                                                                                                                                                                                              |
| values      | 否    | Map\<String,String\> | **参数解释**： 参数值对象，用户基于默认参数模板自定义的参数值。 **约束限制**： 不涉及。 **取值范围**： - key：参数名称，如"div_precision_increment"，"connect_timeout"。为空时不修改参数值。  - value：参数值，如"6"，"20"。key不为空时value也不可为空。   **默认取值**： 默认不修改参数值。 |
   
 表3datastore字段数据结构说明 
| 名称      | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| type    | 是    | String | **参数解释**： 数据库引擎。 **约束限制**： 不区分大小写。 **取值范围**： - MySQL  - PostgreSQL  - SQLServer   **默认取值**： 不涉及。                                                   |
| version | 是    | String | **参数解释**： 数据库版本。 **约束限制**： 详见[接口约束]。 **取值范围** ： - MySQL：取值示例：5.7。  - PostgreSQL：取值示例：12。  - Microsoft SQL Server：取值示例：2014_SE。   **默认取值**： 不涉及。 |
   
#### 请求示例
创建参数模板configuration_test。
```
POST https://{endpoint}/v3/0483b6b16e954cb88930a360d2c4e663/configurations
{
"name": "configuration_test",
"description": "configuration_test",
"values": {
                "div_precision_increment": "6",
                "connect_timeout": "20"
},
"datastore": {
"type": "mysql",
"version": "5.7"
}
}
```
#### 响应消息
- 正常响应要素说明
  表4要素说明 
  | 名称            | 参数类型   | 说明                                                                                                                          |
  |:---|:---|:---|
  | configuration | Object | **参数解释**： 参数模板信息。 详情请参见[表5]。 |
     
   表5configuration字段数据结构说明 
  | 名称                     | 参数类型   | 说明                                                                                                                                                                                 |
  |:---|:---|:---|
  | id                     | String | **参数解释**： 参数模板ID。 **取值范围**： 不涉及。                                                            |
  | name                   | String | **参数解释**： 参数模板名称。 **取值范围**： 不涉及。                                                           |
  | datastore_version_name | String | **参数解释**： 数据库版本。 **取值范围**： 不涉及。                                                           |
  | datastore_name         | String | **参数解释**： 数据库引擎。 **取值范围**： 不涉及。                                                            |
  | description            | String | **参数解释**： 描述。 **取值范围**： 不涉及。                                                                |
  | created                | String | **参数解释**： 创建时间。 **取值范围**： 格式为"yyyy-MM-ddTHH:mm:ssZ"。其中，T指某个时间的开始；Z指时区偏移量，例如北京时间偏移显示为+0800。   |
  | updated                | String | **参数解释**： 更新时间。 **取值范围**： 格式为"yyyy-MM-ddTHH:mm:ssZ"。其中，T指某个时间的开始；Z指时区偏移量，例如北京时间偏移显示为+0800。 |
     
  

- 正常响应样例
  ```
  {
  "configuration": {
  "id": "463b4b58-d0e8-4e2b-9560-5dea4552fde9",
  "name": "configuration_test",
  "datastore_version_name": "5.7",
  "datastore_name": "mysql",
  "description": "configuration_test",
  "created": "2017-04-09T08:27:56+0800",
  "updated": "2017-04-09T08:27:56+0800"
                  
  }
  }
  ```
  
- 异常响应 请参见[异常响应结果](https://support.huaweicloud.com/api-rds/rds_01_0010.html)。
  
 
#### 状态码
- 正常 200
  
- 异常 请参见[状态码](https://support.huaweicloud.com/api-rds/rds_10_0200.html)。
  
 
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-rds/rds_10_0201.html)。
