

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# AWS::Config::ConformancePack
<a name="aws-resource-config-conformancepack"></a>

A conformance pack is a collection of AWS Config rules and remediation actions that can be easily deployed in an account and a region. ConformancePack creates a service linked role in your account. The service linked role is created only when the role does not exist in your account. 

## Syntax
<a name="aws-resource-config-conformancepack-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-config-conformancepack-syntax.json"></a>

```
{
  "Type" : "AWS::Config::ConformancePack",
  "Properties" : {
      "[ConformancePackInputParameters](#cfn-config-conformancepack-conformancepackinputparameters)" : [ ConformancePackInputParameter, ... ],
      "[ConformancePackName](#cfn-config-conformancepack-conformancepackname)" : String,
      "[DeliveryS3Bucket](#cfn-config-conformancepack-deliverys3bucket)" : String,
      "[DeliveryS3KeyPrefix](#cfn-config-conformancepack-deliverys3keyprefix)" : String,
      "[TemplateBody](#cfn-config-conformancepack-templatebody)" : String,
      "[TemplateS3Uri](#cfn-config-conformancepack-templates3uri)" : String,
      "[TemplateSSMDocumentDetails](#cfn-config-conformancepack-templatessmdocumentdetails)" : TemplateSSMDocumentDetails
    }
}
```

### YAML
<a name="aws-resource-config-conformancepack-syntax.yaml"></a>

```
Type: AWS::Config::ConformancePack
Properties:
  [ConformancePackInputParameters](#cfn-config-conformancepack-conformancepackinputparameters): 
    - ConformancePackInputParameter
  [ConformancePackName](#cfn-config-conformancepack-conformancepackname): String
  [DeliveryS3Bucket](#cfn-config-conformancepack-deliverys3bucket): String
  [DeliveryS3KeyPrefix](#cfn-config-conformancepack-deliverys3keyprefix): String
  [TemplateBody](#cfn-config-conformancepack-templatebody): String
  [TemplateS3Uri](#cfn-config-conformancepack-templates3uri): String
  [TemplateSSMDocumentDetails](#cfn-config-conformancepack-templatessmdocumentdetails): 
    TemplateSSMDocumentDetails
```

## Properties
<a name="aws-resource-config-conformancepack-properties"></a>

