aws-cdk-lib.aws_s3.CfnBucket.ReplicationRuleProperty

interface ReplicationRuleProperty

LanguageType name
.NETAmazon.CDK.AWS.S3.CfnBucket.ReplicationRuleProperty
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awss3#CfnBucket_ReplicationRuleProperty
Javasoftware.amazon.awscdk.services.s3.CfnBucket.ReplicationRuleProperty
Pythonaws_cdk.aws_s3.CfnBucket.ReplicationRuleProperty
TypeScript aws-cdk-lib » aws_s3 » CfnBucket » ReplicationRuleProperty

Specifies which Amazon S3 objects to replicate and where to store the replicas.

Example

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_s3 as s3 } from 'aws-cdk-lib';
const replicationRuleProperty: s3.CfnBucket.ReplicationRuleProperty = {
  destination: {
    bucket: 'bucket',

    // the properties below are optional
    accessControlTranslation: {
      owner: 'owner',
    },
    account: 'account',
    encryptionConfiguration: {
      replicaKmsKeyId: 'replicaKmsKeyId',
    },
    metrics: {
      status: 'status',

      // the properties below are optional
      eventThreshold: {
        minutes: 123,
      },
    },
    replicationTime: {
      status: 'status',
      time: {
        minutes: 123,
      },
    },
    storageClass: 'storageClass',
  },
  status: 'status',

  // the properties below are optional
  deleteMarkerReplication: {
    status: 'status',
  },
  filter: {
    and: {
      prefix: 'prefix',
      tagFilters: [{
        key: 'key',
        value: 'value',
      }],
    },
    prefix: 'prefix',
    tagFilter: {
      key: 'key',
      value: 'value',
    },
  },
  id: 'id',
  prefix: 'prefix',
  priority: 123,
  sourceSelectionCriteria: {
    replicaModifications: {
      status: 'status',
    },
    sseKmsEncryptedObjects: {
      status: 'status',
    },
  },
};

Properties

NameTypeDescription
destinationIResolvable | ReplicationDestinationPropertyA container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).
statusstringSpecifies whether the rule is enabled.
deleteMarkerReplication?IResolvable | DeleteMarkerReplicationPropertySpecifies whether Amazon S3 replicates delete markers.
filter?IResolvable | ReplicationRuleFilterPropertyA filter that identifies the subset of objects to which the replication rule applies.
id?stringA unique identifier for the rule.
prefix?stringAn object key name prefix that identifies the object or objects to which the rule applies.
priority?numberThe priority indicates which rule has precedence whenever two or more replication rules conflict.
sourceSelectionCriteria?IResolvable | SourceSelectionCriteriaPropertyA container that describes additional filters for identifying the source objects that you want to replicate.

destination

Type: IResolvable | ReplicationDestinationProperty

A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).


status

Type: string

Specifies whether the rule is enabled.


deleteMarkerReplication?

Type: IResolvable | DeleteMarkerReplicationProperty (optional)

Specifies whether Amazon S3 replicates delete markers.

If you specify a Filter in your replication configuration, you must also include a DeleteMarkerReplication element. If your Filter includes a Tag element, the DeleteMarkerReplication Status must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see Basic Rule Configuration .

For more information about delete marker replication, see Basic Rule Configuration .

If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see Backward Compatibility .


filter?

Type: IResolvable | ReplicationRuleFilterProperty (optional)

A filter that identifies the subset of objects to which the replication rule applies.

A Filter must specify exactly one Prefix , TagFilter , or an And child element. The use of the filter field indicates that this is a V2 replication configuration. This field isn't supported in a V1 replication configuration.

V1 replication configuration only supports filtering by key prefix. To filter using a V1 replication configuration, add the Prefix directly as a child element of the Rule element.


id?

Type: string (optional)

A unique identifier for the rule.

The maximum value is 255 characters. If you don't specify a value, AWS CloudFormation generates a random ID. When using a V2 replication configuration this property is capitalized as "ID".


prefix?

Type: string (optional)

An object key name prefix that identifies the object or objects to which the rule applies.

The maximum prefix length is 1,024 characters. To include all objects in a bucket, specify an empty string. To filter using a V1 replication configuration, add the Prefix directly as a child element of the Rule element.

Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see XML related object key constraints .


priority?

Type: number (optional)

The priority indicates which rule has precedence whenever two or more replication rules conflict.

Amazon S3 will attempt to replicate objects according to all replication rules. However, if there are two or more rules with the same destination bucket, then objects will be replicated according to the rule with the highest priority. The higher the number, the higher the priority.

For more information, see Replication in the Amazon S3 User Guide .


sourceSelectionCriteria?

Type: IResolvable | SourceSelectionCriteriaProperty (optional)

A container that describes additional filters for identifying the source objects that you want to replicate.

You can choose to enable or disable the replication of these objects.