Amazon Simple Storage Service

2019/05/16 - Amazon Simple Storage Service - 1 updated api methods

Changes  This release updates the Amazon S3 PUT Bucket replication API to include a new optional field named token, which allows you to add a replication configuration to an S3 bucket that has Object Lock enabled.

PutBucketReplication (updated) Link ΒΆ
Changes (request)
{'Token': 'string'}

Creates a replication configuration or replaces an existing one. For more information, see Cross-Region Replication (CRR) in the Amazon S3 Developer Guide .

See also: AWS API Documentation

Request Syntax

client.put_bucket_replication(
    Bucket='string',
    ContentMD5='string',
    ReplicationConfiguration={
        'Role': 'string',
        'Rules': [
            {
                'ID': 'string',
                'Priority': 123,
                'Prefix': 'string',
                'Filter': {
                    'Prefix': 'string',
                    'Tag': {
                        'Key': 'string',
                        'Value': 'string'
                    },
                    'And': {
                        'Prefix': 'string',
                        'Tags': [
                            {
                                'Key': 'string',
                                'Value': 'string'
                            },
                        ]
                    }
                },
                'Status': 'Enabled'|'Disabled',
                'SourceSelectionCriteria': {
                    'SseKmsEncryptedObjects': {
                        'Status': 'Enabled'|'Disabled'
                    }
                },
                'Destination': {
                    'Bucket': 'string',
                    'Account': 'string',
                    'StorageClass': 'STANDARD'|'REDUCED_REDUNDANCY'|'STANDARD_IA'|'ONEZONE_IA'|'INTELLIGENT_TIERING'|'GLACIER'|'DEEP_ARCHIVE',
                    'AccessControlTranslation': {
                        'Owner': 'Destination'
                    },
                    'EncryptionConfiguration': {
                        'ReplicaKmsKeyID': 'string'
                    }
                },
                'DeleteMarkerReplication': {
                    'Status': 'Enabled'|'Disabled'
                }
            },
        ]
    },
    Token='string'
)
type Bucket

string

param Bucket

[REQUIRED]

type ContentMD5

string

param ContentMD5

type ReplicationConfiguration

dict

param ReplicationConfiguration

[REQUIRED]

A container for replication rules. You can add up to 1,000 rules. The maximum size of a replication configuration is 2 MB.

  • Role (string) -- [REQUIRED]

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that Amazon S3 can assume when replicating the objects.

  • Rules (list) -- [REQUIRED]

    A container for one or more replication rules. A replication configuration must have at least one rule and can contain a maximum of 1,000 rules.

    • (dict) --

      A container for information about a specific replication rule.

      • ID (string) --

        A unique identifier for the rule. The maximum value is 255 characters.

      • Priority (integer) --

        The priority associated with the rule. If you specify multiple rules in a replication configuration, Amazon S3 prioritizes the rules to prevent conflicts when filtering. If two or more rules identify the same object based on a specified filter, the rule with higher priority takes precedence. For example:

        • Same object quality prefix based filter criteria If prefixes you specified in multiple rules overlap

        • Same object qualify tag based filter criteria specified in multiple rules

        For more information, see Cross-Region Replication (CRR) in the Amazon S3 Developer Guide .

      • Prefix (string) --

        An object keyname prefix that identifies the object or objects to which the rule applies. The maximum prefix length is 1,024 characters.

      • Filter (dict) --

        A filter that identifies the subset of objects to which the replication rule applies. A Filter must specify exactly one Prefix , Tag , or an And child element.

        • Prefix (string) --

          An object keyname prefix that identifies the subset of objects to which the rule applies.

        • Tag (dict) --

          A container for specifying a tag key and value.

          The rule applies only to objects that have the tag in their tag set.

          • Key (string) -- [REQUIRED]

            Name of the tag.

          • Value (string) -- [REQUIRED]

            Value of the tag.

        • And (dict) --

          A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. For example:

          • If you specify both a Prefix and a Tag filter, wrap these filters in an And tag.

          • If you specify a filter based on multiple tags, wrap the Tag elements in an And tag.

          • Prefix (string) --

          • Tags (list) --

            • (dict) --

              • Key (string) -- [REQUIRED]

                Name of the tag.

              • Value (string) -- [REQUIRED]

                Value of the tag.

      • Status (string) -- [REQUIRED]

        If status isn't enabled, the rule is ignored.

      • SourceSelectionCriteria (dict) --

        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. Currently, Amazon S3 supports only the filter that you can specify for objects created with server-side encryption using an AWS KMS-Managed Key (SSE-KMS).

        If you want Amazon S3 to replicate objects created with server-side encryption using AWS KMS-Managed Keys.

        • SseKmsEncryptedObjects (dict) --

          A container for filter information for the selection of S3 objects encrypted with AWS KMS. If you include SourceSelectionCriteria in the replication configuration, this element is required.

          • Status (string) -- [REQUIRED]

            If the status is not Enabled , replication for S3 objects encrypted with AWS KMS is disabled.

      • Destination (dict) -- [REQUIRED]

        A container for information about the replication destination.

        • Bucket (string) -- [REQUIRED]

          The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store replicas of the object identified by the rule.

          If there are multiple rules in your replication configuration, all rules must specify the same bucket as the destination. A replication configuration can replicate objects to only one destination bucket.

        • Account (string) --

          The account ID of the destination bucket. Currently, Amazon S3 verifies this value only if Access Control Translation is enabled.

          In a cross-account scenario, if you change replica ownership to the AWS account that owns the destination bucket by adding the AccessControlTranslation element, this is the account ID of the owner of the destination bucket.

        • StorageClass (string) --

          The class of storage used to store the object. By default Amazon S3 uses storage class of the source object when creating a replica.

        • AccessControlTranslation (dict) --

          A container for information about access control for replicas.

          Use this element only in a cross-account scenario where source and destination bucket owners are not the same to change replica ownership to the AWS account that owns the destination bucket. If you don't add this element to the replication configuration, the replicas are owned by same AWS account that owns the source object.

          • Owner (string) -- [REQUIRED]

            The override value for the owner of the replica object.

        • EncryptionConfiguration (dict) --

          A container that provides information about encryption. If SourceSelectionCriteria is specified, you must specify this element.

          • ReplicaKmsKeyID (string) --

            The ID of the AWS KMS key for the AWS Region where the destination bucket resides. Amazon S3 uses this key to encrypt the replica object.

      • DeleteMarkerReplication (dict) --

        Specifies whether Amazon S3 should replicate delete makers.

        • Status (string) --

          The status of the delete marker replication.

          Note

          In the current implementation, Amazon S3 doesn't replicate the delete markers. The status must be Disabled .

type Token

string

param Token

returns

None