`ConformancePackInputParameters`  <a name="cfn-config-conformancepack-conformancepackinputparameters"></a>
A list of ConformancePackInputParameter objects.  
*Required*: No  
*Type*: Array of [ConformancePackInputParameter](aws-properties-config-conformancepack-conformancepackinputparameter.md)  
*Minimum*: `0`  
*Maximum*: `60`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ConformancePackName`  <a name="cfn-config-conformancepack-conformancepackname"></a>
Name of the conformance pack you want to create.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[a-zA-Z][-a-zA-Z0-9]*`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DeliveryS3Bucket`  <a name="cfn-config-conformancepack-deliverys3bucket"></a>
The name of the Amazon S3 bucket where AWS Config stores conformance pack templates.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `63`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DeliveryS3KeyPrefix`  <a name="cfn-config-conformancepack-deliverys3keyprefix"></a>
The prefix for the Amazon S3 bucket.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TemplateBody`  <a name="cfn-config-conformancepack-templatebody"></a>
A string containing full conformance pack template body. Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes.  
You can only use a YAML template with two resource types: config rule (`AWS::Config::ConfigRule`) and a remediation action (`AWS::Config::RemediationConfiguration`).
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `51200`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TemplateS3Uri`  <a name="cfn-config-conformancepack-templates3uri"></a>
Location of file containing the template body (s3://bucketname/prefix). The uri must point to the conformance pack template (max size: 300 KB) that is located in an Amazon S3 bucket.  
You must have access to read Amazon S3 bucket.
*Required*: No  
*Type*: String  
*Pattern*: `s3://.*`  
*Minimum*: `1`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TemplateSSMDocumentDetails`  <a name="cfn-config-conformancepack-templatessmdocumentdetails"></a>
An object that contains the name or Amazon Resource Name (ARN) of the AWS Systems Manager document (SSM document) and the version of the SSM document that is used to create a conformance pack.  
*Required*: No  
*Type*: [TemplateSSMDocumentDetails](aws-properties-config-conformancepack-templatessmdocumentdetails.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-config-conformancepack-return-values"></a>

### Ref
<a name="aws-resource-config-conformancepack-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the name of the conformance pack. 

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

## Examples
<a name="aws-resource-config-conformancepack--examples"></a>



### Conformance Pack
<a name="aws-resource-config-conformancepack--examples--Conformance_Pack"></a>

The following example creates a conformance pack.

#### JSON
<a name="aws-resource-config-conformancepack--examples--Conformance_Pack--json"></a>

```
{
    "Resources": {
        "ConformancePack": {
            "Type": "AWS::Config::ConformancePack",
            "Properties": {
                "ConformancePackName": "ConformancePackName",
                "DeliveryS3Bucket": "DeliveryS3Bucket",
                "TemplateS3Uri": "s3://bucketname/prefix"            
            }
        }
    }
}
```

#### YAML
<a name="aws-resource-config-conformancepack--examples--Conformance_Pack--yaml"></a>

```
---
AWSTemplateFormatVersion: 2010-09-09
Resources:
    CloudFormationCanaryPack:
        Type: AWS::Config::ConformancePack
        Properties:
          ConformancePackName: ConformancePackName
          DeliveryS3Bucket: DeliveryS3Bucket
          TemplateS3Uri: s3://bucketname/prefix
```

# AWS::Config::ConformancePack ConformancePackInputParameter
<a name="aws-properties-config-conformancepack-conformancepackinputparameter"></a>

Input parameters in the form of key-value pairs for the conformance pack, both of which you define. Keys can have a maximum character length of 255 characters, and values can have a maximum length of 4096 characters.

## Syntax
<a name="aws-properties-config-conformancepack-conformancepackinputparameter-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-config-conformancepack-conformancepackinputparameter-syntax.json"></a>

```
{
  "[ParameterName](#cfn-config-conformancepack-conformancepackinputparameter-parametername)" : String,
  "[ParameterValue](#cfn-config-conformancepack-conformancepackinputparameter-parametervalue)" : String
}
```

### YAML
<a name="aws-properties-config-conformancepack-conformancepackinputparameter-syntax.yaml"></a>

```
  [ParameterName](#cfn-config-conformancepack-conformancepackinputparameter-parametername): String
  [ParameterValue](#cfn-config-conformancepack-conformancepackinputparameter-parametervalue): String
```

## Properties
<a name="aws-properties-config-conformancepack-conformancepackinputparameter-properties"></a>

`ParameterName`  <a name="cfn-config-conformancepack-conformancepackinputparameter-parametername"></a>
One part of a key-value pair.  
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ParameterValue`  <a name="cfn-config-conformancepack-conformancepackinputparameter-parametervalue"></a>
Another part of the key-value pair.   
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `4096`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Config::ConformancePack TemplateSSMDocumentDetails
<a name="aws-properties-config-conformancepack-templatessmdocumentdetails"></a>

This API allows you to create a conformance pack template with an AWS Systems Manager document (SSM document). To deploy a conformance pack using an SSM document, first create an SSM document with conformance pack content, and then provide the `DocumentName` in the [PutConformancePack API](https://docs.aws.amazon.com/config/latest/APIReference/API_PutConformancePack.html). You can also provide the `DocumentVersion`.

The `TemplateSSMDocumentDetails` object contains the name of the SSM document and the version of the SSM document.

## Syntax
<a name="aws-properties-config-conformancepack-templatessmdocumentdetails-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-config-conformancepack-templatessmdocumentdetails-syntax.json"></a>

```
{
  "[DocumentName](#cfn-config-conformancepack-templatessmdocumentdetails-documentname)" : String,
  "[DocumentVersion](#cfn-config-conformancepack-templatessmdocumentdetails-documentversion)" : String
}
```

### YAML
<a name="aws-properties-config-conformancepack-templatessmdocumentdetails-syntax.yaml"></a>

```
  [DocumentName](#cfn-config-conformancepack-templatessmdocumentdetails-documentname): String
  [DocumentVersion](#cfn-config-conformancepack-templatessmdocumentdetails-documentversion): String
```

## Properties
<a name="aws-properties-config-conformancepack-templatessmdocumentdetails-properties"></a>

`DocumentName`  <a name="cfn-config-conformancepack-templatessmdocumentdetails-documentname"></a>
The name or Amazon Resource Name (ARN) of the SSM document to use to create a conformance pack. If you use the document name, AWS Config checks only your account and AWS Region for the SSM document.  
*Required*: No  
*Type*: String  
*Minimum*: `3`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DocumentVersion`  <a name="cfn-config-conformancepack-templatessmdocumentdetails-documentversion"></a>
The version of the SSM document to use to create a conformance pack. By default, AWS Config uses the latest version.  
This field is optional.
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)