Class: Aws::S3::Types::ReplicationRule

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb

Overview

Note:

When making an API call, you may pass ReplicationRule data as a hash:

{
  id: "ID",
  priority: 1,
  prefix: "Prefix",
  filter: {
    prefix: "Prefix",
    tag: {
      key: "ObjectKey", # required
      value: "Value", # required
    },
    and: {
      prefix: "Prefix",
      tags: [
        {
          key: "ObjectKey", # required
          value: "Value", # required
        },
      ],
    },
  },
  status: "Enabled", # required, accepts Enabled, Disabled
  source_selection_criteria: {
    sse_kms_encrypted_objects: {
      status: "Enabled", # required, accepts Enabled, Disabled
    },
  },
  existing_object_replication: {
    status: "Enabled", # required, accepts Enabled, Disabled
  },
  destination: { # required
    bucket: "BucketName", # required
    account: "AccountId",
    storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
    access_control_translation: {
      owner: "Destination", # required, accepts Destination
    },
    encryption_configuration: {
      replica_kms_key_id: "ReplicaKmsKeyID",
    },
    replication_time: {
      status: "Enabled", # required, accepts Enabled, Disabled
      time: { # required
        minutes: 1,
      },
    },
    metrics: {
      status: "Enabled", # required, accepts Enabled, Disabled
      event_threshold: { # required
        minutes: 1,
      },
    },
  },
  delete_marker_replication: {
    status: "Enabled", # accepts Enabled, Disabled
  },
}

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

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#delete_marker_replicationTypes::DeleteMarkerReplication

Specifies whether Amazon S3 replicates the delete markers. If you specify a Filter, you must specify this element. However, in the latest version of replication configuration (when Filter is specified), Amazon S3 doesn't replicate delete markers. Therefore, the DeleteMarkerReplication element can contain only <Status>Disabled</Status>. For an example configuration, see Basic Rule Configuration.

If you don't specify the Filter element, Amazon S3 assumes that the replication configuration is the earlier version, V1. In the earlier version, Amazon S3 handled replication of delete markers differently. For more information, see Backward Compatibility.



11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb', line 11789

class ReplicationRule < Struct.new(
  :id,
  :priority,
  :prefix,
  :filter,
  :status,
  :source_selection_criteria,
  :existing_object_replication,
  :destination,
  :delete_marker_replication)
  SENSITIVE = []
  include Aws::Structure
end

#destinationTypes::Destination

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

Returns:



11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb', line 11789

class ReplicationRule < Struct.new(
  :id,
  :priority,
  :prefix,
  :filter,
  :status,
  :source_selection_criteria,
  :existing_object_replication,
  :destination,
  :delete_marker_replication)
  SENSITIVE = []
  include Aws::Structure
end

#existing_object_replicationTypes::ExistingObjectReplication



11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb', line 11789

class ReplicationRule < Struct.new(
  :id,
  :priority,
  :prefix,
  :filter,
  :status,
  :source_selection_criteria,
  :existing_object_replication,
  :destination,
  :delete_marker_replication)
  SENSITIVE = []
  include Aws::Structure
end

#filterTypes::ReplicationRuleFilter

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.



11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb', line 11789

class ReplicationRule < Struct.new(
  :id,
  :priority,
  :prefix,
  :filter,
  :status,
  :source_selection_criteria,
  :existing_object_replication,
  :destination,
  :delete_marker_replication)
  SENSITIVE = []
  include Aws::Structure
end

#idString

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

Returns:

  • (String)


11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb', line 11789

class ReplicationRule < Struct.new(
  :id,
  :priority,
  :prefix,
  :filter,
  :status,
  :source_selection_criteria,
  :existing_object_replication,
  :destination,
  :delete_marker_replication)
  SENSITIVE = []
  include Aws::Structure
end

#prefixString

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.

Returns:

  • (String)


11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb', line 11789

class ReplicationRule < Struct.new(
  :id,
  :priority,
  :prefix,
  :filter,
  :status,
  :source_selection_criteria,
  :existing_object_replication,
  :destination,
  :delete_marker_replication)
  SENSITIVE = []
  include Aws::Structure
end

#priorityInteger

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 Replication in the Amazon Simple Storage Service Developer Guide.

Returns:

  • (Integer)


11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb', line 11789

class ReplicationRule < Struct.new(
  :id,
  :priority,
  :prefix,
  :filter,
  :status,
  :source_selection_criteria,
  :existing_object_replication,
  :destination,
  :delete_marker_replication)
  SENSITIVE = []
  include Aws::Structure
end

#source_selection_criteriaTypes::SourceSelectionCriteria

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 a customer master key (CMK) stored in AWS Key Management Service (SSE-KMS).



11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb', line 11789

class ReplicationRule < Struct.new(
  :id,
  :priority,
  :prefix,
  :filter,
  :status,
  :source_selection_criteria,
  :existing_object_replication,
  :destination,
  :delete_marker_replication)
  SENSITIVE = []
  include Aws::Structure
end

#statusString

Specifies whether the rule is enabled.

Returns:

  • (String)


11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/types.rb', line 11789

class ReplicationRule < Struct.new(
  :id,
  :priority,
  :prefix,
  :filter,
  :status,
  :source_selection_criteria,
  :existing_object_replication,
  :destination,
  :delete_marker_replication)
  SENSITIVE = []
  include Aws::Structure
end