/*
* 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 a destination in Amazon Redshift.
///
public partial class RedshiftDestinationDescription
{
private CloudWatchLoggingOptions _cloudWatchLoggingOptions;
private string _clusterJDBCURL;
private CopyCommand _copyCommand;
private ProcessingConfiguration _processingConfiguration;
private RedshiftRetryOptions _retryOptions;
private string _roleARN;
private S3DestinationDescription _s3BackupDescription;
private RedshiftS3BackupMode _s3BackupMode;
private S3DestinationDescription _s3DestinationDescription;
private string _username;
///
/// 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 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 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 S3BackupDescription.
///
/// The configuration for backup in Amazon S3.
///
///
public S3DestinationDescription S3BackupDescription
{
get { return this._s3BackupDescription; }
set { this._s3BackupDescription = value; }
}
// Check to see if S3BackupDescription property is set
internal bool IsSetS3BackupDescription()
{
return this._s3BackupDescription != 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 S3DestinationDescription.
///
/// The Amazon S3 destination.
///
///
[AWSProperty(Required=true)]
public S3DestinationDescription S3DestinationDescription
{
get { return this._s3DestinationDescription; }
set { this._s3DestinationDescription = value; }
}
// Check to see if S3DestinationDescription property is set
internal bool IsSetS3DestinationDescription()
{
return this._s3DestinationDescription != 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;
}
}
}