/* * 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 an Amazon Redshift node. *

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

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

*/ private String accessType; /** *

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

*/ private String sourceType; /** *

* The Glue connection to the Redshift cluster. *

*/ private Option connection; /** *

* The Redshift schema name when working with a direct connection. *

*/ private Option schema; /** *

* The Redshift table name when working with a direct connection. *

*/ private Option table; /** *

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

*/ private Option catalogDatabase; /** *

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

*/ private Option catalogTable; /** *

* The Redshift schema name when working with a data catalog. *

*/ private String catalogRedshiftSchema; /** *

* The database table to read from. *

*/ private String catalogRedshiftTable; /** *

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

*/ private String tempDir; /** *

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

*/ private Option iamRole; /** *

* Optional values when connecting to the Redshift cluster. *

*/ private java.util.List advancedOptions; /** *

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

*/ private String sampleQuery; /** *

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

*/ private String preAction; /** *

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

*/ private String postAction; /** *

* Specifies how writing to a Redshift cluser will occur. *

*/ private String action; /** *

* Specifies the prefix to a table. *

*/ private String tablePrefix; /** *

* The action used on Redshift sinks when doing an APPEND. *

*/ private Boolean upsert; /** *

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

*/ private String mergeAction; /** *

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

*/ private String mergeWhenMatched; /** *

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

*/ private String mergeWhenNotMatched; /** *

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

*/ private String mergeClause; /** *

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

*/ private String crawlerConnection; /** *

* The array of schema output for a given node. *

*/ private java.util.List