/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the s3control-2018-08-20.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.S3Control.Model
{
///
/// Specifies information about the replication destination bucket and its settings for
/// an S3 on Outposts replication configuration.
///
public partial class Destination
{
private AccessControlTranslation _accessControlTranslation;
private string _account;
private string _bucket;
private EncryptionConfiguration _encryptionConfiguration;
private Metrics _metrics;
private ReplicationTime _replicationTime;
private ReplicationStorageClass _storageClass;
///
/// Gets and sets the property 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.
///
///
///
public AccessControlTranslation AccessControlTranslation
{
get { return this._accessControlTranslation; }
set { this._accessControlTranslation = value; }
}
// Check to see if AccessControlTranslation property is set
internal bool IsSetAccessControlTranslation()
{
return this._accessControlTranslation != null;
}
///
/// Gets and sets the property Account.
///
/// The destination bucket owner's account ID.
///
///
[AWSProperty(Max=64)]
public string Account
{
get { return this._account; }
set { this._account = value; }
}
// Check to see if Account property is set
internal bool IsSetAccount()
{
return this._account != null;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Required=true)]
public string Bucket
{
get { return this._bucket; }
set { this._bucket = value; }
}
// Check to see if Bucket property is set
internal bool IsSetBucket()
{
return this._bucket != null;
}
///
/// Gets and sets the property 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.
///
///
///
public EncryptionConfiguration EncryptionConfiguration
{
get { return this._encryptionConfiguration; }
set { this._encryptionConfiguration = value; }
}
// Check to see if EncryptionConfiguration property is set
internal bool IsSetEncryptionConfiguration()
{
return this._encryptionConfiguration != null;
}
///
/// Gets and sets the property Metrics.
///
/// A container that specifies replication metrics-related settings.
///
///
public Metrics Metrics
{
get { return this._metrics; }
set { this._metrics = value; }
}
// Check to see if Metrics property is set
internal bool IsSetMetrics()
{
return this._metrics != null;
}
///
/// Gets and sets the property 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.
///
///
///
public ReplicationTime ReplicationTime
{
get { return this._replicationTime; }
set { this._replicationTime = value; }
}
// Check to see if ReplicationTime property is set
internal bool IsSetReplicationTime()
{
return this._replicationTime != null;
}
///
/// Gets and sets the property StorageClass.
///
/// 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.
///
///
///
///
public ReplicationStorageClass StorageClass
{
get { return this._storageClass; }
set { this._storageClass = value; }
}
// Check to see if StorageClass property is set
internal bool IsSetStorageClass()
{
return this._storageClass != null;
}
}
}