/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.s3control.model; import java.io.Serializable; import javax.annotation.Generated; /** *
* Specifies information about the replication destination bucket and its settings for an S3 on Outposts replication * configuration. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class Destination implements Serializable, Cloneable { /** ** The destination bucket owner's account ID. *
*/ private String account; /** ** The Amazon Resource Name (ARN) of the access point for the destination bucket where you want S3 on Outposts to * store the replication results. *
*/ private String bucket; /** *
* A container that specifies S3 Replication Time Control (S3 RTC) settings, including whether S3 RTC is enabled and
* the time when all objects and operations on objects must be replicated. Must be specified together with a
* Metrics
block.
*
* This is not supported by Amazon S3 on Outposts buckets. *
** Specify this property only in a cross-account scenario (where the source and destination bucket owners are not * the same), and you want to change replica ownership to the Amazon Web Services account that owns the destination * bucket. If this property is not specified in the replication configuration, the replicas are owned by same Amazon * Web Services account that owns the source object. *
** This is not supported by Amazon S3 on Outposts buckets. *
*
* A container that provides information about encryption. If SourceSelectionCriteria
is specified, you
* must specify this element.
*
* This is not supported by Amazon S3 on Outposts buckets. *
** A container that specifies replication metrics-related settings. *
*/ private Metrics metrics; /** *
* The storage class to use when replicating objects. All objects stored on S3 on Outposts are stored in the
* OUTPOSTS
storage class. S3 on Outposts uses the OUTPOSTS
storage class to create the
* object replicas.
*
* Values other than OUTPOSTS
are not supported by Amazon S3 on Outposts.
*
* The destination bucket owner's account ID. *
* * @param account * The destination bucket owner's account ID. */ public void setAccount(String account) { this.account = account; } /** ** The destination bucket owner's account ID. *
* * @return The destination bucket owner's account ID. */ public String getAccount() { return this.account; } /** ** The destination bucket owner's account ID. *
* * @param account * The destination bucket owner's account ID. * @return Returns a reference to this object so that method calls can be chained together. */ public Destination withAccount(String account) { setAccount(account); return this; } /** ** The Amazon Resource Name (ARN) of the access point for the destination bucket where you want S3 on Outposts to * store the replication results. *
* * @param bucket * The Amazon Resource Name (ARN) of the access point for the destination bucket where you want S3 on * Outposts to store the replication results. */ public void setBucket(String bucket) { this.bucket = bucket; } /** ** The Amazon Resource Name (ARN) of the access point for the destination bucket where you want S3 on Outposts to * store the replication results. *
* * @return The Amazon Resource Name (ARN) of the access point for the destination bucket where you want S3 on * Outposts to store the replication results. */ public String getBucket() { return this.bucket; } /** ** The Amazon Resource Name (ARN) of the access point for the destination bucket where you want S3 on Outposts to * store the replication results. *
* * @param bucket * The Amazon Resource Name (ARN) of the access point for the destination bucket where you want S3 on * Outposts to store the replication results. * @return Returns a reference to this object so that method calls can be chained together. */ public Destination withBucket(String bucket) { setBucket(bucket); return this; } /** *
* A container that specifies S3 Replication Time Control (S3 RTC) settings, including whether S3 RTC is enabled and
* the time when all objects and operations on objects must be replicated. Must be specified together with a
* Metrics
block.
*
* This is not supported by Amazon S3 on Outposts buckets. *
*Metrics
block. * This is not supported by Amazon S3 on Outposts buckets. *
*/ public void setReplicationTime(ReplicationTime replicationTime) { this.replicationTime = replicationTime; } /** *
* A container that specifies S3 Replication Time Control (S3 RTC) settings, including whether S3 RTC is enabled and
* the time when all objects and operations on objects must be replicated. Must be specified together with a
* Metrics
block.
*
* This is not supported by Amazon S3 on Outposts buckets. *
*Metrics
block. * This is not supported by Amazon S3 on Outposts buckets. *
*/ public ReplicationTime getReplicationTime() { return this.replicationTime; } /** *
* A container that specifies S3 Replication Time Control (S3 RTC) settings, including whether S3 RTC is enabled and
* the time when all objects and operations on objects must be replicated. Must be specified together with a
* Metrics
block.
*
* This is not supported by Amazon S3 on Outposts buckets. *
*Metrics
block. * This is not supported by Amazon S3 on Outposts buckets. *
* @return Returns a reference to this object so that method calls can be chained together. */ public Destination withReplicationTime(ReplicationTime replicationTime) { setReplicationTime(replicationTime); return this; } /** ** Specify this property only in a cross-account scenario (where the source and destination bucket owners are not * the same), and you want to change replica ownership to the Amazon Web Services account that owns the destination * bucket. If this property is not specified in the replication configuration, the replicas are owned by same Amazon * Web Services account that owns the source object. *
** This is not supported by Amazon S3 on Outposts buckets. *
** This is not supported by Amazon S3 on Outposts buckets. *
*/ public void setAccessControlTranslation(AccessControlTranslation accessControlTranslation) { this.accessControlTranslation = accessControlTranslation; } /** ** Specify this property only in a cross-account scenario (where the source and destination bucket owners are not * the same), and you want to change replica ownership to the Amazon Web Services account that owns the destination * bucket. If this property is not specified in the replication configuration, the replicas are owned by same Amazon * Web Services account that owns the source object. *
** This is not supported by Amazon S3 on Outposts buckets. *
** This is not supported by Amazon S3 on Outposts buckets. *
*/ public AccessControlTranslation getAccessControlTranslation() { return this.accessControlTranslation; } /** ** Specify this property only in a cross-account scenario (where the source and destination bucket owners are not * the same), and you want to change replica ownership to the Amazon Web Services account that owns the destination * bucket. If this property is not specified in the replication configuration, the replicas are owned by same Amazon * Web Services account that owns the source object. *
** This is not supported by Amazon S3 on Outposts buckets. *
** This is not supported by Amazon S3 on Outposts buckets. *
* @return Returns a reference to this object so that method calls can be chained together. */ public Destination withAccessControlTranslation(AccessControlTranslation accessControlTranslation) { setAccessControlTranslation(accessControlTranslation); return this; } /** *
* A container that provides information about encryption. If SourceSelectionCriteria
is specified, you
* must specify this element.
*
* This is not supported by Amazon S3 on Outposts buckets. *
*SourceSelectionCriteria
is
* specified, you must specify this element. * This is not supported by Amazon S3 on Outposts buckets. *
*/ public void setEncryptionConfiguration(EncryptionConfiguration encryptionConfiguration) { this.encryptionConfiguration = encryptionConfiguration; } /** *
* A container that provides information about encryption. If SourceSelectionCriteria
is specified, you
* must specify this element.
*
* This is not supported by Amazon S3 on Outposts buckets. *
*SourceSelectionCriteria
is
* specified, you must specify this element. * This is not supported by Amazon S3 on Outposts buckets. *
*/ public EncryptionConfiguration getEncryptionConfiguration() { return this.encryptionConfiguration; } /** *
* A container that provides information about encryption. If SourceSelectionCriteria
is specified, you
* must specify this element.
*
* This is not supported by Amazon S3 on Outposts buckets. *
*SourceSelectionCriteria
is
* specified, you must specify this element. * This is not supported by Amazon S3 on Outposts buckets. *
* @return Returns a reference to this object so that method calls can be chained together. */ public Destination withEncryptionConfiguration(EncryptionConfiguration encryptionConfiguration) { setEncryptionConfiguration(encryptionConfiguration); return this; } /** ** A container that specifies replication metrics-related settings. *
* * @param metrics * A container that specifies replication metrics-related settings. */ public void setMetrics(Metrics metrics) { this.metrics = metrics; } /** ** A container that specifies replication metrics-related settings. *
* * @return A container that specifies replication metrics-related settings. */ public Metrics getMetrics() { return this.metrics; } /** ** A container that specifies replication metrics-related settings. *
* * @param metrics * A container that specifies replication metrics-related settings. * @return Returns a reference to this object so that method calls can be chained together. */ public Destination withMetrics(Metrics metrics) { setMetrics(metrics); return this; } /** *
* The storage class to use when replicating objects. All objects stored on S3 on Outposts are stored in the
* OUTPOSTS
storage class. S3 on Outposts uses the OUTPOSTS
storage class to create the
* object replicas.
*
* Values other than OUTPOSTS
are not supported by Amazon S3 on Outposts.
*
OUTPOSTS
storage class. S3 on Outposts uses the OUTPOSTS
storage class to create
* the object replicas.
* Values other than OUTPOSTS
are not supported by Amazon S3 on Outposts.
*
* The storage class to use when replicating objects. All objects stored on S3 on Outposts are stored in the
* OUTPOSTS
storage class. S3 on Outposts uses the OUTPOSTS
storage class to create the
* object replicas.
*
* Values other than OUTPOSTS
are not supported by Amazon S3 on Outposts.
*
OUTPOSTS
storage class. S3 on Outposts uses the OUTPOSTS
storage class to
* create the object replicas.
* Values other than OUTPOSTS
are not supported by Amazon S3 on Outposts.
*
* The storage class to use when replicating objects. All objects stored on S3 on Outposts are stored in the
* OUTPOSTS
storage class. S3 on Outposts uses the OUTPOSTS
storage class to create the
* object replicas.
*
* Values other than OUTPOSTS
are not supported by Amazon S3 on Outposts.
*
OUTPOSTS
storage class. S3 on Outposts uses the OUTPOSTS
storage class to create
* the object replicas.
* Values other than OUTPOSTS
are not supported by Amazon S3 on Outposts.
*
* The storage class to use when replicating objects. All objects stored on S3 on Outposts are stored in the
* OUTPOSTS
storage class. S3 on Outposts uses the OUTPOSTS
storage class to create the
* object replicas.
*
* Values other than OUTPOSTS
are not supported by Amazon S3 on Outposts.
*
OUTPOSTS
storage class. S3 on Outposts uses the OUTPOSTS
storage class to create
* the object replicas.
* Values other than OUTPOSTS
are not supported by Amazon S3 on Outposts.
*