/*
* Copyright 2010-2014 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 Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.KinesisFirehose.Model
{
///
/// Describes the configuration of a destination in Amazon Redshift.
///
public partial class RedshiftDestinationConfiguration
{
private CloudWatchLoggingOptions _cloudWatchLoggingOptions;
private string _clusterJDBCURL;
private CopyCommand _copyCommand;
private string _password;
private ProcessingConfiguration _processingConfiguration;
private RedshiftRetryOptions _retryOptions;
private string _roleARN;
private S3DestinationConfiguration _s3BackupConfiguration;
private RedshiftS3BackupMode _s3BackupMode;
private S3DestinationConfiguration _s3Configuration;
private string _username;
///
/// Gets and sets the property CloudWatchLoggingOptions.
///
/// The 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 ClusterJDBCURL.
///
/// The database connection string.
///
///
[AWSProperty(Required=true, Min=1)]
public string ClusterJDBCURL
{
get { return this._clusterJDBCURL; }
set { this._clusterJDBCURL = value; }
}
// Check to see if ClusterJDBCURL property is set
internal bool IsSetClusterJDBCURL()
{
return this._clusterJDBCURL != null;
}
///
/// Gets and sets the property CopyCommand.
///
/// The COPY
command.
///
///
[AWSProperty(Required=true)]
public CopyCommand CopyCommand
{
get { return this._copyCommand; }
set { this._copyCommand = value; }
}
// Check to see if CopyCommand property is set
internal bool IsSetCopyCommand()
{
return this._copyCommand != null;
}
///
/// Gets and sets the property Password.
///
/// The user password.
///
///
[AWSProperty(Required=true, Min=6)]
public string Password
{
get { return this._password; }
set { this._password = value; }
}
// Check to see if Password property is set
internal bool IsSetPassword()
{
return this._password != 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 RetryOptions.
///
/// The retry behavior in case Kinesis Data Firehose is unable to deliver documents to
/// Amazon Redshift. Default value is 3600 (60 minutes).
///
///
public RedshiftRetryOptions RetryOptions
{
get { return this._retryOptions; }
set { this._retryOptions = value; }
}
// Check to see if RetryOptions property is set
internal bool IsSetRetryOptions()
{
return this._retryOptions != null;
}
///
/// Gets and sets the property RoleARN.
///
/// The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon
/// Resource Names (ARNs) and AWS 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.
///
///
public RedshiftS3BackupMode S3BackupMode
{
get { return this._s3BackupMode; }
set { this._s3BackupMode = value; }
}
// Check to see if S3BackupMode property is set
internal bool IsSetS3BackupMode()
{
return this._s3BackupMode != null;
}
///
/// Gets and sets the property S3Configuration.
///
/// The configuration for the intermediate Amazon S3 location from which Amazon Redshift
/// obtains data. Restrictions are described in the topic for CreateDeliveryStream.
///
///
///
/// The compression formats SNAPPY
or ZIP
cannot be specified
/// in RedshiftDestinationConfiguration.S3Configuration
because the Amazon
/// Redshift COPY
operation that reads from the S3 bucket doesn't support
/// these compression formats.
///
///
[AWSProperty(Required=true)]
public S3DestinationConfiguration S3Configuration
{
get { return this._s3Configuration; }
set { this._s3Configuration = value; }
}
// Check to see if S3Configuration property is set
internal bool IsSetS3Configuration()
{
return this._s3Configuration != null;
}
///
/// Gets and sets the property Username.
///
/// The name of the user.
///
///
[AWSProperty(Required=true, Min=1)]
public string Username
{
get { return this._username; }
set { this._username = value; }
}
// Check to see if Username property is set
internal bool IsSetUsername()
{
return this._username != null;
}
}
}