
# 创建配置文件 - CreateConfigurationFile
#### 功能介绍
此API用于创建配置文件。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-servicestage/servicestage_06_0183.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                        | 访问级别  | 资源类型（\*为必须） | 条件键                                                                                       | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | servicestage:config:create | write | config \*   | [g:EnterpriseProjectId](https://support.huaweicloud.com/usermanual-iam5/iam_01_1287.html) | -  | -      |
     
  
 
#### URI
POST /v3/{project_id}/cas/configs
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释：** 租户项目ID。获取方法，请参考[获取项目ID](https://support.huaweicloud.com/api-servicestage/servicestage_06_0164.html)。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
#### 请求消息
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| Content-Type | 是    | String | **参数解释：** 消息体的类型（格式）。 **约束限制：** 不涉及 **取值范围：** application/json;charset=utf8 **默认取值：** 不涉及                                                                                                                      |
| X-Auth-Token | 是    | String | **参数解释：** 调用接口的认证方式分为Token和AK/SK两种，如果您使用的Token方式，此参数为必填，请填写Token的值。Token获取方式，请参考[认证鉴权](https://support.huaweicloud.com/api-servicestage/servicestage_06_0010.html)。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
表3请求Body参数 
| 参数                | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| config_group_id   | 是    | String  | **参数解释：** 配置分组ID。 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                |
| name              | 是    | String  | **参数解释：** 配置文件名称。 **取值范围：** 为长度2到64个字符的字符串，可以包含英文字母、数字、下划线（_）或中划线（-），以英文字母开头、英文字母或者数字结尾。 **默认取值：** 不涉及                                                                                                                                                                                                                                      |
| content           | 是    | String  | **参数解释：** 配置文件内容。 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                               |
| description       | 否    | String  | **参数解释：** 配置文件描述。 **取值范围：** 不超过128个字符的字符串。 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                   |
| type              | 是    | String  | **参数解释：** 配置文件格式。 **取值范围：** - yaml  - properties   **默认取值：** 不涉及             |
| sensitive         | 是    | Boolean | **参数解释：** 配置文件内容是否加密。 **取值范围：** - true：加密。  - false：不加密。   **默认取值：** 不涉及 |
| config_encryption | 否    | Object  | **参数解释：** 配置文件内容设置加密密钥时需设置，请参考[表4]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   
 表4config_encryption 
| 参数     | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| key_id | 是    | String | **参数解释：** DEW服务中用户密钥ID。 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
#### 响应消息
表5响应参数 
| 参数              | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|
| id              | String           | **参数解释：** 配置文件ID。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                           |
| name            | String           | **参数解释：** 配置文件名称。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                           |
| description     | String           | **参数解释：** 配置描述。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                            |
| creator         | String           | **参数解释：** 创建人。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                |
| project_id      | String           | **参数解释：** 项目ID。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                           |
| type            | String           | **参数解释：** 配置文件格式。 **取值范围：** - yaml  - properties       |
| sensitive       | Boolean          | **参数解释：** 配置文件内容是否加密。 **取值范围：** - true：加密。  - false：不加密。   |
| components      | Array of objects | **参数解释：** 配置文件绑定的组件，请参考[表6]。                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| create_time     | Integer          | **参数解释：** 创建时间。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                           |
| update_time     | Integer          | **参数解释：** 修改时间。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                           |
| version         | String           | **参数解释：** 配置文件版本。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                           |
| content         | String           | **参数解释：** 配置文件内容。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                          |
| config_group_id | String           | **参数解释：** 配置分组ID。 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                             |
   
 表6components 
| 参数             | 参数类型   | 描述                                                                                                                                                                                                                                               |
|:---|:---|:---|
| application_id | String | **参数解释：** 应用ID。 **取值范围：** 不涉及 |
| component_id   | String | **参数解释：** 组件ID。 **取值范围：** 不涉及   |
| component_name | String | **参数解释：** 组件名称。 **取值范围：** 不涉及     |
| environment_id | String | **参数解释：** 环境ID。 **取值范围：** 不涉及     |
   
#### 请求示例
创建名为test-config的配置文件，不加密，文件格式为properties。
```
{
"config_group_id": "f3e6d5b4-4d7d-4009-b806-22cfed2ac6ea",
"name": "test-config",
"description": "",
"type": "properties",
"content": "test-key = test-value",
"sensitive": false
}
```
#### 响应示例
```
{
"id": "d5821100-9a82-4d1c-9468-fc6b2b9ccdad",
"config_group_id": "f3e6d5b4-4d7d-4009-b806-22cfed2ac6ea",
"name": "test-config",
"description": "",
"type": "properties",
"content": "testkey = testvalue",
"version": "v1",
"project_id": "2cfeefc3e4c54a5aa7548b8350e638d7",
"sensitive": false,
"create_time": 1717485580152,
"update_time": 1717485580152,
"components": [],
"creator": "ss-test"
}
```
#### 状态码
| 状态码 | 描述       |
|:---|:---|
| 200 | 操作成功。    |
| 400 | 错误的请求。   |
| 404 | 请求对象不存在。 |
| 500 | 内部错误。    |
   
#### 错误码
请参考[ServiceStage错误码](https://support.huaweicloud.com/api-servicestage/servicestage_06_0162.html)。
