Class CfnDeliveryChannel

java.lang.Object
software.amazon.jsii.JsiiObject
All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:48.567Z") @Stability(Stable) public class CfnDeliveryChannel extends CfnResource implements IInspectable
A CloudFormation AWS::Config::DeliveryChannel.

Specifies a delivery channel object to deliver configuration information to an Amazon S3 bucket and Amazon SNS topic.

Before you can create a delivery channel, you must create a configuration recorder. You can use this action to change the Amazon S3 bucket or an Amazon SNS topic of the existing delivery channel. To change the Amazon S3 bucket or an Amazon SNS topic, call this action and specify the changed values for the S3 bucket and the SNS topic. If you specify a different value for either the S3 bucket or the SNS topic, this action will keep the existing value for the parameter that is not changed.

In the China (Beijing) Region, when you call this action, the Amazon S3 bucket must also be in the China (Beijing) Region. In all the other regions, AWS Config supports cross-region and cross-account delivery channels.

You can have only one delivery channel per region per AWS account, and the delivery channel is required to use AWS Config .

AWS Config does not support the delivery channel to an Amazon S3 bucket bucket where object lock is enabled. For more information, see How S3 Object Lock works .

When you create the delivery channel, you can specify; how often AWS Config delivers configuration snapshots to your Amazon S3 bucket (for example, 24 hours), the S3 bucket to which AWS Config sends configuration snapshots and configuration history files, and the Amazon SNS topic to which AWS Config sends notifications about configuration changes, such as updated resources, AWS Config rule evaluations, and when AWS Config delivers the configuration snapshot to your S3 bucket. For more information, see Deliver Configuration Items in the AWS Config Developer Guide.

To enable AWS Config , you must create a configuration recorder and a delivery channel. If you want to create the resources separately, you must create a configuration recorder before you can create a delivery channel. AWS Config uses the configuration recorder to capture configuration changes to your resources. For more information, see AWS::Config::ConfigurationRecorder .

For more information, see Managing the Delivery Channel in the AWS Config Developer Guide.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.config.*;
 CfnDeliveryChannel cfnDeliveryChannel = CfnDeliveryChannel.Builder.create(this, "MyCfnDeliveryChannel")
         .s3BucketName("s3BucketName")
         // the properties below are optional
         .configSnapshotDeliveryProperties(ConfigSnapshotDeliveryPropertiesProperty.builder()
                 .deliveryFrequency("deliveryFrequency")
                 .build())
         .name("name")
         .s3KeyPrefix("s3KeyPrefix")
         .s3KmsKeyArn("s3KmsKeyArn")
         .snsTopicArn("snsTopicArn")
         .build();
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnDeliveryChannel

      protected CfnDeliveryChannel(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnDeliveryChannel

      protected CfnDeliveryChannel(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnDeliveryChannel

      @Stability(Stable) public CfnDeliveryChannel(@NotNull Construct scope, @NotNull String id, @NotNull CfnDeliveryChannelProps props)
      Create a new AWS::Config::DeliveryChannel.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getS3BucketName

      @Stability(Stable) @NotNull public String getS3BucketName()
      The name of the Amazon S3 bucket to which AWS Config delivers configuration snapshots and configuration history files.

      If you specify a bucket that belongs to another AWS account , that bucket must have policies that grant access permissions to AWS Config . For more information, see Permissions for the Amazon S3 Bucket in the AWS Config Developer Guide .

    • setS3BucketName

      @Stability(Stable) public void setS3BucketName(@NotNull String value)
      The name of the Amazon S3 bucket to which AWS Config delivers configuration snapshots and configuration history files.

      If you specify a bucket that belongs to another AWS account , that bucket must have policies that grant access permissions to AWS Config . For more information, see Permissions for the Amazon S3 Bucket in the AWS Config Developer Guide .

    • getConfigSnapshotDeliveryProperties

      @Stability(Stable) @Nullable public Object getConfigSnapshotDeliveryProperties()
      The options for how often AWS Config delivers configuration snapshots to the Amazon S3 bucket.
    • setConfigSnapshotDeliveryProperties

      @Stability(Stable) public void setConfigSnapshotDeliveryProperties(@Nullable IResolvable value)
      The options for how often AWS Config delivers configuration snapshots to the Amazon S3 bucket.
    • setConfigSnapshotDeliveryProperties

      @Stability(Stable) public void setConfigSnapshotDeliveryProperties(@Nullable CfnDeliveryChannel.ConfigSnapshotDeliveryPropertiesProperty value)
      The options for how often AWS Config delivers configuration snapshots to the Amazon S3 bucket.
    • getName

      @Stability(Stable) @Nullable public String getName()
      A name for the delivery channel.

      If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the delivery channel name. For more information, see Name Type .

      Updates are not supported. To change the name, you must run two separate updates. In the first update, delete this resource, and then recreate it with a new name in the second update.

    • setName

      @Stability(Stable) public void setName(@Nullable String value)
      A name for the delivery channel.

      If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the delivery channel name. For more information, see Name Type .

      Updates are not supported. To change the name, you must run two separate updates. In the first update, delete this resource, and then recreate it with a new name in the second update.

    • getS3KeyPrefix

      @Stability(Stable) @Nullable public String getS3KeyPrefix()
      The prefix for the specified Amazon S3 bucket.
    • setS3KeyPrefix

      @Stability(Stable) public void setS3KeyPrefix(@Nullable String value)
      The prefix for the specified Amazon S3 bucket.
    • getS3KmsKeyArn

      @Stability(Stable) @Nullable public String getS3KmsKeyArn()
      The Amazon Resource Name (ARN) of the AWS Key Management Service ( AWS KMS ) AWS KMS key (KMS key) used to encrypt objects delivered by AWS Config .

      Must belong to the same Region as the destination S3 bucket.

    • setS3KmsKeyArn

      @Stability(Stable) public void setS3KmsKeyArn(@Nullable String value)
      The Amazon Resource Name (ARN) of the AWS Key Management Service ( AWS KMS ) AWS KMS key (KMS key) used to encrypt objects delivered by AWS Config .

      Must belong to the same Region as the destination S3 bucket.

    • getSnsTopicArn

      @Stability(Stable) @Nullable public String getSnsTopicArn()
      The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS Config sends notifications about configuration changes.

      If you choose a topic from another account, the topic must have policies that grant access permissions to AWS Config . For more information, see Permissions for the Amazon SNS Topic in the AWS Config Developer Guide .

    • setSnsTopicArn

      @Stability(Stable) public void setSnsTopicArn(@Nullable String value)
      The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS Config sends notifications about configuration changes.

      If you choose a topic from another account, the topic must have policies that grant access permissions to AWS Config . For more information, see Permissions for the Amazon SNS Topic in the AWS Config Developer Guide .