

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# CfCT 清单文件的资源部分
<a name="cfct-manifest-file-resources-section"></a>

 本主题介绍 CfCT 清单文件的**资源**部分，您将在此定义自定义项所需的资源。CfCT 清单文件的这一部分从关键字**资源**开始，一直持续到文件末尾。

 清单文件的**资源**部分指定了 cfcT 通过代码管道自动部署的 CloudFormation StackSets RCPs、或 AWS Organizations SCPs 和。您可以列出 OUs账户和区域来部署堆栈实例。

 堆栈实例部署在账户级别，而不是 OU 级别。 SCPs 并 RCPs 在 OU 级别部署。有关更多信息，请参阅 [Build your own customizations](https://docs.aws.amazon.com/controltower/latest/userguide/cfcn-byo-customizations.html)。

 以下示例模板描述了清单文件的 **resources** 部分中可能可用的条目。

```
resources: # List of resources
  - name: [String]
    resource_file: [String] [Local File Path, S3 URI, S3 URL] 
    deployment_targets: # account and/or organizational unit names
      accounts: # array of strings, [0-9]{12}
        - 012345678912
        - AccountName1
      organizational_units: #array of strings
        - OuName1
        - OuName2 
    deploy_method: scp | stack_set | rcp
    parameters: # List of parameters [SSM, Alfred, Values]
      - parameter_key: [String]
        parameter_value: [String]  
    export_outputs: # list of ssm parameters to store output values
      - name: /org/member/test-ssm/app-id
        value: $[output_ApplicationId]    
    regions: #list of strings
    - [String]
```

**本主题的其余部分将详细介绍前面代码示例中显示的关键字的定义。**

**名称**-与关联的名称 CloudFormation StackSets。 您提供的字符串为堆栈集分配了一个更便于用户使用的名称。
+  **类型**：字符串
+ **是否必需**：是
+ **有效值：**a-z、A-Z、0-9 和连字符 (-)。名称必须以字母开头。

**description** – 资源的描述。
+ **类型**：字符串
+ **必需**：否

 **resource\$1** file — 可以将此文件指定为清单文件的相对位置、指向 JSON 中用于创建 CloudFormation 资源的 CloudFormation 模板或 AWS Organizations 服务控制策略的 Amazon S3 URI 或 URL， SCPs或。 RCPs
+ **类型**：字符串
+ **是否必需**：是 

1. 以下示例显示了 `resource_file`，它是配置包中资源文件的相对位置。

   ```
   resources:
     - name: SecurityRoles
       resource_file: templates/custom-security.template
   ```

1. 以下示例显示了以 Amazon S3 URI 形式提供的资源文件 

   ```
   resources:
     - name: SecurityRoles
       resource_file: s3://amzn-s3-demo-bucket/[key-name]
   ```

1. 以下示例显示了以 Amazon S3 HTTPS URL 形式提供的资源文件 

   ```
   resources:
     - name: SecurityRoles
       resource_file: https://bucket-name.s3.Region.amazonaws.com/key-name
   ```
**注意**  
如果您提供的是 Amazon S3 URL，请验证存储桶策略是否允许您在其中部署 CfCT 的 AWS Control Tower 管理账户进行读取访问。如果您提供的是 Amazon S3 HTTPS URL，请验证该路径是否使用了点表示法。例如 `S3.us-west-1`。CfCT 不支持在 S3 与区域之间包含短划线的端点，例如 `S3‐us-west-2`。

1. 以下示例显示了 Amazon S3 存储桶策略和存储资源的 ARN。

   ```
   {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
          {
           "Effect": "Allow",
           "Principal": {"AWS": "arn:aws:iam::AccountId:root"},
           "Action": "s3:GetObject",
           "Resource": "arn:aws:s3:::my-bucket/*”
          }
      ]
   }  
   ```

   您将使用正在部署 cfcT 的管理 AWS 账户的账户 ID 替换示例中显示的*AccountId*变量。有关更多示例，请参阅《Amazon Simple Storage Service 用户指南》中的[存储桶策略示例](https://docs.aws.amazon.com//AmazonS3/latest/userguide/example-bucket-policies.html)。

**parameters** – 指定 CloudFormation 参数的名称和值。
+ **类型** MapList：
+ **必需**：否

参数部分包含成对的 key/value 参数。以下伪模板概述了 **parameters** 部分。

```
parameters:
  - parameter_key: [String]
    parameter_value: [String]
```
+ **parameter\$1key** – 与参数关联的键。
  +  **类型**：字符串
  + **必需**：是（在参数属性下）
  + **有效值**：a-z、A-Z 和 0-9 
+ **parameter\$1value** – 与参数关联的输入值。
  + **类型**：字符串 
  +  **必需**：是（在参数属性下） 

**deploy\$1method** – 用于将资源部署到账户中的部署方法。当前，**deploy\$1met** hod 支持使用资源部署`stack_set`选项（通过部署） CloudFormation StackSets、`scp`选项部署资源（如果您正在部署 SCPs）或`rcp`选项（如果您正在部署）来部署资源。 RCPs
+ **类型**：字符串 
+ **有效值：** `stack_set` \$1 `scp` \$1 `rcp`
+ **是否必需**：是

****deplo@@ **yment\$1t** argets — 账户或组织单位 (OUs) 列表，cfcT 将在其中部署 CloudFormation 资源，指定为账户或组织单位。****

**注意**  
 如果要部署 SCP 或 RCP，则目标必须是 OU，而不是账户。
+ **类型**：`account name` 或 `account number` 字符串列表，表示此资源将部署到给定的账户列表中，或 `OU names` 字符串列表，表示此资源将部署到给定的 OU 列表中。
+ **必需**：**accounts** 或 **organizational\$1units** 中至少一个
  + **accounts**：

    **类型**：`account name` 或 `account number` 字符串列表，表示此资源将部署到给定的账户列表中。
  + **organizational\$1units**：

    **类型**：`OU names` 字符串列表，表示此资源将部署到给定的 OU 列表中。如果您提供的 OU 不包含账户且未添加 **accounts** 属性，则 CfCT 只会创建堆栈集。
**注意**  
组织的管理账户 ID 不是允许的值。默认情况下，CfCT 不支持将堆栈实例部署到组织的管理账户。如果您有特殊使用案例，请参阅[根 OU](https://docs.aws.amazon.com//controltower/latest/userguide/cfct-root-ou.html)。

**export\$1output** s — 表示 SSM 参数密钥的 name/value 对列表。这些 SSM 参数键允许您将模板输出存储到 SSM Parameter Store 中。输出仅供清单文件前面定义的其他资源参考。

```
export_outputs: # List of SSM parameters
  - name: [String]
    value: [String]
```
+ **类型**：**name** 和 **value** 键值对的列表。**name** 包含 SSM Parameter Store 键的 `name` 字符串，**value** 包含该参数的 `value` 字符串。
+ **有效值：**任何字符串或与模板输出`$[output_CfnOutput-Logical-ID]`变量*CfnOutput-Logical-ID*对应的变量。有关 CloudFormation 模板中 “输出” 部分的更多信息，请参阅*CloudFormation 用户指南*中的[https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/outputs-section-structure.html](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/outputs-section-structure.html)。
+ **必需**：否 

例如，以下代码片段将模板 `VPCID` 输出变量存储到名为 `/org/member/audit/vpc_id` 的 SSM 参数键中。

```
export_outputs: # List of SSM parameters
  - name: /org/member/audit/VPC-ID
    value: $[output_VPCID]
```

**注意**  
**export\$1outputs** 键名称可能包含一个 `output` 以外的值。例如，如果 **name** 为 `/org/environment-name`，**value** 可能为 `production`。

**区域** — cfcT 将在其中部署 CloudFormation 堆栈实例的区域列表。
+ **类型：**任何 AWS 商业区域名称列表，表示此资源将部署到给定的区域列表中。如果清单文件中不存在此关键字，则资源将仅部署在主区域中。
+ **必需**：否 