Skip to content

Put Conformance Pack

configservice_put_conformance_pack R Documentation

Creates or updates a conformance pack

Description

Creates or updates a conformance pack. A conformance pack is a collection of Config rules that can be easily deployed in an account and a region and across an organization. For information on how many conformance packs you can have per account, see Service Limits in the Config Developer Guide.

When you use put_conformance_pack to deploy conformance packs in your account, the operation can create Config rules and remediation actions without requiring config:PutConfigRule or config:PutRemediationConfigurations permissions in your account IAM policies.

This API uses the AWSServiceRoleForConfigConforms service-linked role in your account to create conformance pack resources. This service-linked role includes the permissions to create Config rules and remediation configurations, even if your account IAM policies explicitly deny these actions.

This API creates a service-linked role AWSServiceRoleForConfigConforms in your account. The service-linked role is created only when the role does not exist in your account.

You must specify only one of the follow parameters: TemplateS3Uri, TemplateBody or TemplateSSMDocumentDetails.

Tags are added at creation and cannot be updated with this operation

put_conformance_pack is an idempotent API. Subsequent requests won't create a duplicate resource if one was already created. If a following request has different tags values, Config will ignore these differences and treat it as an idempotent request of the previous. In this case, tags will not be updated, even if they are different.

Use tag_resource and untag_resource to update tags after creation.

Usage

configservice_put_conformance_pack(ConformancePackName, TemplateS3Uri,
  TemplateBody, DeliveryS3Bucket, DeliveryS3KeyPrefix,
  ConformancePackInputParameters, TemplateSSMDocumentDetails, Tags)

Arguments

ConformancePackName

[required] The unique name of the conformance pack you want to deploy.

TemplateS3Uri

The location of the file containing the template body (⁠s3://bucketname/prefix⁠). The uri must point to a conformance pack template (max size: 300 KB) that is located in an Amazon S3 bucket in the same Region as the conformance pack.

You must have access to read Amazon S3 bucket. In addition, in order to ensure a successful deployment, the template object must not be in an archived storage class if this parameter is passed.

TemplateBody

A string that contains the full conformance pack template body. The structure containing the template body has a minimum length of 1 byte and a maximum length of 51,200 bytes.

You can use a YAML template with two resource types: Config rule (⁠AWS::Config::ConfigRule⁠) and remediation action (⁠AWS::Config::RemediationConfiguration⁠).

DeliveryS3Bucket

The name of the Amazon S3 bucket where Config stores conformance pack templates.

This field is optional.

DeliveryS3KeyPrefix

The prefix for the Amazon S3 bucket.

This field is optional.

ConformancePackInputParameters

A list of ConformancePackInputParameter objects.

TemplateSSMDocumentDetails

An object of type TemplateSSMDocumentDetails, which contains the name or the Amazon Resource Name (ARN) of the Amazon Web Services Systems Manager document (SSM document) and the version of the SSM document that is used to create a conformance pack.

Tags

The tags for the conformance pack. Each tag consists of a key and an optional value, both of which you define.

Value

A list with the following syntax:

list(
  ConformancePackArn = "string"
)

Request syntax

svc$put_conformance_pack(
  ConformancePackName = "string",
  TemplateS3Uri = "string",
  TemplateBody = "string",
  DeliveryS3Bucket = "string",
  DeliveryS3KeyPrefix = "string",
  ConformancePackInputParameters = list(
    list(
      ParameterName = "string",
      ParameterValue = "string"
    )
  ),
  TemplateSSMDocumentDetails = list(
    DocumentName = "string",
    DocumentVersion = "string"
  ),
  Tags = list(
    list(
      Key = "string",
      Value = "string"
    )
  )
)