Class SourceSelectionCriteria

java.lang.Object
software.amazon.awssdk.services.s3control.model.SourceSelectionCriteria
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<SourceSelectionCriteria.Builder,SourceSelectionCriteria>

@Generated("software.amazon.awssdk:codegen") public final class SourceSelectionCriteria extends Object implements SdkPojo, Serializable, ToCopyableBuilder<SourceSelectionCriteria.Builder,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.

See Also:
  • Method Details

    • sseKmsEncryptedObjects

      public final SseKmsEncryptedObjects sseKmsEncryptedObjects()

      A filter that you can use to select Amazon S3 objects that are encrypted with server-side encryption by using Key Management Service (KMS) keys. If you include SourceSelectionCriteria in the replication configuration, this element is required.

      This is not supported by Amazon S3 on Outposts buckets.

      Returns:
      A filter that you can use to select Amazon S3 objects that are encrypted with server-side encryption by using Key Management Service (KMS) keys. If you include SourceSelectionCriteria in the replication configuration, this element is required.

      This is not supported by Amazon S3 on Outposts buckets.

    • replicaModifications

      public final ReplicaModifications replicaModifications()

      A filter that you can use to specify whether replica modification sync is enabled. S3 on Outposts replica modification sync can help you keep object metadata synchronized between replicas and source objects. By default, S3 on Outposts replicates metadata from the source objects to the replicas only. When replica modification sync is enabled, S3 on Outposts replicates metadata changes made to the replica copies back to the source object, making the replication bidirectional.

      To replicate object metadata modifications on replicas, you can specify this element and set the Status of this element to Enabled.

      You must enable replica modification sync on the source and destination buckets to replicate replica metadata changes between the source and the replicas.

      Returns:
      A filter that you can use to specify whether replica modification sync is enabled. S3 on Outposts replica modification sync can help you keep object metadata synchronized between replicas and source objects. By default, S3 on Outposts replicates metadata from the source objects to the replicas only. When replica modification sync is enabled, S3 on Outposts replicates metadata changes made to the replica copies back to the source object, making the replication bidirectional.

      To replicate object metadata modifications on replicas, you can specify this element and set the Status of this element to Enabled.

      You must enable replica modification sync on the source and destination buckets to replicate replica metadata changes between the source and the replicas.

    • toBuilder

      public SourceSelectionCriteria.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<SourceSelectionCriteria.Builder,SourceSelectionCriteria>
      Returns:
      a builder for type T
    • builder

      public static SourceSelectionCriteria.Builder builder()
    • serializableBuilderClass

      public static Class<? extends SourceSelectionCriteria.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.