Class CfnDeliveryChannel

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

@Generated(value="jsii-pacmak/1.95.0 (build f1ff514)", date="2024-03-26T18:09:21.534Z") @Stability(Stable) public class CfnDeliveryChannel extends CfnResource implements IInspectable
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();
 

See Also:
  • 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 software.constructs.Construct scope, @NotNull String id, @NotNull CfnDeliveryChannelProps props)
      Parameters:
      scope - Scope in which this resource is defined. This parameter is required.
      id - Construct identifier for this resource (unique in its scope). 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.
    • getAttrId

      @Stability(Stable) @NotNull public String getAttrId()
    • 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.
    • 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.
    • 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.
    • setName

      @Stability(Stable) public void setName(@Nullable String value)
      A name for the delivery channel.
    • 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 .
    • 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 .
    • 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.
    • 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.