/*
* 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 glue-2017-03-31.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.Glue.Model
{
///
/// Specifies a target that uses Amazon Redshift.
///
public partial class RedshiftTarget
{
private string _database;
private List _inputs = new List();
private string _name;
private string _redshiftTmpDir;
private string _table;
private string _tmpDirIAMRole;
private UpsertRedshiftTargetOptions _upsertRedshiftOptions;
///
/// Gets and sets the property Database.
///
/// The name of the database to write to.
///
///
[AWSProperty(Required=true)]
public string Database
{
get { return this._database; }
set { this._database = value; }
}
// Check to see if Database property is set
internal bool IsSetDatabase()
{
return this._database != null;
}
///
/// Gets and sets the property Inputs.
///
/// The nodes that are inputs to the data target.
///
///
[AWSProperty(Required=true, Min=1, Max=1)]
public List Inputs
{
get { return this._inputs; }
set { this._inputs = value; }
}
// Check to see if Inputs property is set
internal bool IsSetInputs()
{
return this._inputs != null && this._inputs.Count > 0;
}
///
/// Gets and sets the property Name.
///
/// The name of the data target.
///
///
[AWSProperty(Required=true)]
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property RedshiftTmpDir.
///
/// The Amazon S3 path where temporary data can be staged when copying out of the database.
///
///
public string RedshiftTmpDir
{
get { return this._redshiftTmpDir; }
set { this._redshiftTmpDir = value; }
}
// Check to see if RedshiftTmpDir property is set
internal bool IsSetRedshiftTmpDir()
{
return this._redshiftTmpDir != null;
}
///
/// Gets and sets the property Table.
///
/// The name of the table in the database to write to.
///
///
[AWSProperty(Required=true)]
public string Table
{
get { return this._table; }
set { this._table = value; }
}
// Check to see if Table property is set
internal bool IsSetTable()
{
return this._table != null;
}
///
/// Gets and sets the property TmpDirIAMRole.
///
/// The IAM role with permissions.
///
///
public string TmpDirIAMRole
{
get { return this._tmpDirIAMRole; }
set { this._tmpDirIAMRole = value; }
}
// Check to see if TmpDirIAMRole property is set
internal bool IsSetTmpDirIAMRole()
{
return this._tmpDirIAMRole != null;
}
///
/// Gets and sets the property UpsertRedshiftOptions.
///
/// The set of options to configure an upsert operation when writing to a Redshift target.
///
///
public UpsertRedshiftTargetOptions UpsertRedshiftOptions
{
get { return this._upsertRedshiftOptions; }
set { this._upsertRedshiftOptions = value; }
}
// Check to see if UpsertRedshiftOptions property is set
internal bool IsSetUpsertRedshiftOptions()
{
return this._upsertRedshiftOptions != null;
}
}
}