
# 创建合规规则包 - CreateConformancePack
#### 功能介绍
创建新的合规规则包。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-rms/rms_03_0000.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-rms/rms_05_0000.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                         | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项                                                                                                                                                                                                                                                                                                                                                                              |
  |:---|:---|:---|:---|:---|:---|
  | rms:conformancePacks:create | Write | -           | -   | -  | - rf:stack:createStack  - rf:stack:getStackMetadata  - rf:stack:listStackResources   |
     
  
 
#### URI
POST /v1/resource-manager/domains/{domain_id}/conformance-packs
表1路径参数 
| 参数        | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| domain_id | 是    | String | **参数解释**： 账号ID。 **约束限制**： 不涉及 **取值范围**： 只能由英文字母、数字及"_"、"-"组成，且长度为\[1\~36\]个字符。 **默认取值**： 不涉及 最大长度：**36** |
   
#### 请求参数
表2请求Header参数 
| 参数               | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| X-Language       | 否    | String | 合规包信息语言，默认为"en-us"英文，可选值：zh-cn和en-us。 缺省值：**en-us**                                                                                                                                                                                                                                                                                                       |
| X-Security-Token | 否    | String | **参数解释**： 如果正在使用临时安全凭据，则此header是必需的，该值是临时安全凭据的安全令牌（会话令牌）。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及 |
   
表3请求Body参数 
| 参数             | 是否必选 | 参数类型                                                                            | 描述                                                                                                                                            |
|:---|:---|:---|:---|
| name           | 是    | String                                                                          | 合规规则包名称。 最小长度：**1** 最大长度：**256**                            |
| agency_name    | 否    | String                                                                          | 委托名称，该委托需要授权云服务RFS调用合规规则的创建、更新、删除接口。 最小长度：**0** 最大长度：**64** |
| template_key   | 否    | String                                                                          | 预定义合规包模板名称。 最大长度：**128**                                                                             |
| template_body  | 否    | String                                                                          | 自定义合规包内容。 最小长度：**1** 最大长度：**51200**                         |
| template_uri   | 否    | String                                                                          | 合规包模板OBS地址。 最小长度：**0** 最大长度：**1024**                        |
| vars_structure | 否    | Array of [VarsStructure] objects | 合规规则包参数。 数组长度：**0 - 50**                                                                             |
   
 表4VarsStructure 
| 参数        | 是否必选 | 参数类型   | 描述                                                                                                             |
|:---|:---|:---|:---|
| var_key   | 否    | String | 参数名称。 最小长度：**1** 最大长度：**64** |
| var_value | 否    | Object | 参数的值。                                                                                                          |
   
#### 响应参数
**状态码：200**
表5响应Body参数 
| 参数             | 参数类型                                                                             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|
| id             | String                                                                           | 合规规则包ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| name           | String                                                                           | 合规规则包名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| stack_id       | String                                                                           | 资源栈（stack）的唯一ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| stack_name     | String                                                                           | 资源栈（stack）的名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| deployment_id  | String                                                                           | 部署ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| created_at     | String                                                                           | 合规规则包创建时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| updated_at     | String                                                                           | 合规规则包更新时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| template_key   | String                                                                           | 预定义合规规则包模板名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| template_uri   | String                                                                           | 合规规则包模板OBS地址                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| agency_name    | String                                                                           | 委托名称                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| status         | String                                                                           | 合规规则包部署状态。 取值范围： - CREATE_SUCCESSFUL：已部署   - CREATE_IN_PROGRESS：部署中   - CREATE_FAILED：部署异常   - DELETE_IN_PROGRESS：删除中   - DELETE_FAILED：删除异常   - ROLLBACK_SUCCESSFUL：回滚成功   - ROLLBACK_IN_PROGRESS：回滚中   - ROLLBACK_FAILED：回滚失败   - UPDATE_SUCCESSFUL：更新成功   - UPDATE_IN_PROGRESS：更新中   - UPDATE_FAILED：更新失败    |
| error_message  | String                                                                           | 部署或删除合规规则包错误时的错误信息                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| vars_structure | Array of [VarsStructure] objects | 合规规则包参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| created_by     | String                                                                           | 创建者                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   
 表6VarsStructure 
| 参数        | 参数类型   | 描述    |
|:---|:---|:---|
| var_key   | String | 参数名称。 |
| var_value | Object | 参数的值。 |
   
**状态码：400**
表7响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                         |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码。 **取值范围**： 不涉及    |
| error_msg  | String | **参数解释**： 错误消息内容。 **取值范围**： 不涉及 |
   
**状态码：403**
表8响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                         |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码。 **取值范围**： 不涉及    |
| error_msg  | String | **参数解释**： 错误消息内容。 **取值范围**： 不涉及 |
   
**状态码：500**
表9响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                         |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码。 **取值范围**： 不涉及    |
| error_msg  | String | **参数解释**： 错误消息内容。 **取值范围**： 不涉及 |
   
