/* * Copyright 2018-2023 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. */ package com.amazonaws.services.glue.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *

* Specifies configuration for Snowflake nodes in Glue Studio. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class SnowflakeNodeData implements Serializable, Cloneable, StructuredPojo { /** *

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

*/ private String sourceType; /** *

* Specifies a Glue Data Catalog Connection to a Snowflake endpoint. *

*/ private Option connection; /** *

* Specifies a Snowflake database schema for your node to use. *

*/ private String schema; /** *

* Specifies a Snowflake table for your node to use. *

*/ private String table; /** *

* Specifies a Snowflake database for your node to use. *

*/ private String database; /** *

* Not currently used. *

*/ private String tempDir; /** *

* Not currently used. *

*/ private Option iamRole; /** *

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

*/ private java.util.Map additionalOptions; /** *

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

*/ private String sampleQuery; /** *

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

*/ private String preAction; /** *

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

*/ private String postAction; /** *

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

*/ private String action; /** *

* 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. *

*/ private Boolean upsert; /** *

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

*/ private String mergeAction; /** *

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

*/ private String mergeWhenMatched; /** *

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

*/ private String mergeWhenNotMatched; /** *

* A SQL statement that specifies a custom merge behavior. *

*/ private String mergeClause; /** *

* 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. *

*/ private String stagingTable; /** *

* 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. *

*/ private java.util.List