Interface ReplicationRule
- All Superinterfaces:
software.amazon.jsii.JsiiSerializable
- All Known Implementing Classes:
ReplicationRule.Jsii$Proxy
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.kms.*;
import software.amazon.awscdk.services.s3.*;
Bucket bucket;
Key key;
ReplicationTimeValue replicationTimeValue;
StorageClass storageClass;
ReplicationRule replicationRule = ReplicationRule.builder()
.destination(bucket)
// the properties below are optional
.accessControlTransition(false)
.deleteMarkerReplication(false)
.filter(Filter.builder()
.prefix("prefix")
.tags(List.of(Tag.builder()
.key("key")
.value("value")
.build()))
.build())
.id("id")
.kmsKey(key)
.metrics(replicationTimeValue)
.priority(123)
.replicaModifications(false)
.replicationTimeControl(replicationTimeValue)
.sseKmsEncryptedObjects(false)
.storageClass(storageClass)
.build();
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final classA builder forReplicationRulestatic final classAn implementation forReplicationRule -
Method Summary
Modifier and TypeMethodDescriptionstatic ReplicationRule.Builderbuilder()default BooleanWhether to change replica ownership to the AWS account that owns the destination bucket.default BooleanSpecifies whether Amazon S3 replicates delete markers.The destination bucket for the replicated objects.default FilterA filter that identifies the subset of objects to which the replication rule applies.default StringgetId()A unique identifier for the rule.default IKeyThe customer managed AWS KMS key stored in AWS Key Management Service (KMS) for the destination bucket.default ReplicationTimeValueA container specifying replication metrics-related settings enabling replication metrics and events.default NumberThe priority indicates which rule has precedence whenever two or more replication rules conflict.default BooleanSpecifies whether Amazon S3 replicates modifications on replicas.default ReplicationTimeValueSpecifying S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated.default BooleanSpecifies whether Amazon S3 replicates objects created with server-side encryption using an AWS KMS key stored in AWS Key Management Service.default StorageClassThe storage class to use when replicating objects, such as S3 Standard or reduced redundancy.Methods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Method Details
-
getDestination
The destination bucket for the replicated objects.The destination can be in the same AWS account or a different account.
For cross-account replication, the destination bucket must have a policy that allows the source bucket to replicate objects to it. Use
addReplicationPolicy()to add the required permissions when the destination bucket is managed by CDK. If the destination bucket is referenced, configure the policy separately in the destination account.When importing a cross-account destination into the source stack, use
Bucket.fromBucketAttributes()and set theaccountattribute to the destination bucket owner's account ID.Bucket.fromBucketArn()andBucket.fromBucketName()assume the bucket is owned by the same account as the scope in which it is imported.- See Also:
-
getAccessControlTransition
Whether to change replica ownership to the AWS account that owns the destination bucket.This can only be specified if the source bucket and the destination bucket are not in the same AWS account.
When enabled, use
addReplicationPolicy()on the destination bucket with the source bucket owner's account ID to grant the required permissions.This is not required when the destination bucket uses
ObjectOwnership.BUCKET_OWNER_ENFORCED, because the destination bucket owner automatically owns all objects.Default: - The replicas are owned by the source object owner, unless the destination bucket uses `ObjectOwnership.BUCKET_OWNER_ENFORCED`
- See Also:
-
getDeleteMarkerReplication
Specifies whether Amazon S3 replicates delete markers.Default: - delete markers in source bucket is not replicated to destination bucket
- See Also:
-
getFilter
A filter that identifies the subset of objects to which the replication rule applies.Default: - applies to all objects
-
getId
A unique identifier for the rule.The maximum value is 255 characters.
Default: - auto generated random ID
-
getKmsKey
The customer managed AWS KMS key stored in AWS Key Management Service (KMS) for the destination bucket.Amazon S3 uses this key to encrypt replica objects.
Amazon S3 only supports symmetric encryption KMS keys.
Default: - Amazon S3 uses the AWS managed KMS key for encryption
- See Also:
-
getMetrics
A container specifying replication metrics-related settings enabling replication metrics and events.When a value is set, metrics will be output to indicate whether the replication took longer than the specified time.
Default: - Replication metrics are not enabled
-
getPriority
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.
It is essential to specify priority explicitly when the replication configuration has multiple rules.
Default: 0
-
getReplicaModifications
Specifies whether Amazon S3 replicates modifications on replicas.Default: false
-
getReplicationTimeControl
Specifying S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated.Default: - S3 Replication Time Control is not enabled
-
getSseKmsEncryptedObjects
Specifies whether Amazon S3 replicates objects created with server-side encryption using an AWS KMS key stored in AWS Key Management Service.Default: false
-
getStorageClass
The storage class to use when replicating objects, such as S3 Standard or reduced redundancy.Default: - The storage class of the source object
-
builder
- Returns:
- a
ReplicationRule.BuilderofReplicationRule
-