/** * 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 configuration for Snowflake nodes in Glue Studio.

See * Also:

AWS * API Reference

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

Specifies how retrieved data is specified. Valid values: * "table", "query".

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

Specifies how retrieved data is specified. Valid values: * "table", "query".

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

Specifies how retrieved data is specified. Valid values: * "table", "query".

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

Specifies how retrieved data is specified. Valid values: * "table", "query".

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

Specifies how retrieved data is specified. Valid values: * "table", "query".

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

Specifies how retrieved data is specified. Valid values: * "table", "query".

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

Specifies how retrieved data is specified. Valid values: * "table", "query".

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

Specifies how retrieved data is specified. Valid values: * "table", "query".

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

Specifies a Glue Data Catalog Connection to a Snowflake endpoint.

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

Specifies a Glue Data Catalog Connection to a Snowflake endpoint.

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

Specifies a Glue Data Catalog Connection to a Snowflake endpoint.

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

Specifies a Glue Data Catalog Connection to a Snowflake endpoint.

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

Specifies a Glue Data Catalog Connection to a Snowflake endpoint.

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

Specifies a Glue Data Catalog Connection to a Snowflake endpoint.

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

Specifies a Snowflake database schema for your node to use.

*/ inline const Aws::String& GetSchema() const{ return m_schema; } /** *

Specifies a Snowflake database schema for your node to use.

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

Specifies a Snowflake database schema for your node to use.

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

Specifies a Snowflake database schema for your node to use.

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

Specifies a Snowflake database schema for your node to use.

*/ inline void SetSchema(const char* value) { m_schemaHasBeenSet = true; m_schema.assign(value); } /** *

Specifies a Snowflake database schema for your node to use.

*/ inline SnowflakeNodeData& WithSchema(const Aws::String& value) { SetSchema(value); return *this;} /** *

Specifies a Snowflake database schema for your node to use.

*/ inline SnowflakeNodeData& WithSchema(Aws::String&& value) { SetSchema(std::move(value)); return *this;} /** *

Specifies a Snowflake database schema for your node to use.

*/ inline SnowflakeNodeData& WithSchema(const char* value) { SetSchema(value); return *this;} /** *

Specifies a Snowflake table for your node to use.

*/ inline const Aws::String& GetTable() const{ return m_table; } /** *

Specifies a Snowflake table for your node to use.

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

Specifies a Snowflake table for your node to use.

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

Specifies a Snowflake table for your node to use.

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

Specifies a Snowflake table for your node to use.

*/ inline void SetTable(const char* value) { m_tableHasBeenSet = true; m_table.assign(value); } /** *

Specifies a Snowflake table for your node to use.

*/ inline SnowflakeNodeData& WithTable(const Aws::String& value) { SetTable(value); return *this;} /** *

Specifies a Snowflake table for your node to use.

*/ inline SnowflakeNodeData& WithTable(Aws::String&& value) { SetTable(std::move(value)); return *this;} /** *

Specifies a Snowflake table for your node to use.

*/ inline SnowflakeNodeData& WithTable(const char* value) { SetTable(value); return *this;} /** *

Specifies a Snowflake database for your node to use.

*/ inline const Aws::String& GetDatabase() const{ return m_database; } /** *

Specifies a Snowflake database for your node to use.

*/ inline bool DatabaseHasBeenSet() const { return m_databaseHasBeenSet; } /** *

Specifies a Snowflake database for your node to use.

*/ inline void SetDatabase(const Aws::String& value) { m_databaseHasBeenSet = true; m_database = value; } /** *

Specifies a Snowflake database for your node to use.

*/ inline void SetDatabase(Aws::String&& value) { m_databaseHasBeenSet = true; m_database = std::move(value); } /** *

Specifies a Snowflake database for your node to use.

*/ inline void SetDatabase(const char* value) { m_databaseHasBeenSet = true; m_database.assign(value); } /** *

Specifies a Snowflake database for your node to use.

*/ inline SnowflakeNodeData& WithDatabase(const Aws::String& value) { SetDatabase(value); return *this;} /** *

Specifies a Snowflake database for your node to use.

*/ inline SnowflakeNodeData& WithDatabase(Aws::String&& value) { SetDatabase(std::move(value)); return *this;} /** *

Specifies a Snowflake database for your node to use.

*/ inline SnowflakeNodeData& WithDatabase(const char* value) { SetDatabase(value); return *this;} /** *

Not currently used.

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

Not currently used.

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

Not currently used.

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

Not currently used.

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

Not currently used.

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

Not currently used.

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

Not currently used.

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

Not currently used.

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

Not currently used.

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

Not currently used.

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

Not currently used.

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

Not currently used.

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

Not currently used.

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

Not currently used.

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

Specifies additional options passed to the Snowflake connector. If options * are specified elsewhere in this node, this will take precedence.

*/ inline const Aws::Map& GetAdditionalOptions() const{ return m_additionalOptions; } /** *

Specifies additional options passed to the Snowflake connector. If options * are specified elsewhere in this node, this will take precedence.

*/ inline bool AdditionalOptionsHasBeenSet() const { return m_additionalOptionsHasBeenSet; } /** *

Specifies additional options passed to the Snowflake connector. If options * are specified elsewhere in this node, this will take precedence.

*/ inline void SetAdditionalOptions(const Aws::Map& value) { m_additionalOptionsHasBeenSet = true; m_additionalOptions = value; } /** *

Specifies additional options passed to the Snowflake connector. If options * are specified elsewhere in this node, this will take precedence.

*/ inline void SetAdditionalOptions(Aws::Map&& value) { m_additionalOptionsHasBeenSet = true; m_additionalOptions = std::move(value); } /** *

Specifies additional options passed to the Snowflake connector. If options * are specified elsewhere in this node, this will take precedence.

*/ inline SnowflakeNodeData& WithAdditionalOptions(const Aws::Map& value) { SetAdditionalOptions(value); return *this;} /** *

Specifies additional options passed to the Snowflake connector. If options * are specified elsewhere in this node, this will take precedence.

*/ inline SnowflakeNodeData& WithAdditionalOptions(Aws::Map&& value) { SetAdditionalOptions(std::move(value)); return *this;} /** *

Specifies additional options passed to the Snowflake connector. If options * are specified elsewhere in this node, this will take precedence.

*/ inline SnowflakeNodeData& AddAdditionalOptions(const Aws::String& key, const Aws::String& value) { m_additionalOptionsHasBeenSet = true; m_additionalOptions.emplace(key, value); return *this; } /** *

Specifies additional options passed to the Snowflake connector. If options * are specified elsewhere in this node, this will take precedence.

*/ inline SnowflakeNodeData& AddAdditionalOptions(Aws::String&& key, const Aws::String& value) { m_additionalOptionsHasBeenSet = true; m_additionalOptions.emplace(std::move(key), value); return *this; } /** *

Specifies additional options passed to the Snowflake connector. If options * are specified elsewhere in this node, this will take precedence.

*/ inline SnowflakeNodeData& AddAdditionalOptions(const Aws::String& key, Aws::String&& value) { m_additionalOptionsHasBeenSet = true; m_additionalOptions.emplace(key, std::move(value)); return *this; } /** *

Specifies additional options passed to the Snowflake connector. If options * are specified elsewhere in this node, this will take precedence.

*/ inline SnowflakeNodeData& AddAdditionalOptions(Aws::String&& key, Aws::String&& value) { m_additionalOptionsHasBeenSet = true; m_additionalOptions.emplace(std::move(key), std::move(value)); return *this; } /** *

Specifies additional options passed to the Snowflake connector. If options * are specified elsewhere in this node, this will take precedence.

*/ inline SnowflakeNodeData& AddAdditionalOptions(const char* key, Aws::String&& value) { m_additionalOptionsHasBeenSet = true; m_additionalOptions.emplace(key, std::move(value)); return *this; } /** *

Specifies additional options passed to the Snowflake connector. If options * are specified elsewhere in this node, this will take precedence.

*/ inline SnowflakeNodeData& AddAdditionalOptions(Aws::String&& key, const char* value) { m_additionalOptionsHasBeenSet = true; m_additionalOptions.emplace(std::move(key), value); return *this; } /** *

Specifies additional options passed to the Snowflake connector. If options * are specified elsewhere in this node, this will take precedence.

*/ inline SnowflakeNodeData& AddAdditionalOptions(const char* key, const char* value) { m_additionalOptionsHasBeenSet = true; m_additionalOptions.emplace(key, value); return *this; } /** *

A SQL string used to retrieve data with the query * sourcetype.

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

A SQL string used to retrieve data with the query * sourcetype.

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

A SQL string used to retrieve data with the query * sourcetype.

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

A SQL string used to retrieve data with the query * sourcetype.

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

A SQL string used to retrieve data with the query * sourcetype.

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

A SQL string used to retrieve data with the query * sourcetype.

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

A SQL string used to retrieve data with the query * sourcetype.

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

A SQL string used to retrieve data with the query * sourcetype.

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

A SQL string run before the Snowflake connector performs its standard * actions.

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

A SQL string run before the Snowflake connector performs its standard * actions.

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

A SQL string run before the Snowflake connector performs its standard * actions.

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

A SQL string run before the Snowflake connector performs its standard * actions.

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

A SQL string run before the Snowflake connector performs its standard * actions.

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

A SQL string run before the Snowflake connector performs its standard * actions.

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

A SQL string run before the Snowflake connector performs its standard * actions.

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

A SQL string run before the Snowflake connector performs its standard * actions.

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

A SQL string run after the Snowflake connector performs its standard * actions.

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

A SQL string run after the Snowflake connector performs its standard * actions.

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

A SQL string run after the Snowflake connector performs its standard * actions.

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

A SQL string run after the Snowflake connector performs its standard * actions.

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

A SQL string run after the Snowflake connector performs its standard * actions.

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

A SQL string run after the Snowflake connector performs its standard * actions.

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

A SQL string run after the Snowflake connector performs its standard * actions.

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

A SQL string run after the Snowflake connector performs its standard * actions.

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

Specifies what action to take when writing to a table with preexisting data. * Valid values: append, merge, truncate, * drop.

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

Specifies what action to take when writing to a table with preexisting data. * Valid values: append, merge, truncate, * drop.

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

Specifies what action to take when writing to a table with preexisting data. * Valid values: append, merge, truncate, * drop.

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

Specifies what action to take when writing to a table with preexisting data. * Valid values: append, merge, truncate, * drop.

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

Specifies what action to take when writing to a table with preexisting data. * Valid values: append, merge, truncate, * drop.

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

Specifies what action to take when writing to a table with preexisting data. * Valid values: append, merge, truncate, * drop.

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

Specifies what action to take when writing to a table with preexisting data. * Valid values: append, merge, truncate, * drop.

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

Specifies what action to take when writing to a table with preexisting data. * Valid values: append, merge, truncate, * drop.

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

Used when Action is append. Specifies the resolution behavior * when a row already exists. If true, preexisting rows will be updated. If false, * those rows will be inserted.

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

Used when Action is append. Specifies the resolution behavior * when a row already exists. If true, preexisting rows will be updated. If false, * those rows will be inserted.

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

Used when Action is append. Specifies the resolution behavior * when a row already exists. If true, preexisting rows will be updated. If false, * those rows will be inserted.

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

Used when Action is append. Specifies the resolution behavior * when a row already exists. If true, preexisting rows will be updated. If false, * those rows will be inserted.

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

Specifies a merge action. Valid values: simple, * custom. If simple, merge behavior is defined by * MergeWhenMatched and MergeWhenNotMatched. If custom, * defined by MergeClause.

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

Specifies a merge action. Valid values: simple, * custom. If simple, merge behavior is defined by * MergeWhenMatched and MergeWhenNotMatched. If custom, * defined by MergeClause.

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

Specifies a merge action. Valid values: simple, * custom. If simple, merge behavior is defined by * MergeWhenMatched and MergeWhenNotMatched. If custom, * defined by MergeClause.

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

Specifies a merge action. Valid values: simple, * custom. If simple, merge behavior is defined by * MergeWhenMatched and MergeWhenNotMatched. If custom, * defined by MergeClause.

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

Specifies a merge action. Valid values: simple, * custom. If simple, merge behavior is defined by * MergeWhenMatched and MergeWhenNotMatched. If custom, * defined by MergeClause.

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

Specifies a merge action. Valid values: simple, * custom. If simple, merge behavior is defined by * MergeWhenMatched and MergeWhenNotMatched. If custom, * defined by MergeClause.

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

Specifies a merge action. Valid values: simple, * custom. If simple, merge behavior is defined by * MergeWhenMatched and MergeWhenNotMatched. If custom, * defined by MergeClause.

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

Specifies a merge action. Valid values: simple, * custom. If simple, merge behavior is defined by * MergeWhenMatched and MergeWhenNotMatched. If custom, * defined by MergeClause.

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

Specifies how to resolve records that match preexisting data when merging. * Valid values: update, delete.

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

Specifies how to resolve records that match preexisting data when merging. * Valid values: update, delete.

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

Specifies how to resolve records that match preexisting data when merging. * Valid values: update, delete.

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

Specifies how to resolve records that match preexisting data when merging. * Valid values: update, delete.

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

Specifies how to resolve records that match preexisting data when merging. * Valid values: update, delete.

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

Specifies how to resolve records that match preexisting data when merging. * Valid values: update, delete.

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

Specifies how to resolve records that match preexisting data when merging. * Valid values: update, delete.

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

Specifies how to resolve records that match preexisting data when merging. * Valid values: update, delete.

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

Specifies how to process records that do not match preexisting data when * merging. Valid values: insert, none.

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

Specifies how to process records that do not match preexisting data when * merging. Valid values: insert, none.

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

Specifies how to process records that do not match preexisting data when * merging. Valid values: insert, none.

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

Specifies how to process records that do not match preexisting data when * merging. Valid values: insert, none.

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

Specifies how to process records that do not match preexisting data when * merging. Valid values: insert, none.

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

Specifies how to process records that do not match preexisting data when * merging. Valid values: insert, none.

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

Specifies how to process records that do not match preexisting data when * merging. Valid values: insert, none.

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

Specifies how to process records that do not match preexisting data when * merging. Valid values: insert, none.

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

A SQL statement that specifies a custom merge behavior.

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

A SQL statement that specifies a custom merge behavior.

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

A SQL statement that specifies a custom merge behavior.

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

A SQL statement that specifies a custom merge behavior.

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

A SQL statement that specifies a custom merge behavior.

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

A SQL statement that specifies a custom merge behavior.

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

A SQL statement that specifies a custom merge behavior.

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

A SQL statement that specifies a custom merge behavior.

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

The name of a staging table used when performing merge or upsert * append actions. Data is written to this table, then moved to * table by a generated postaction.

*/ inline const Aws::String& GetStagingTable() const{ return m_stagingTable; } /** *

The name of a staging table used when performing merge or upsert * append actions. Data is written to this table, then moved to * table by a generated postaction.

*/ inline bool StagingTableHasBeenSet() const { return m_stagingTableHasBeenSet; } /** *

The name of a staging table used when performing merge or upsert * append actions. Data is written to this table, then moved to * table by a generated postaction.

*/ inline void SetStagingTable(const Aws::String& value) { m_stagingTableHasBeenSet = true; m_stagingTable = value; } /** *

The name of a staging table used when performing merge or upsert * append actions. Data is written to this table, then moved to * table by a generated postaction.

*/ inline void SetStagingTable(Aws::String&& value) { m_stagingTableHasBeenSet = true; m_stagingTable = std::move(value); } /** *

The name of a staging table used when performing merge or upsert * append actions. Data is written to this table, then moved to * table by a generated postaction.

*/ inline void SetStagingTable(const char* value) { m_stagingTableHasBeenSet = true; m_stagingTable.assign(value); } /** *

The name of a staging table used when performing merge or upsert * append actions. Data is written to this table, then moved to * table by a generated postaction.

*/ inline SnowflakeNodeData& WithStagingTable(const Aws::String& value) { SetStagingTable(value); return *this;} /** *

The name of a staging table used when performing merge or upsert * append actions. Data is written to this table, then moved to * table by a generated postaction.

*/ inline SnowflakeNodeData& WithStagingTable(Aws::String&& value) { SetStagingTable(std::move(value)); return *this;} /** *

The name of a staging table used when performing merge or upsert * append actions. Data is written to this table, then moved to * table by a generated postaction.

*/ inline SnowflakeNodeData& WithStagingTable(const char* value) { SetStagingTable(value); return *this;} /** *

Specifies the columns combined to identify a record when detecting matches * for merges and upserts. A list of structures with value, * label and description keys. Each structure describes * a column.

*/ inline const Aws::Vector