#### 请求示例
根据预定义模板创建一个合规规则包。
```
POST https://{endpoint}/v1/resource-manager/domains/{domain_id}/conformance-packs
{
  "name" : "conformance_pack_name",
  "agency_name" : "config_conformance_pack_template",
  "template_key" : "example-001.yaml",
  "template_body" : null,
  "template_uri" : null,
  "vars_structure" : [ {
    "var_key" : "test",
    "var_value" : "test"
  } ]
}
```
#### 响应示例
**状态码：200**
操作成功。
```
{
  "id" : "a0123456789",
  "name" : "conformance_pack_name-e35r",
  "stack_id" : "stack-id-1234",
  "stack_name" : "stack-name-1234",
  "deployment_id" : "deployment_id_1234",
  "created_at" : "2023-02-28T09:39:19Z",
  "updated_at" : "2023-02-28T09:39:19Z",
  "status" : "CREATE_FAILED",
  "error_message" : "policy assignments exceed quota",
  "vars_structure" : [ {
    "var_key" : "test",
    "var_value" : "test"
  } ],
  "created_by" : "custom"
}
```
#### SDK代码示例
SDK代码示例如下。
#### Java
根据预定义模板创建一个合规规则包。
```
package com.huaweicloud.sdk.test;
import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.GlobalCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.config.v1.region.ConfigRegion;
import com.huaweicloud.sdk.config.v1.*;
import com.huaweicloud.sdk.config.v1.model.*;
import java.util.List;
import java.util.ArrayList;
public class CreateConformancePackSolution {
    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");
        ICredential auth = new GlobalCredentials()
                .withAk(ak)
                .withSk(sk);
        ConfigClient client = ConfigClient.newBuilder()
                .withCredential(auth)
                .withRegion(ConfigRegion.valueOf("<YOUR REGION>"))
                .build();
        CreateConformancePackRequest request = new CreateConformancePackRequest();
        ConformancePackRequestBody body = new ConformancePackRequestBody();
        List<VarsStructure> listbodyVarsStructure = new ArrayList<>();
        listbodyVarsStructure.add(
            new VarsStructure()
                .withVarKey("test")
                .withVarValue("test")
        );
        body.withVarsStructure(listbodyVarsStructure);
        body.withTemplateKey("example-001.yaml");
        body.withAgencyName("config_conformance_pack_template");
        body.withName("conformance_pack_name");
        request.withBody(body);
        try {
            CreateConformancePackResponse response = client.createConformancePack(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}
```
#### Python
根据预定义模板创建一个合规规则包。
```
# coding: utf-8
import os
from huaweicloudsdkcore.auth.credentials import GlobalCredentials
from huaweicloudsdkconfig.v1.region.config_region import ConfigRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkconfig.v1 import *
if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = os.environ["CLOUD_SDK_AK"]
    sk = os.environ["CLOUD_SDK_SK"]
    credentials = GlobalCredentials(ak, sk)
    client = ConfigClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(ConfigRegion.value_of("<YOUR REGION>")) \
        .build()
    try:
        request = CreateConformancePackRequest()
        listVarsStructurebody = [
            VarsStructure(
                var_key="test",
                var_value="test"
            )
        ]
        request.body = ConformancePackRequestBody(
            vars_structure=listVarsStructurebody,
            template_key="example-001.yaml",
            agency_name="config_conformance_pack_template",
            name="conformance_pack_name"
        )
        response = client.create_conformance_pack(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)
```
#### Go
根据预定义模板创建一个合规规则包。
```
package main
import (
"fmt"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/global"
    config "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/config/v1"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/config/v1/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/config/v1/region"
)
func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")
    auth, err := global.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        SafeBuild()
    if err != nil {
        fmt.Println(err)
        return
    }
    hcClient, err := config.ConfigClientBuilder().
         WithRegion(region.ValueOf("<YOUR REGION>")).
         WithCredential(auth).
         SafeBuild()
    if err != nil {
        fmt.Println(err)
        return
    }
    client := config.NewConfigClient(hcClient)
    request := &model.CreateConformancePackRequest{}
varKeyVarsStructure:= "test"
varValueVarsStructure:= "test"
var varValueVarsStructureInterface interface{} = varValueVarsStructure
var listVarsStructurebody = []model.VarsStructure{
        {
            VarKey: &varKeyVarsStructure,
            VarValue: &varValueVarsStructureInterface,
        },
    }
templateKeyConformancePackRequestBody:= "example-001.yaml"
agencyNameConformancePackRequestBody:= "config_conformance_pack_template"
request.Body = &model.ConformancePackRequestBody{
VarsStructure: &listVarsStructurebody,
TemplateKey: &templateKeyConformancePackRequestBody,
AgencyName: &agencyNameConformancePackRequestBody,
Name: "conformance_pack_name",
}
response, err := client.CreateConformancePack(request)
if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}
```
#### 更多
更多编程语言的SDK代码示例，请参见[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/Config/sdk?api=CreateConformancePack)的代码示例页签，可生成自动对应的SDK代码示例。
#### 状态码
| 状态码 | 描述        |
|:---|:---|
| 200 | 操作成功。     |
| 400 | 输入参数不合法。  |
| 403 | 用户身份认证失败。 |
| 500 | 服务器内部错误。  |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-rms/ErrorCode.html)。
