/*
* 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 appflow-2020-08-23.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.Appflow.Model
{
///
/// The connector-specific profile properties when using Amazon Redshift.
///
public partial class RedshiftConnectorProfileProperties
{
private string _bucketName;
private string _bucketPrefix;
private string _clusterIdentifier;
private string _dataApiRoleArn;
private string _databaseName;
private string _databaseUrl;
private bool? _isRedshiftServerless;
private string _roleArn;
private string _workgroupName;
///
/// Gets and sets the property BucketName.
///
/// A name for the associated Amazon S3 bucket.
///
///
[AWSProperty(Required=true, Min=3, Max=63)]
public string BucketName
{
get { return this._bucketName; }
set { this._bucketName = value; }
}
// Check to see if BucketName property is set
internal bool IsSetBucketName()
{
return this._bucketName != null;
}
///
/// Gets and sets the property BucketPrefix.
///
/// The object key for the destination bucket in which Amazon AppFlow places the files.
///
///
///
[AWSProperty(Max=512)]
public string BucketPrefix
{
get { return this._bucketPrefix; }
set { this._bucketPrefix = value; }
}
// Check to see if BucketPrefix property is set
internal bool IsSetBucketPrefix()
{
return this._bucketPrefix != null;
}
///
/// Gets and sets the property ClusterIdentifier.
///
/// The unique ID that's assigned to an Amazon Redshift cluster.
///
///
[AWSProperty(Max=512)]
public string ClusterIdentifier
{
get { return this._clusterIdentifier; }
set { this._clusterIdentifier = value; }
}
// Check to see if ClusterIdentifier property is set
internal bool IsSetClusterIdentifier()
{
return this._clusterIdentifier != null;
}
///
/// Gets and sets the property DataApiRoleArn.
///
/// The Amazon Resource Name (ARN) of an IAM role that permits Amazon AppFlow to access
/// your Amazon Redshift database through the Data API. For more information, and for
/// the polices that you attach to this role, see Allow
/// Amazon AppFlow to access Amazon Redshift databases with the Data API.
///
///
[AWSProperty(Max=512)]
public string DataApiRoleArn
{
get { return this._dataApiRoleArn; }
set { this._dataApiRoleArn = value; }
}
// Check to see if DataApiRoleArn property is set
internal bool IsSetDataApiRoleArn()
{
return this._dataApiRoleArn != null;
}
///
/// Gets and sets the property DatabaseName.
///
/// The name of an Amazon Redshift database.
///
///
[AWSProperty(Max=512)]
public string DatabaseName
{
get { return this._databaseName; }
set { this._databaseName = value; }
}
// Check to see if DatabaseName property is set
internal bool IsSetDatabaseName()
{
return this._databaseName != null;
}
///
/// Gets and sets the property DatabaseUrl.
///
/// The JDBC URL of the Amazon Redshift cluster.
///
///
[AWSProperty(Max=512)]
public string DatabaseUrl
{
get { return this._databaseUrl; }
set { this._databaseUrl = value; }
}
// Check to see if DatabaseUrl property is set
internal bool IsSetDatabaseUrl()
{
return this._databaseUrl != null;
}
///
/// Gets and sets the property IsRedshiftServerless.
///
/// Indicates whether the connector profile defines a connection to an Amazon Redshift
/// Serverless data warehouse.
///
///
public bool IsRedshiftServerless
{
get { return this._isRedshiftServerless.GetValueOrDefault(); }
set { this._isRedshiftServerless = value; }
}
// Check to see if IsRedshiftServerless property is set
internal bool IsSetIsRedshiftServerless()
{
return this._isRedshiftServerless.HasValue;
}
///
/// Gets and sets the property RoleArn.
///
/// The Amazon Resource Name (ARN) of IAM role that grants Amazon Redshift read-only
/// access to Amazon S3. For more information, and for the polices that you attach to
/// this role, see Allow
/// Amazon Redshift to access your Amazon AppFlow data in Amazon S3.
///
///
[AWSProperty(Required=true, 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 WorkgroupName.
///
/// The name of an Amazon Redshift workgroup.
///
///
[AWSProperty(Max=512)]
public string WorkgroupName
{
get { return this._workgroupName; }
set { this._workgroupName = value; }
}
// Check to see if WorkgroupName property is set
internal bool IsSetWorkgroupName()
{
return this._workgroupName != null;
}
}
}