/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Glue { namespace Model { /** *

Specifies an Amazon Redshift node.

See Also:

AWS * API Reference

*/ class AmazonRedshiftNodeData { public: AWS_GLUE_API AmazonRedshiftNodeData(); AWS_GLUE_API AmazonRedshiftNodeData(Aws::Utils::Json::JsonView jsonValue); AWS_GLUE_API AmazonRedshiftNodeData& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The access type for the Redshift connection. Can be a direct connection or * catalog connections.

*/ inline const Aws::String& GetAccessType() const{ return m_accessType; } /** *

The access type for the Redshift connection. Can be a direct connection or * catalog connections.

*/ inline bool AccessTypeHasBeenSet() const { return m_accessTypeHasBeenSet; } /** *

The access type for the Redshift connection. Can be a direct connection or * catalog connections.

*/ inline void SetAccessType(const Aws::String& value) { m_accessTypeHasBeenSet = true; m_accessType = value; } /** *

The access type for the Redshift connection. Can be a direct connection or * catalog connections.

*/ inline void SetAccessType(Aws::String&& value) { m_accessTypeHasBeenSet = true; m_accessType = std::move(value); } /** *

The access type for the Redshift connection. Can be a direct connection or * catalog connections.

*/ inline void SetAccessType(const char* value) { m_accessTypeHasBeenSet = true; m_accessType.assign(value); } /** *

The access type for the Redshift connection. Can be a direct connection or * catalog connections.

*/ inline AmazonRedshiftNodeData& WithAccessType(const Aws::String& value) { SetAccessType(value); return *this;} /** *

The access type for the Redshift connection. Can be a direct connection or * catalog connections.

*/ inline AmazonRedshiftNodeData& WithAccessType(Aws::String&& value) { SetAccessType(std::move(value)); return *this;} /** *

The access type for the Redshift connection. Can be a direct connection or * catalog connections.

*/ inline AmazonRedshiftNodeData& WithAccessType(const char* value) { SetAccessType(value); return *this;} /** *

The source type to specify whether a specific table is the source or a custom * query.

*/ inline const Aws::String& GetSourceType() const{ return m_sourceType; } /** *

The source type to specify whether a specific table is the source or a custom * query.

*/ inline bool SourceTypeHasBeenSet() const { return m_sourceTypeHasBeenSet; } /** *

The source type to specify whether a specific table is the source or a custom * query.

*/ inline void SetSourceType(const Aws::String& value) { m_sourceTypeHasBeenSet = true; m_sourceType = value; } /** *

The source type to specify whether a specific table is the source or a custom * query.

*/ inline void SetSourceType(Aws::String&& value) { m_sourceTypeHasBeenSet = true; m_sourceType = std::move(value); } /** *

The source type to specify whether a specific table is the source or a custom * query.

*/ inline void SetSourceType(const char* value) { m_sourceTypeHasBeenSet = true; m_sourceType.assign(value); } /** *

The source type to specify whether a specific table is the source or a custom * query.

*/ inline AmazonRedshiftNodeData& WithSourceType(const Aws::String& value) { SetSourceType(value); return *this;} /** *

The source type to specify whether a specific table is the source or a custom * query.

*/ inline AmazonRedshiftNodeData& WithSourceType(Aws::String&& value) { SetSourceType(std::move(value)); return *this;} /** *

The source type to specify whether a specific table is the source or a custom * query.

*/ inline AmazonRedshiftNodeData& WithSourceType(const char* value) { SetSourceType(value); return *this;} /** *

The Glue connection to the Redshift cluster.

*/ inline const Option& GetConnection() const{ return m_connection; } /** *

The Glue connection to the Redshift cluster.

*/ inline bool ConnectionHasBeenSet() const { return m_connectionHasBeenSet; } /** *

The Glue connection to the Redshift cluster.

*/ inline void SetConnection(const Option& value) { m_connectionHasBeenSet = true; m_connection = value; } /** *

The Glue connection to the Redshift cluster.

*/ inline void SetConnection(Option&& value) { m_connectionHasBeenSet = true; m_connection = std::move(value); } /** *

The Glue connection to the Redshift cluster.

*/ inline AmazonRedshiftNodeData& WithConnection(const Option& value) { SetConnection(value); return *this;} /** *

The Glue connection to the Redshift cluster.

*/ inline AmazonRedshiftNodeData& WithConnection(Option&& value) { SetConnection(std::move(value)); return *this;} /** *

The Redshift schema name when working with a direct connection.

*/ inline const Option& GetSchema() const{ return m_schema; } /** *

The Redshift schema name when working with a direct connection.

*/ inline bool SchemaHasBeenSet() const { return m_schemaHasBeenSet; } /** *

The Redshift schema name when working with a direct connection.

*/ inline void SetSchema(const Option& value) { m_schemaHasBeenSet = true; m_schema = value; } /** *

The Redshift schema name when working with a direct connection.

*/ inline void SetSchema(Option&& value) { m_schemaHasBeenSet = true; m_schema = std::move(value); } /** *

The Redshift schema name when working with a direct connection.

*/ inline AmazonRedshiftNodeData& WithSchema(const Option& value) { SetSchema(value); return *this;} /** *

The Redshift schema name when working with a direct connection.

*/ inline AmazonRedshiftNodeData& WithSchema(Option&& value) { SetSchema(std::move(value)); return *this;} /** *

The Redshift table name when working with a direct connection.

*/ inline const Option& GetTable() const{ return m_table; } /** *

The Redshift table name when working with a direct connection.

*/ inline bool TableHasBeenSet() const { return m_tableHasBeenSet; } /** *

The Redshift table name when working with a direct connection.

*/ inline void SetTable(const Option& value) { m_tableHasBeenSet = true; m_table = value; } /** *

The Redshift table name when working with a direct connection.

*/ inline void SetTable(Option&& value) { m_tableHasBeenSet = true; m_table = std::move(value); } /** *

The Redshift table name when working with a direct connection.

*/ inline AmazonRedshiftNodeData& WithTable(const Option& value) { SetTable(value); return *this;} /** *

The Redshift table name when working with a direct connection.

*/ inline AmazonRedshiftNodeData& WithTable(Option&& value) { SetTable(std::move(value)); return *this;} /** *

The name of the Glue Data Catalog database when working with a data * catalog.

*/ inline const Option& GetCatalogDatabase() const{ return m_catalogDatabase; } /** *

The name of the Glue Data Catalog database when working with a data * catalog.

*/ inline bool CatalogDatabaseHasBeenSet() const { return m_catalogDatabaseHasBeenSet; } /** *

The name of the Glue Data Catalog database when working with a data * catalog.

*/ inline void SetCatalogDatabase(const Option& value) { m_catalogDatabaseHasBeenSet = true; m_catalogDatabase = value; } /** *

The name of the Glue Data Catalog database when working with a data * catalog.

*/ inline void SetCatalogDatabase(Option&& value) { m_catalogDatabaseHasBeenSet = true; m_catalogDatabase = std::move(value); } /** *

The name of the Glue Data Catalog database when working with a data * catalog.

*/ inline AmazonRedshiftNodeData& WithCatalogDatabase(const Option& value) { SetCatalogDatabase(value); return *this;} /** *

The name of the Glue Data Catalog database when working with a data * catalog.

*/ inline AmazonRedshiftNodeData& WithCatalogDatabase(Option&& value) { SetCatalogDatabase(std::move(value)); return *this;} /** *

The Glue Data Catalog table name when working with a data catalog.

*/ inline const Option& GetCatalogTable() const{ return m_catalogTable; } /** *

The Glue Data Catalog table name when working with a data catalog.

*/ inline bool CatalogTableHasBeenSet() const { return m_catalogTableHasBeenSet; } /** *

The Glue Data Catalog table name when working with a data catalog.

*/ inline void SetCatalogTable(const Option& value) { m_catalogTableHasBeenSet = true; m_catalogTable = value; } /** *

The Glue Data Catalog table name when working with a data catalog.

*/ inline void SetCatalogTable(Option&& value) { m_catalogTableHasBeenSet = true; m_catalogTable = std::move(value); } /** *

The Glue Data Catalog table name when working with a data catalog.

*/ inline AmazonRedshiftNodeData& WithCatalogTable(const Option& value) { SetCatalogTable(value); return *this;} /** *

The Glue Data Catalog table name when working with a data catalog.

*/ inline AmazonRedshiftNodeData& WithCatalogTable(Option&& value) { SetCatalogTable(std::move(value)); return *this;} /** *

The Redshift schema name when working with a data catalog.

*/ inline const Aws::String& GetCatalogRedshiftSchema() const{ return m_catalogRedshiftSchema; } /** *

The Redshift schema name when working with a data catalog.

*/ inline bool CatalogRedshiftSchemaHasBeenSet() const { return m_catalogRedshiftSchemaHasBeenSet; } /** *

The Redshift schema name when working with a data catalog.

*/ inline void SetCatalogRedshiftSchema(const Aws::String& value) { m_catalogRedshiftSchemaHasBeenSet = true; m_catalogRedshiftSchema = value; } /** *

The Redshift schema name when working with a data catalog.

*/ inline void SetCatalogRedshiftSchema(Aws::String&& value) { m_catalogRedshiftSchemaHasBeenSet = true; m_catalogRedshiftSchema = std::move(value); } /** *

The Redshift schema name when working with a data catalog.

*/ inline void SetCatalogRedshiftSchema(const char* value) { m_catalogRedshiftSchemaHasBeenSet = true; m_catalogRedshiftSchema.assign(value); } /** *

The Redshift schema name when working with a data catalog.

*/ inline AmazonRedshiftNodeData& WithCatalogRedshiftSchema(const Aws::String& value) { SetCatalogRedshiftSchema(value); return *this;} /** *

The Redshift schema name when working with a data catalog.

*/ inline AmazonRedshiftNodeData& WithCatalogRedshiftSchema(Aws::String&& value) { SetCatalogRedshiftSchema(std::move(value)); return *this;} /** *

The Redshift schema name when working with a data catalog.

*/ inline AmazonRedshiftNodeData& WithCatalogRedshiftSchema(const char* value) { SetCatalogRedshiftSchema(value); return *this;} /** *

The database table to read from.

*/ inline const Aws::String& GetCatalogRedshiftTable() const{ return m_catalogRedshiftTable; } /** *

The database table to read from.

*/ inline bool CatalogRedshiftTableHasBeenSet() const { return m_catalogRedshiftTableHasBeenSet; } /** *

The database table to read from.

*/ inline void SetCatalogRedshiftTable(const Aws::String& value) { m_catalogRedshiftTableHasBeenSet = true; m_catalogRedshiftTable = value; } /** *

The database table to read from.

*/ inline void SetCatalogRedshiftTable(Aws::String&& value) { m_catalogRedshiftTableHasBeenSet = true; m_catalogRedshiftTable = std::move(value); } /** *

The database table to read from.

*/ inline void SetCatalogRedshiftTable(const char* value) { m_catalogRedshiftTableHasBeenSet = true; m_catalogRedshiftTable.assign(value); } /** *

The database table to read from.

*/ inline AmazonRedshiftNodeData& WithCatalogRedshiftTable(const Aws::String& value) { SetCatalogRedshiftTable(value); return *this;} /** *

The database table to read from.

*/ inline AmazonRedshiftNodeData& WithCatalogRedshiftTable(Aws::String&& value) { SetCatalogRedshiftTable(std::move(value)); return *this;} /** *

The database table to read from.

*/ inline AmazonRedshiftNodeData& WithCatalogRedshiftTable(const char* value) { SetCatalogRedshiftTable(value); return *this;} /** *

The Amazon S3 path where temporary data can be staged when copying out of the * database.

*/ inline const Aws::String& GetTempDir() const{ return m_tempDir; } /** *

The Amazon S3 path where temporary data can be staged when copying out of the * database.

*/ inline bool TempDirHasBeenSet() const { return m_tempDirHasBeenSet; } /** *

The Amazon S3 path where temporary data can be staged when copying out of the * database.

*/ inline void SetTempDir(const Aws::String& value) { m_tempDirHasBeenSet = true; m_tempDir = value; } /** *

The Amazon S3 path where temporary data can be staged when copying out of the * database.

*/ inline void SetTempDir(Aws::String&& value) { m_tempDirHasBeenSet = true; m_tempDir = std::move(value); } /** *

The Amazon S3 path where temporary data can be staged when copying out of the * database.

*/ inline void SetTempDir(const char* value) { m_tempDirHasBeenSet = true; m_tempDir.assign(value); } /** *

The Amazon S3 path where temporary data can be staged when copying out of the * database.

*/ inline AmazonRedshiftNodeData& WithTempDir(const Aws::String& value) { SetTempDir(value); return *this;} /** *

The Amazon S3 path where temporary data can be staged when copying out of the * database.

*/ inline AmazonRedshiftNodeData& WithTempDir(Aws::String&& value) { SetTempDir(std::move(value)); return *this;} /** *

The Amazon S3 path where temporary data can be staged when copying out of the * database.

*/ inline AmazonRedshiftNodeData& WithTempDir(const char* value) { SetTempDir(value); return *this;} /** *

Optional. The role name use when connection to S3. The IAM role ill default * to the role on the job when left blank.

*/ inline const Option& GetIamRole() const{ return m_iamRole; } /** *

Optional. The role name use when connection to S3. The IAM role ill default * to the role on the job when left blank.

*/ inline bool IamRoleHasBeenSet() const { return m_iamRoleHasBeenSet; } /** *

Optional. The role name use when connection to S3. The IAM role ill default * to the role on the job when left blank.

*/ inline void SetIamRole(const Option& value) { m_iamRoleHasBeenSet = true; m_iamRole = value; } /** *

Optional. The role name use when connection to S3. The IAM role ill default * to the role on the job when left blank.

*/ inline void SetIamRole(Option&& value) { m_iamRoleHasBeenSet = true; m_iamRole = std::move(value); } /** *

Optional. The role name use when connection to S3. The IAM role ill default * to the role on the job when left blank.

*/ inline AmazonRedshiftNodeData& WithIamRole(const Option& value) { SetIamRole(value); return *this;} /** *

Optional. The role name use when connection to S3. The IAM role ill default * to the role on the job when left blank.

*/ inline AmazonRedshiftNodeData& WithIamRole(Option&& value) { SetIamRole(std::move(value)); return *this;} /** *

Optional values when connecting to the Redshift cluster.

*/ inline const Aws::Vector& GetAdvancedOptions() const{ return m_advancedOptions; } /** *

Optional values when connecting to the Redshift cluster.

*/ inline bool AdvancedOptionsHasBeenSet() const { return m_advancedOptionsHasBeenSet; } /** *

Optional values when connecting to the Redshift cluster.

*/ inline void SetAdvancedOptions(const Aws::Vector& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions = value; } /** *

Optional values when connecting to the Redshift cluster.

*/ inline void SetAdvancedOptions(Aws::Vector&& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions = std::move(value); } /** *

Optional values when connecting to the Redshift cluster.

*/ inline AmazonRedshiftNodeData& WithAdvancedOptions(const Aws::Vector& value) { SetAdvancedOptions(value); return *this;} /** *

Optional values when connecting to the Redshift cluster.

*/ inline AmazonRedshiftNodeData& WithAdvancedOptions(Aws::Vector&& value) { SetAdvancedOptions(std::move(value)); return *this;} /** *

Optional values when connecting to the Redshift cluster.

*/ inline AmazonRedshiftNodeData& AddAdvancedOptions(const AmazonRedshiftAdvancedOption& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions.push_back(value); return *this; } /** *

Optional values when connecting to the Redshift cluster.

*/ inline AmazonRedshiftNodeData& AddAdvancedOptions(AmazonRedshiftAdvancedOption&& value) { m_advancedOptionsHasBeenSet = true; m_advancedOptions.push_back(std::move(value)); return *this; } /** *

The SQL used to fetch the data from a Redshift sources when the SourceType is * 'query'.

*/ inline const Aws::String& GetSampleQuery() const{ return m_sampleQuery; } /** *

The SQL used to fetch the data from a Redshift sources when the SourceType is * 'query'.

*/ inline bool SampleQueryHasBeenSet() const { return m_sampleQueryHasBeenSet; } /** *

The SQL used to fetch the data from a Redshift sources when the SourceType is * 'query'.

*/ inline void SetSampleQuery(const Aws::String& value) { m_sampleQueryHasBeenSet = true; m_sampleQuery = value; } /** *

The SQL used to fetch the data from a Redshift sources when the SourceType is * 'query'.

*/ inline void SetSampleQuery(Aws::String&& value) { m_sampleQueryHasBeenSet = true; m_sampleQuery = std::move(value); } /** *

The SQL used to fetch the data from a Redshift sources when the SourceType is * 'query'.

*/ inline void SetSampleQuery(const char* value) { m_sampleQueryHasBeenSet = true; m_sampleQuery.assign(value); } /** *

The SQL used to fetch the data from a Redshift sources when the SourceType is * 'query'.

*/ inline AmazonRedshiftNodeData& WithSampleQuery(const Aws::String& value) { SetSampleQuery(value); return *this;} /** *

The SQL used to fetch the data from a Redshift sources when the SourceType is * 'query'.

*/ inline AmazonRedshiftNodeData& WithSampleQuery(Aws::String&& value) { SetSampleQuery(std::move(value)); return *this;} /** *

The SQL used to fetch the data from a Redshift sources when the SourceType is * 'query'.

*/ inline AmazonRedshiftNodeData& WithSampleQuery(const char* value) { SetSampleQuery(value); return *this;} /** *

The SQL used before a MERGE or APPEND with upsert is run.

*/ inline const Aws::String& GetPreAction() const{ return m_preAction; } /** *

The SQL used before a MERGE or APPEND with upsert is run.

*/ inline bool PreActionHasBeenSet() const { return m_preActionHasBeenSet; } /** *

The SQL used before a MERGE or APPEND with upsert is run.

*/ inline void SetPreAction(const Aws::String& value) { m_preActionHasBeenSet = true; m_preAction = value; } /** *

The SQL used before a MERGE or APPEND with upsert is run.

*/ inline void SetPreAction(Aws::String&& value) { m_preActionHasBeenSet = true; m_preAction = std::move(value); } /** *

The SQL used before a MERGE or APPEND with upsert is run.

*/ inline void SetPreAction(const char* value) { m_preActionHasBeenSet = true; m_preAction.assign(value); } /** *

The SQL used before a MERGE or APPEND with upsert is run.

*/ inline AmazonRedshiftNodeData& WithPreAction(const Aws::String& value) { SetPreAction(value); return *this;} /** *

The SQL used before a MERGE or APPEND with upsert is run.

*/ inline AmazonRedshiftNodeData& WithPreAction(Aws::String&& value) { SetPreAction(std::move(value)); return *this;} /** *

The SQL used before a MERGE or APPEND with upsert is run.

*/ inline AmazonRedshiftNodeData& WithPreAction(const char* value) { SetPreAction(value); return *this;} /** *

The SQL used before a MERGE or APPEND with upsert is run.

*/ inline const Aws::String& GetPostAction() const{ return m_postAction; } /** *

The SQL used before a MERGE or APPEND with upsert is run.

*/ inline bool PostActionHasBeenSet() const { return m_postActionHasBeenSet; } /** *

The SQL used before a MERGE or APPEND with upsert is run.

*/ inline void SetPostAction(const Aws::String& value) { m_postActionHasBeenSet = true; m_postAction = value; } /** *

The SQL used before a MERGE or APPEND with upsert is run.

*/ inline void SetPostAction(Aws::String&& value) { m_postActionHasBeenSet = true; m_postAction = std::move(value); } /** *

The SQL used before a MERGE or APPEND with upsert is run.

*/ inline void SetPostAction(const char* value) { m_postActionHasBeenSet = true; m_postAction.assign(value); } /** *

The SQL used before a MERGE or APPEND with upsert is run.

*/ inline AmazonRedshiftNodeData& WithPostAction(const Aws::String& value) { SetPostAction(value); return *this;} /** *

The SQL used before a MERGE or APPEND with upsert is run.

*/ inline AmazonRedshiftNodeData& WithPostAction(Aws::String&& value) { SetPostAction(std::move(value)); return *this;} /** *

The SQL used before a MERGE or APPEND with upsert is run.

*/ inline AmazonRedshiftNodeData& WithPostAction(const char* value) { SetPostAction(value); return *this;} /** *

Specifies how writing to a Redshift cluser will occur.

*/ inline const Aws::String& GetAction() const{ return m_action; } /** *

Specifies how writing to a Redshift cluser will occur.

*/ inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; } /** *

Specifies how writing to a Redshift cluser will occur.

*/ inline void SetAction(const Aws::String& value) { m_actionHasBeenSet = true; m_action = value; } /** *

Specifies how writing to a Redshift cluser will occur.

*/ inline void SetAction(Aws::String&& value) { m_actionHasBeenSet = true; m_action = std::move(value); } /** *

Specifies how writing to a Redshift cluser will occur.

*/ inline void SetAction(const char* value) { m_actionHasBeenSet = true; m_action.assign(value); } /** *

Specifies how writing to a Redshift cluser will occur.

*/ inline AmazonRedshiftNodeData& WithAction(const Aws::String& value) { SetAction(value); return *this;} /** *

Specifies how writing to a Redshift cluser will occur.

*/ inline AmazonRedshiftNodeData& WithAction(Aws::String&& value) { SetAction(std::move(value)); return *this;} /** *

Specifies how writing to a Redshift cluser will occur.

*/ inline AmazonRedshiftNodeData& WithAction(const char* value) { SetAction(value); return *this;} /** *

Specifies the prefix to a table.

*/ inline const Aws::String& GetTablePrefix() const{ return m_tablePrefix; } /** *

Specifies the prefix to a table.

*/ inline bool TablePrefixHasBeenSet() const { return m_tablePrefixHasBeenSet; } /** *

Specifies the prefix to a table.

*/ inline void SetTablePrefix(const Aws::String& value) { m_tablePrefixHasBeenSet = true; m_tablePrefix = value; } /** *

Specifies the prefix to a table.

*/ inline void SetTablePrefix(Aws::String&& value) { m_tablePrefixHasBeenSet = true; m_tablePrefix = std::move(value); } /** *

Specifies the prefix to a table.

*/ inline void SetTablePrefix(const char* value) { m_tablePrefixHasBeenSet = true; m_tablePrefix.assign(value); } /** *

Specifies the prefix to a table.

*/ inline AmazonRedshiftNodeData& WithTablePrefix(const Aws::String& value) { SetTablePrefix(value); return *this;} /** *

Specifies the prefix to a table.

*/ inline AmazonRedshiftNodeData& WithTablePrefix(Aws::String&& value) { SetTablePrefix(std::move(value)); return *this;} /** *

Specifies the prefix to a table.

*/ inline AmazonRedshiftNodeData& WithTablePrefix(const char* value) { SetTablePrefix(value); return *this;} /** *

The action used on Redshift sinks when doing an APPEND.

*/ inline bool GetUpsert() const{ return m_upsert; } /** *

The action used on Redshift sinks when doing an APPEND.

*/ inline bool UpsertHasBeenSet() const { return m_upsertHasBeenSet; } /** *

The action used on Redshift sinks when doing an APPEND.

*/ inline void SetUpsert(bool value) { m_upsertHasBeenSet = true; m_upsert = value; } /** *

The action used on Redshift sinks when doing an APPEND.

*/ inline AmazonRedshiftNodeData& WithUpsert(bool value) { SetUpsert(value); return *this;} /** *

The action used when to detemine how a MERGE in a Redshift sink will be * handled.

*/ inline const Aws::String& GetMergeAction() const{ return m_mergeAction; } /** *

The action used when to detemine how a MERGE in a Redshift sink will be * handled.

*/ inline bool MergeActionHasBeenSet() const { return m_mergeActionHasBeenSet; } /** *

The action used when to detemine how a MERGE in a Redshift sink will be * handled.

*/ inline void SetMergeAction(const Aws::String& value) { m_mergeActionHasBeenSet = true; m_mergeAction = value; } /** *

The action used when to detemine how a MERGE in a Redshift sink will be * handled.

*/ inline void SetMergeAction(Aws::String&& value) { m_mergeActionHasBeenSet = true; m_mergeAction = std::move(value); } /** *

The action used when to detemine how a MERGE in a Redshift sink will be * handled.

*/ inline void SetMergeAction(const char* value) { m_mergeActionHasBeenSet = true; m_mergeAction.assign(value); } /** *

The action used when to detemine how a MERGE in a Redshift sink will be * handled.

*/ inline AmazonRedshiftNodeData& WithMergeAction(const Aws::String& value) { SetMergeAction(value); return *this;} /** *

The action used when to detemine how a MERGE in a Redshift sink will be * handled.

*/ inline AmazonRedshiftNodeData& WithMergeAction(Aws::String&& value) { SetMergeAction(std::move(value)); return *this;} /** *

The action used when to detemine how a MERGE in a Redshift sink will be * handled.

*/ inline AmazonRedshiftNodeData& WithMergeAction(const char* value) { SetMergeAction(value); return *this;} /** *

The action used when to detemine how a MERGE in a Redshift sink will be * handled when an existing record matches a new record.

*/ inline const Aws::String& GetMergeWhenMatched() const{ return m_mergeWhenMatched; } /** *

The action used when to detemine how a MERGE in a Redshift sink will be * handled when an existing record matches a new record.

*/ inline bool MergeWhenMatchedHasBeenSet() const { return m_mergeWhenMatchedHasBeenSet; } /** *

The action used when to detemine how a MERGE in a Redshift sink will be * handled when an existing record matches a new record.

*/ inline void SetMergeWhenMatched(const Aws::String& value) { m_mergeWhenMatchedHasBeenSet = true; m_mergeWhenMatched = value; } /** *

The action used when to detemine how a MERGE in a Redshift sink will be * handled when an existing record matches a new record.

*/ inline void SetMergeWhenMatched(Aws::String&& value) { m_mergeWhenMatchedHasBeenSet = true; m_mergeWhenMatched = std::move(value); } /** *

The action used when to detemine how a MERGE in a Redshift sink will be * handled when an existing record matches a new record.

*/ inline void SetMergeWhenMatched(const char* value) { m_mergeWhenMatchedHasBeenSet = true; m_mergeWhenMatched.assign(value); } /** *

The action used when to detemine how a MERGE in a Redshift sink will be * handled when an existing record matches a new record.

*/ inline AmazonRedshiftNodeData& WithMergeWhenMatched(const Aws::String& value) { SetMergeWhenMatched(value); return *this;} /** *

The action used when to detemine how a MERGE in a Redshift sink will be * handled when an existing record matches a new record.

*/ inline AmazonRedshiftNodeData& WithMergeWhenMatched(Aws::String&& value) { SetMergeWhenMatched(std::move(value)); return *this;} /** *

The action used when to detemine how a MERGE in a Redshift sink will be * handled when an existing record matches a new record.

*/ inline AmazonRedshiftNodeData& WithMergeWhenMatched(const char* value) { SetMergeWhenMatched(value); return *this;} /** *

The action used when to detemine how a MERGE in a Redshift sink will be * handled when an existing record doesn't match a new record.

*/ inline const Aws::String& GetMergeWhenNotMatched() const{ return m_mergeWhenNotMatched; } /** *

The action used when to detemine how a MERGE in a Redshift sink will be * handled when an existing record doesn't match a new record.

*/ inline bool MergeWhenNotMatchedHasBeenSet() const { return m_mergeWhenNotMatchedHasBeenSet; } /** *

The action used when to detemine how a MERGE in a Redshift sink will be * handled when an existing record doesn't match a new record.

*/ inline void SetMergeWhenNotMatched(const Aws::String& value) { m_mergeWhenNotMatchedHasBeenSet = true; m_mergeWhenNotMatched = value; } /** *

The action used when to detemine how a MERGE in a Redshift sink will be * handled when an existing record doesn't match a new record.

*/ inline void SetMergeWhenNotMatched(Aws::String&& value) { m_mergeWhenNotMatchedHasBeenSet = true; m_mergeWhenNotMatched = std::move(value); } /** *

The action used when to detemine how a MERGE in a Redshift sink will be * handled when an existing record doesn't match a new record.

*/ inline void SetMergeWhenNotMatched(const char* value) { m_mergeWhenNotMatchedHasBeenSet = true; m_mergeWhenNotMatched.assign(value); } /** *

The action used when to detemine how a MERGE in a Redshift sink will be * handled when an existing record doesn't match a new record.

*/ inline AmazonRedshiftNodeData& WithMergeWhenNotMatched(const Aws::String& value) { SetMergeWhenNotMatched(value); return *this;} /** *

The action used when to detemine how a MERGE in a Redshift sink will be * handled when an existing record doesn't match a new record.

*/ inline AmazonRedshiftNodeData& WithMergeWhenNotMatched(Aws::String&& value) { SetMergeWhenNotMatched(std::move(value)); return *this;} /** *

The action used when to detemine how a MERGE in a Redshift sink will be * handled when an existing record doesn't match a new record.

*/ inline AmazonRedshiftNodeData& WithMergeWhenNotMatched(const char* value) { SetMergeWhenNotMatched(value); return *this;} /** *

The SQL used in a custom merge to deal with matching records.

*/ inline const Aws::String& GetMergeClause() const{ return m_mergeClause; } /** *

The SQL used in a custom merge to deal with matching records.

*/ inline bool MergeClauseHasBeenSet() const { return m_mergeClauseHasBeenSet; } /** *

The SQL used in a custom merge to deal with matching records.

*/ inline void SetMergeClause(const Aws::String& value) { m_mergeClauseHasBeenSet = true; m_mergeClause = value; } /** *

The SQL used in a custom merge to deal with matching records.

*/ inline void SetMergeClause(Aws::String&& value) { m_mergeClauseHasBeenSet = true; m_mergeClause = std::move(value); } /** *

The SQL used in a custom merge to deal with matching records.

*/ inline void SetMergeClause(const char* value) { m_mergeClauseHasBeenSet = true; m_mergeClause.assign(value); } /** *

The SQL used in a custom merge to deal with matching records.

*/ inline AmazonRedshiftNodeData& WithMergeClause(const Aws::String& value) { SetMergeClause(value); return *this;} /** *

The SQL used in a custom merge to deal with matching records.

*/ inline AmazonRedshiftNodeData& WithMergeClause(Aws::String&& value) { SetMergeClause(std::move(value)); return *this;} /** *

The SQL used in a custom merge to deal with matching records.

*/ inline AmazonRedshiftNodeData& WithMergeClause(const char* value) { SetMergeClause(value); return *this;} /** *

Specifies the name of the connection that is associated with the catalog * table used.

*/ inline const Aws::String& GetCrawlerConnection() const{ return m_crawlerConnection; } /** *

Specifies the name of the connection that is associated with the catalog * table used.

*/ inline bool CrawlerConnectionHasBeenSet() const { return m_crawlerConnectionHasBeenSet; } /** *

Specifies the name of the connection that is associated with the catalog * table used.

*/ inline void SetCrawlerConnection(const Aws::String& value) { m_crawlerConnectionHasBeenSet = true; m_crawlerConnection = value; } /** *

Specifies the name of the connection that is associated with the catalog * table used.

*/ inline void SetCrawlerConnection(Aws::String&& value) { m_crawlerConnectionHasBeenSet = true; m_crawlerConnection = std::move(value); } /** *

Specifies the name of the connection that is associated with the catalog * table used.

*/ inline void SetCrawlerConnection(const char* value) { m_crawlerConnectionHasBeenSet = true; m_crawlerConnection.assign(value); } /** *

Specifies the name of the connection that is associated with the catalog * table used.

*/ inline AmazonRedshiftNodeData& WithCrawlerConnection(const Aws::String& value) { SetCrawlerConnection(value); return *this;} /** *

Specifies the name of the connection that is associated with the catalog * table used.

*/ inline AmazonRedshiftNodeData& WithCrawlerConnection(Aws::String&& value) { SetCrawlerConnection(std::move(value)); return *this;} /** *

Specifies the name of the connection that is associated with the catalog * table used.

*/ inline AmazonRedshiftNodeData& WithCrawlerConnection(const char* value) { SetCrawlerConnection(value); return *this;} /** *

The array of schema output for a given node.

*/ inline const Aws::Vector