/*
* 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 firehose-2015-08-04.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.KinesisFirehose.Model
{
///
/// Describes the configuration of a destination in Amazon S3.
///
public partial class ExtendedS3DestinationConfiguration
{
private string _bucketARN;
private BufferingHints _bufferingHints;
private CloudWatchLoggingOptions _cloudWatchLoggingOptions;
private CompressionFormat _compressionFormat;
private DataFormatConversionConfiguration _dataFormatConversionConfiguration;
private DynamicPartitioningConfiguration _dynamicPartitioningConfiguration;
private EncryptionConfiguration _encryptionConfiguration;
private string _errorOutputPrefix;
private string _prefix;
private ProcessingConfiguration _processingConfiguration;
private string _roleARN;
private S3DestinationConfiguration _s3BackupConfiguration;
private S3BackupMode _s3BackupMode;
///
/// Gets and sets the property BucketARN.
///
/// The ARN of the S3 bucket. For more information, see Amazon
/// Resource Names (ARNs) and Amazon Web Services Service Namespaces.
///
///
[AWSProperty(Required=true, Min=1, Max=2048)]
public string BucketARN
{
get { return this._bucketARN; }
set { this._bucketARN = value; }
}
// Check to see if BucketARN property is set
internal bool IsSetBucketARN()
{
return this._bucketARN != null;
}
///
/// Gets and sets the property BufferingHints.
///
/// The buffering option.
///
///
public BufferingHints BufferingHints
{
get { return this._bufferingHints; }
set { this._bufferingHints = value; }
}
// Check to see if BufferingHints property is set
internal bool IsSetBufferingHints()
{
return this._bufferingHints != null;
}
///
/// Gets and sets the property CloudWatchLoggingOptions.
///
/// The Amazon CloudWatch logging options for your delivery stream.
///
///
public CloudWatchLoggingOptions CloudWatchLoggingOptions
{
get { return this._cloudWatchLoggingOptions; }
set { this._cloudWatchLoggingOptions = value; }
}
// Check to see if CloudWatchLoggingOptions property is set
internal bool IsSetCloudWatchLoggingOptions()
{
return this._cloudWatchLoggingOptions != null;
}
///
/// Gets and sets the property CompressionFormat.
///
/// The compression format. If no value is specified, the default is UNCOMPRESSED.
///
///
public CompressionFormat CompressionFormat
{
get { return this._compressionFormat; }
set { this._compressionFormat = value; }
}
// Check to see if CompressionFormat property is set
internal bool IsSetCompressionFormat()
{
return this._compressionFormat != null;
}
///
/// Gets and sets the property DataFormatConversionConfiguration.
///
/// The serializer, deserializer, and schema for converting data from the JSON format
/// to the Parquet or ORC format before writing it to Amazon S3.
///
///
public DataFormatConversionConfiguration DataFormatConversionConfiguration
{
get { return this._dataFormatConversionConfiguration; }
set { this._dataFormatConversionConfiguration = value; }
}
// Check to see if DataFormatConversionConfiguration property is set
internal bool IsSetDataFormatConversionConfiguration()
{
return this._dataFormatConversionConfiguration != null;
}
///
/// Gets and sets the property DynamicPartitioningConfiguration.
///
/// The configuration of the dynamic partitioning mechanism that creates smaller data
/// sets from the streaming data by partitioning it based on partition keys. Currently,
/// dynamic partitioning is only supported for Amazon S3 destinations.
///
///
public DynamicPartitioningConfiguration DynamicPartitioningConfiguration
{
get { return this._dynamicPartitioningConfiguration; }
set { this._dynamicPartitioningConfiguration = value; }
}
// Check to see if DynamicPartitioningConfiguration property is set
internal bool IsSetDynamicPartitioningConfiguration()
{
return this._dynamicPartitioningConfiguration != null;
}
///
/// Gets and sets the property EncryptionConfiguration.
///
/// The encryption configuration. If no value is specified, the default is no encryption.
///
///
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 ErrorOutputPrefix.
///
/// A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing
/// them to S3. This prefix appears immediately following the bucket name. For information
/// about how to specify this prefix, see Custom
/// Prefixes for Amazon S3 Objects.
///
///
[AWSProperty(Min=0, Max=1024)]
public string ErrorOutputPrefix
{
get { return this._errorOutputPrefix; }
set { this._errorOutputPrefix = value; }
}
// Check to see if ErrorOutputPrefix property is set
internal bool IsSetErrorOutputPrefix()
{
return this._errorOutputPrefix != null;
}
///
/// Gets and sets the property Prefix.
///
/// The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered Amazon
/// S3 files. You can also specify a custom prefix, as described in Custom
/// Prefixes for Amazon S3 Objects.
///
///
[AWSProperty(Min=0, Max=1024)]
public string Prefix
{
get { return this._prefix; }
set { this._prefix = value; }
}
// Check to see if Prefix property is set
internal bool IsSetPrefix()
{
return this._prefix != null;
}
///
/// Gets and sets the property ProcessingConfiguration.
///
/// The data processing configuration.
///
///
public ProcessingConfiguration ProcessingConfiguration
{
get { return this._processingConfiguration; }
set { this._processingConfiguration = value; }
}
// Check to see if ProcessingConfiguration property is set
internal bool IsSetProcessingConfiguration()
{
return this._processingConfiguration != null;
}
///
/// Gets and sets the property RoleARN.
///
/// The Amazon Resource Name (ARN) of the Amazon Web Services credentials. For more information,
/// see Amazon
/// Resource Names (ARNs) and Amazon Web Services Service Namespaces.
///
///
[AWSProperty(Required=true, Min=1, Max=512)]
public string RoleARN
{
get { return this._roleARN; }
set { this._roleARN = value; }
}
// Check to see if RoleARN property is set
internal bool IsSetRoleARN()
{
return this._roleARN != null;
}
///
/// Gets and sets the property S3BackupConfiguration.
///
/// The configuration for backup in Amazon S3.
///
///
public S3DestinationConfiguration S3BackupConfiguration
{
get { return this._s3BackupConfiguration; }
set { this._s3BackupConfiguration = value; }
}
// Check to see if S3BackupConfiguration property is set
internal bool IsSetS3BackupConfiguration()
{
return this._s3BackupConfiguration != null;
}
///
/// Gets and sets the property S3BackupMode.
///
/// The Amazon S3 backup mode. After you create a delivery stream, you can update it to
/// enable Amazon S3 backup if it is disabled. If backup is enabled, you can't update
/// the delivery stream to disable it.
///
///
public S3BackupMode S3BackupMode
{
get { return this._s3BackupMode; }
set { this._s3BackupMode = value; }
}
// Check to see if S3BackupMode property is set
internal bool IsSetS3BackupMode()
{
return this._s3BackupMode != null;
}
}
}