All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.databasemigrationservice.model.RedshiftSettings Maven / Gradle / Ivy

/*
 * Copyright 2019-2024 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.databasemigrationservice.model;

import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;

/**
 * 

* Provides information that defines an Amazon Redshift endpoint. *

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

* A value that indicates to allow any date format, including invalid formats such as 00/00/00 00:00:00, to be * loaded without generating an error. You can choose true or false (the default). *

*

* This parameter applies only to TIMESTAMP and DATE columns. Always use ACCEPTANYDATE with the DATEFORMAT * parameter. If the date format for the data doesn't match the DATEFORMAT specification, Amazon Redshift inserts a * NULL value into that field. *

*/ private Boolean acceptAnyDate; /** *

* Code to run after connecting. This parameter should contain the code itself, not the name of a file containing * the code. *

*/ private String afterConnectScript; /** *

* An S3 folder where the comma-separated-value (.csv) files are stored before being uploaded to the target Redshift * cluster. *

*

* For full load mode, DMS converts source records into .csv files and loads them to the BucketFolder/TableID * path. DMS uses the Redshift COPY command to upload the .csv files to the target table. The files are * deleted once the COPY operation has finished. For more information, see COPY in the Amazon Redshift Database * Developer Guide. *

*

* For change-data-capture (CDC) mode, DMS creates a NetChanges table, and loads the .csv files to this * BucketFolder/NetChangesTableID path. *

*/ private String bucketFolder; /** *

* The name of the intermediate S3 bucket used to store .csv files before uploading data to Redshift. *

*/ private String bucketName; /** *

* If Amazon Redshift is configured to support case sensitive schema names, set CaseSensitiveNames to * true. The default is false. *

*/ private Boolean caseSensitiveNames; /** *

* If you set CompUpdate to true Amazon Redshift applies automatic compression if the * table is empty. This applies even if the table columns already have encodings other than RAW. If you * set CompUpdate to false, automatic compression is disabled and existing column * encodings aren't changed. The default is true. *

*/ private Boolean compUpdate; /** *

* A value that sets the amount of time to wait (in milliseconds) before timing out, beginning from when you * initially establish a connection. *

*/ private Integer connectionTimeout; /** *

* The name of the Amazon Redshift data warehouse (service) that you are working with. *

*/ private String databaseName; /** *

* The date format that you are using. Valid values are auto (case-sensitive), your date format string * enclosed in quotes, or NULL. If this parameter is left unset (NULL), it defaults to a format of 'YYYY-MM-DD'. * Using auto recognizes most strings, even some that aren't supported when you use a date format * string. *

*

* If your date and time values use formats different from each other, set this to auto. *

*/ private String dateFormat; /** *

* A value that specifies whether DMS should migrate empty CHAR and VARCHAR fields as NULL. A value of * true sets empty CHAR and VARCHAR fields to null. The default is false. *

*/ private Boolean emptyAsNull; /** *

* The type of server-side encryption that you want to use for your data. This encryption type is part of the * endpoint settings or the extra connections attributes for Amazon S3. You can choose either SSE_S3 * (the default) or SSE_KMS. *

* *

* For the ModifyEndpoint operation, you can change the existing value of the * EncryptionMode parameter from SSE_KMS to SSE_S3. But you can’t change the * existing value from SSE_S3 to SSE_KMS. *

*
*

* To use SSE_S3, create an Identity and Access Management (IAM) role with a policy that allows * "arn:aws:s3:::*" to use the following actions: "s3:PutObject", "s3:ListBucket" *

*/ private String encryptionMode; /** *

* This setting is only valid for a full-load migration task. Set ExplicitIds to true to * have tables with IDENTITY columns override their auto-generated values with explicit values loaded * from the source data files used to populate the tables. The default is false. *

*/ private Boolean explicitIds; /** *

* The number of threads used to upload a single file. This parameter accepts a value from 1 through 64. It defaults * to 10. *

*

* The number of parallel streams used to upload a single .csv file to an S3 bucket using S3 Multipart Upload. For * more information, see Multipart upload * overview. *

*

* FileTransferUploadStreams accepts a value from 1 through 64. It defaults to 10. *

*/ private Integer fileTransferUploadStreams; /** *

* The amount of time to wait (in milliseconds) before timing out of operations performed by DMS on a Redshift * cluster, such as Redshift COPY, INSERT, DELETE, and UPDATE. *

*/ private Integer loadTimeout; /** *

* The maximum size (in KB) of any .csv file used to load data on an S3 bucket and transfer data to Amazon Redshift. * It defaults to 1048576KB (1 GB). *

*/ private Integer maxFileSize; /** *

* The password for the user named in the username property. *

*/ private String password; /** *

* The port number for Amazon Redshift. The default value is 5439. *

*/ private Integer port; /** *

* A value that specifies to remove surrounding quotation marks from strings in the incoming data. All characters * within the quotation marks, including delimiters, are retained. Choose true to remove quotation * marks. The default is false. *

*/ private Boolean removeQuotes; /** *

* A list of characters that you want to replace. Use with ReplaceChars. *

*/ private String replaceInvalidChars; /** *

* A value that specifies to replaces the invalid characters specified in ReplaceInvalidChars, * substituting the specified characters instead. The default is "?". *

*/ private String replaceChars; /** *

* The name of the Amazon Redshift cluster you are using. *

*/ private String serverName; /** *

* The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon Redshift service. The role must * allow the iam:PassRole action. *

*/ private String serviceAccessRoleArn; /** *

* The KMS key ID. If you are using SSE_KMS for the EncryptionMode, provide this key ID. * The key that you use needs an attached policy that enables IAM user permissions and allows use of the key. *

*/ private String serverSideEncryptionKmsKeyId; /** *

* The time format that you want to use. Valid values are auto (case-sensitive), * 'timeformat_string', 'epochsecs', or 'epochmillisecs'. It defaults to 10. * Using auto recognizes most strings, even some that aren't supported when you use a time format * string. *

*

* If your date and time values use formats different from each other, set this parameter to auto. *

*/ private String timeFormat; /** *

* A value that specifies to remove the trailing white space characters from a VARCHAR string. This parameter * applies only to columns with a VARCHAR data type. Choose true to remove unneeded white space. The * default is false. *

*/ private Boolean trimBlanks; /** *

* A value that specifies to truncate data in columns to the appropriate number of characters, so that the data fits * in the column. This parameter applies only to columns with a VARCHAR or CHAR data type, and rows with a size of 4 * MB or less. Choose true to truncate data. The default is false. *

*/ private Boolean truncateColumns; /** *

* An Amazon Redshift user name for a registered user. *

*/ private String username; /** *

* The size (in KB) of the in-memory file write buffer used when generating .csv files on the local disk at the DMS * replication instance. The default value is 1000 (buffer size is 1000KB). *

*/ private Integer writeBufferSize; /** *

* The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as the trusted entity and grants the * required permissions to access the value in SecretsManagerSecret. The role must allow the * iam:PassRole action. SecretsManagerSecret has the value of the Amazon Web Services * Secrets Manager secret that allows access to the Amazon Redshift endpoint. *

* *

* You can specify one of two sets of values for these permissions. You can specify the values for this setting and * SecretsManagerSecretId. Or you can specify clear-text values for UserName, * Password, ServerName, and Port. You can't specify both. For more * information on creating this SecretsManagerSecret and the SecretsManagerAccessRoleArn * and SecretsManagerSecretId required to access it, see Using * secrets to access Database Migration Service resources in the Database Migration Service User Guide. *

*
*/ private String secretsManagerAccessRoleArn; /** *

* The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that contains the Amazon * Redshift endpoint connection details. *

*/ private String secretsManagerSecretId; /** *

* When true, lets Redshift migrate the boolean type as boolean. By default, Redshift migrates booleans as * varchar(1). You must set this setting on both the source and target endpoints for it to take effect. *

*/ private Boolean mapBooleanAsBoolean; /** *

* A value that indicates to allow any date format, including invalid formats such as 00/00/00 00:00:00, to be * loaded without generating an error. You can choose true or false (the default). *

*

* This parameter applies only to TIMESTAMP and DATE columns. Always use ACCEPTANYDATE with the DATEFORMAT * parameter. If the date format for the data doesn't match the DATEFORMAT specification, Amazon Redshift inserts a * NULL value into that field. *

* * @param acceptAnyDate * A value that indicates to allow any date format, including invalid formats such as 00/00/00 00:00:00, to * be loaded without generating an error. You can choose true or false (the * default).

*

* This parameter applies only to TIMESTAMP and DATE columns. Always use ACCEPTANYDATE with the DATEFORMAT * parameter. If the date format for the data doesn't match the DATEFORMAT specification, Amazon Redshift * inserts a NULL value into that field. */ public void setAcceptAnyDate(Boolean acceptAnyDate) { this.acceptAnyDate = acceptAnyDate; } /** *

* A value that indicates to allow any date format, including invalid formats such as 00/00/00 00:00:00, to be * loaded without generating an error. You can choose true or false (the default). *

*

* This parameter applies only to TIMESTAMP and DATE columns. Always use ACCEPTANYDATE with the DATEFORMAT * parameter. If the date format for the data doesn't match the DATEFORMAT specification, Amazon Redshift inserts a * NULL value into that field. *

* * @return A value that indicates to allow any date format, including invalid formats such as 00/00/00 00:00:00, to * be loaded without generating an error. You can choose true or false (the * default).

*

* This parameter applies only to TIMESTAMP and DATE columns. Always use ACCEPTANYDATE with the DATEFORMAT * parameter. If the date format for the data doesn't match the DATEFORMAT specification, Amazon Redshift * inserts a NULL value into that field. */ public Boolean getAcceptAnyDate() { return this.acceptAnyDate; } /** *

* A value that indicates to allow any date format, including invalid formats such as 00/00/00 00:00:00, to be * loaded without generating an error. You can choose true or false (the default). *

*

* This parameter applies only to TIMESTAMP and DATE columns. Always use ACCEPTANYDATE with the DATEFORMAT * parameter. If the date format for the data doesn't match the DATEFORMAT specification, Amazon Redshift inserts a * NULL value into that field. *

* * @param acceptAnyDate * A value that indicates to allow any date format, including invalid formats such as 00/00/00 00:00:00, to * be loaded without generating an error. You can choose true or false (the * default).

*

* This parameter applies only to TIMESTAMP and DATE columns. Always use ACCEPTANYDATE with the DATEFORMAT * parameter. If the date format for the data doesn't match the DATEFORMAT specification, Amazon Redshift * inserts a NULL value into that field. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withAcceptAnyDate(Boolean acceptAnyDate) { setAcceptAnyDate(acceptAnyDate); return this; } /** *

* A value that indicates to allow any date format, including invalid formats such as 00/00/00 00:00:00, to be * loaded without generating an error. You can choose true or false (the default). *

*

* This parameter applies only to TIMESTAMP and DATE columns. Always use ACCEPTANYDATE with the DATEFORMAT * parameter. If the date format for the data doesn't match the DATEFORMAT specification, Amazon Redshift inserts a * NULL value into that field. *

* * @return A value that indicates to allow any date format, including invalid formats such as 00/00/00 00:00:00, to * be loaded without generating an error. You can choose true or false (the * default).

*

* This parameter applies only to TIMESTAMP and DATE columns. Always use ACCEPTANYDATE with the DATEFORMAT * parameter. If the date format for the data doesn't match the DATEFORMAT specification, Amazon Redshift * inserts a NULL value into that field. */ public Boolean isAcceptAnyDate() { return this.acceptAnyDate; } /** *

* Code to run after connecting. This parameter should contain the code itself, not the name of a file containing * the code. *

* * @param afterConnectScript * Code to run after connecting. This parameter should contain the code itself, not the name of a file * containing the code. */ public void setAfterConnectScript(String afterConnectScript) { this.afterConnectScript = afterConnectScript; } /** *

* Code to run after connecting. This parameter should contain the code itself, not the name of a file containing * the code. *

* * @return Code to run after connecting. This parameter should contain the code itself, not the name of a file * containing the code. */ public String getAfterConnectScript() { return this.afterConnectScript; } /** *

* Code to run after connecting. This parameter should contain the code itself, not the name of a file containing * the code. *

* * @param afterConnectScript * Code to run after connecting. This parameter should contain the code itself, not the name of a file * containing the code. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withAfterConnectScript(String afterConnectScript) { setAfterConnectScript(afterConnectScript); return this; } /** *

* An S3 folder where the comma-separated-value (.csv) files are stored before being uploaded to the target Redshift * cluster. *

*

* For full load mode, DMS converts source records into .csv files and loads them to the BucketFolder/TableID * path. DMS uses the Redshift COPY command to upload the .csv files to the target table. The files are * deleted once the COPY operation has finished. For more information, see COPY in the Amazon Redshift Database * Developer Guide. *

*

* For change-data-capture (CDC) mode, DMS creates a NetChanges table, and loads the .csv files to this * BucketFolder/NetChangesTableID path. *

* * @param bucketFolder * An S3 folder where the comma-separated-value (.csv) files are stored before being uploaded to the target * Redshift cluster.

*

* For full load mode, DMS converts source records into .csv files and loads them to the * BucketFolder/TableID path. DMS uses the Redshift COPY command to upload the .csv files * to the target table. The files are deleted once the COPY operation has finished. For more * information, see COPY in the * Amazon Redshift Database Developer Guide. *

*

* For change-data-capture (CDC) mode, DMS creates a NetChanges table, and loads the .csv files to * this BucketFolder/NetChangesTableID path. */ public void setBucketFolder(String bucketFolder) { this.bucketFolder = bucketFolder; } /** *

* An S3 folder where the comma-separated-value (.csv) files are stored before being uploaded to the target Redshift * cluster. *

*

* For full load mode, DMS converts source records into .csv files and loads them to the BucketFolder/TableID * path. DMS uses the Redshift COPY command to upload the .csv files to the target table. The files are * deleted once the COPY operation has finished. For more information, see COPY in the Amazon Redshift Database * Developer Guide. *

*

* For change-data-capture (CDC) mode, DMS creates a NetChanges table, and loads the .csv files to this * BucketFolder/NetChangesTableID path. *

* * @return An S3 folder where the comma-separated-value (.csv) files are stored before being uploaded to the target * Redshift cluster.

*

* For full load mode, DMS converts source records into .csv files and loads them to the * BucketFolder/TableID path. DMS uses the Redshift COPY command to upload the .csv * files to the target table. The files are deleted once the COPY operation has finished. For * more information, see COPY in * the Amazon Redshift Database Developer Guide. *

*

* For change-data-capture (CDC) mode, DMS creates a NetChanges table, and loads the .csv files to * this BucketFolder/NetChangesTableID path. */ public String getBucketFolder() { return this.bucketFolder; } /** *

* An S3 folder where the comma-separated-value (.csv) files are stored before being uploaded to the target Redshift * cluster. *

*

* For full load mode, DMS converts source records into .csv files and loads them to the BucketFolder/TableID * path. DMS uses the Redshift COPY command to upload the .csv files to the target table. The files are * deleted once the COPY operation has finished. For more information, see COPY in the Amazon Redshift Database * Developer Guide. *

*

* For change-data-capture (CDC) mode, DMS creates a NetChanges table, and loads the .csv files to this * BucketFolder/NetChangesTableID path. *

* * @param bucketFolder * An S3 folder where the comma-separated-value (.csv) files are stored before being uploaded to the target * Redshift cluster.

*

* For full load mode, DMS converts source records into .csv files and loads them to the * BucketFolder/TableID path. DMS uses the Redshift COPY command to upload the .csv files * to the target table. The files are deleted once the COPY operation has finished. For more * information, see COPY in the * Amazon Redshift Database Developer Guide. *

*

* For change-data-capture (CDC) mode, DMS creates a NetChanges table, and loads the .csv files to * this BucketFolder/NetChangesTableID path. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withBucketFolder(String bucketFolder) { setBucketFolder(bucketFolder); return this; } /** *

* The name of the intermediate S3 bucket used to store .csv files before uploading data to Redshift. *

* * @param bucketName * The name of the intermediate S3 bucket used to store .csv files before uploading data to Redshift. */ public void setBucketName(String bucketName) { this.bucketName = bucketName; } /** *

* The name of the intermediate S3 bucket used to store .csv files before uploading data to Redshift. *

* * @return The name of the intermediate S3 bucket used to store .csv files before uploading data to Redshift. */ public String getBucketName() { return this.bucketName; } /** *

* The name of the intermediate S3 bucket used to store .csv files before uploading data to Redshift. *

* * @param bucketName * The name of the intermediate S3 bucket used to store .csv files before uploading data to Redshift. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withBucketName(String bucketName) { setBucketName(bucketName); return this; } /** *

* If Amazon Redshift is configured to support case sensitive schema names, set CaseSensitiveNames to * true. The default is false. *

* * @param caseSensitiveNames * If Amazon Redshift is configured to support case sensitive schema names, set * CaseSensitiveNames to true. The default is false. */ public void setCaseSensitiveNames(Boolean caseSensitiveNames) { this.caseSensitiveNames = caseSensitiveNames; } /** *

* If Amazon Redshift is configured to support case sensitive schema names, set CaseSensitiveNames to * true. The default is false. *

* * @return If Amazon Redshift is configured to support case sensitive schema names, set * CaseSensitiveNames to true. The default is false. */ public Boolean getCaseSensitiveNames() { return this.caseSensitiveNames; } /** *

* If Amazon Redshift is configured to support case sensitive schema names, set CaseSensitiveNames to * true. The default is false. *

* * @param caseSensitiveNames * If Amazon Redshift is configured to support case sensitive schema names, set * CaseSensitiveNames to true. The default is false. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withCaseSensitiveNames(Boolean caseSensitiveNames) { setCaseSensitiveNames(caseSensitiveNames); return this; } /** *

* If Amazon Redshift is configured to support case sensitive schema names, set CaseSensitiveNames to * true. The default is false. *

* * @return If Amazon Redshift is configured to support case sensitive schema names, set * CaseSensitiveNames to true. The default is false. */ public Boolean isCaseSensitiveNames() { return this.caseSensitiveNames; } /** *

* If you set CompUpdate to true Amazon Redshift applies automatic compression if the * table is empty. This applies even if the table columns already have encodings other than RAW. If you * set CompUpdate to false, automatic compression is disabled and existing column * encodings aren't changed. The default is true. *

* * @param compUpdate * If you set CompUpdate to true Amazon Redshift applies automatic compression if * the table is empty. This applies even if the table columns already have encodings other than * RAW. If you set CompUpdate to false, automatic compression is * disabled and existing column encodings aren't changed. The default is true. */ public void setCompUpdate(Boolean compUpdate) { this.compUpdate = compUpdate; } /** *

* If you set CompUpdate to true Amazon Redshift applies automatic compression if the * table is empty. This applies even if the table columns already have encodings other than RAW. If you * set CompUpdate to false, automatic compression is disabled and existing column * encodings aren't changed. The default is true. *

* * @return If you set CompUpdate to true Amazon Redshift applies automatic compression if * the table is empty. This applies even if the table columns already have encodings other than * RAW. If you set CompUpdate to false, automatic compression is * disabled and existing column encodings aren't changed. The default is true. */ public Boolean getCompUpdate() { return this.compUpdate; } /** *

* If you set CompUpdate to true Amazon Redshift applies automatic compression if the * table is empty. This applies even if the table columns already have encodings other than RAW. If you * set CompUpdate to false, automatic compression is disabled and existing column * encodings aren't changed. The default is true. *

* * @param compUpdate * If you set CompUpdate to true Amazon Redshift applies automatic compression if * the table is empty. This applies even if the table columns already have encodings other than * RAW. If you set CompUpdate to false, automatic compression is * disabled and existing column encodings aren't changed. The default is true. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withCompUpdate(Boolean compUpdate) { setCompUpdate(compUpdate); return this; } /** *

* If you set CompUpdate to true Amazon Redshift applies automatic compression if the * table is empty. This applies even if the table columns already have encodings other than RAW. If you * set CompUpdate to false, automatic compression is disabled and existing column * encodings aren't changed. The default is true. *

* * @return If you set CompUpdate to true Amazon Redshift applies automatic compression if * the table is empty. This applies even if the table columns already have encodings other than * RAW. If you set CompUpdate to false, automatic compression is * disabled and existing column encodings aren't changed. The default is true. */ public Boolean isCompUpdate() { return this.compUpdate; } /** *

* A value that sets the amount of time to wait (in milliseconds) before timing out, beginning from when you * initially establish a connection. *

* * @param connectionTimeout * A value that sets the amount of time to wait (in milliseconds) before timing out, beginning from when you * initially establish a connection. */ public void setConnectionTimeout(Integer connectionTimeout) { this.connectionTimeout = connectionTimeout; } /** *

* A value that sets the amount of time to wait (in milliseconds) before timing out, beginning from when you * initially establish a connection. *

* * @return A value that sets the amount of time to wait (in milliseconds) before timing out, beginning from when you * initially establish a connection. */ public Integer getConnectionTimeout() { return this.connectionTimeout; } /** *

* A value that sets the amount of time to wait (in milliseconds) before timing out, beginning from when you * initially establish a connection. *

* * @param connectionTimeout * A value that sets the amount of time to wait (in milliseconds) before timing out, beginning from when you * initially establish a connection. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withConnectionTimeout(Integer connectionTimeout) { setConnectionTimeout(connectionTimeout); return this; } /** *

* The name of the Amazon Redshift data warehouse (service) that you are working with. *

* * @param databaseName * The name of the Amazon Redshift data warehouse (service) that you are working with. */ public void setDatabaseName(String databaseName) { this.databaseName = databaseName; } /** *

* The name of the Amazon Redshift data warehouse (service) that you are working with. *

* * @return The name of the Amazon Redshift data warehouse (service) that you are working with. */ public String getDatabaseName() { return this.databaseName; } /** *

* The name of the Amazon Redshift data warehouse (service) that you are working with. *

* * @param databaseName * The name of the Amazon Redshift data warehouse (service) that you are working with. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withDatabaseName(String databaseName) { setDatabaseName(databaseName); return this; } /** *

* The date format that you are using. Valid values are auto (case-sensitive), your date format string * enclosed in quotes, or NULL. If this parameter is left unset (NULL), it defaults to a format of 'YYYY-MM-DD'. * Using auto recognizes most strings, even some that aren't supported when you use a date format * string. *

*

* If your date and time values use formats different from each other, set this to auto. *

* * @param dateFormat * The date format that you are using. Valid values are auto (case-sensitive), your date format * string enclosed in quotes, or NULL. If this parameter is left unset (NULL), it defaults to a format of * 'YYYY-MM-DD'. Using auto recognizes most strings, even some that aren't supported when you * use a date format string.

*

* If your date and time values use formats different from each other, set this to auto. */ public void setDateFormat(String dateFormat) { this.dateFormat = dateFormat; } /** *

* The date format that you are using. Valid values are auto (case-sensitive), your date format string * enclosed in quotes, or NULL. If this parameter is left unset (NULL), it defaults to a format of 'YYYY-MM-DD'. * Using auto recognizes most strings, even some that aren't supported when you use a date format * string. *

*

* If your date and time values use formats different from each other, set this to auto. *

* * @return The date format that you are using. Valid values are auto (case-sensitive), your date format * string enclosed in quotes, or NULL. If this parameter is left unset (NULL), it defaults to a format of * 'YYYY-MM-DD'. Using auto recognizes most strings, even some that aren't supported when you * use a date format string.

*

* If your date and time values use formats different from each other, set this to auto. */ public String getDateFormat() { return this.dateFormat; } /** *

* The date format that you are using. Valid values are auto (case-sensitive), your date format string * enclosed in quotes, or NULL. If this parameter is left unset (NULL), it defaults to a format of 'YYYY-MM-DD'. * Using auto recognizes most strings, even some that aren't supported when you use a date format * string. *

*

* If your date and time values use formats different from each other, set this to auto. *

* * @param dateFormat * The date format that you are using. Valid values are auto (case-sensitive), your date format * string enclosed in quotes, or NULL. If this parameter is left unset (NULL), it defaults to a format of * 'YYYY-MM-DD'. Using auto recognizes most strings, even some that aren't supported when you * use a date format string.

*

* If your date and time values use formats different from each other, set this to auto. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withDateFormat(String dateFormat) { setDateFormat(dateFormat); return this; } /** *

* A value that specifies whether DMS should migrate empty CHAR and VARCHAR fields as NULL. A value of * true sets empty CHAR and VARCHAR fields to null. The default is false. *

* * @param emptyAsNull * A value that specifies whether DMS should migrate empty CHAR and VARCHAR fields as NULL. A value of * true sets empty CHAR and VARCHAR fields to null. The default is false. */ public void setEmptyAsNull(Boolean emptyAsNull) { this.emptyAsNull = emptyAsNull; } /** *

* A value that specifies whether DMS should migrate empty CHAR and VARCHAR fields as NULL. A value of * true sets empty CHAR and VARCHAR fields to null. The default is false. *

* * @return A value that specifies whether DMS should migrate empty CHAR and VARCHAR fields as NULL. A value of * true sets empty CHAR and VARCHAR fields to null. The default is false. */ public Boolean getEmptyAsNull() { return this.emptyAsNull; } /** *

* A value that specifies whether DMS should migrate empty CHAR and VARCHAR fields as NULL. A value of * true sets empty CHAR and VARCHAR fields to null. The default is false. *

* * @param emptyAsNull * A value that specifies whether DMS should migrate empty CHAR and VARCHAR fields as NULL. A value of * true sets empty CHAR and VARCHAR fields to null. The default is false. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withEmptyAsNull(Boolean emptyAsNull) { setEmptyAsNull(emptyAsNull); return this; } /** *

* A value that specifies whether DMS should migrate empty CHAR and VARCHAR fields as NULL. A value of * true sets empty CHAR and VARCHAR fields to null. The default is false. *

* * @return A value that specifies whether DMS should migrate empty CHAR and VARCHAR fields as NULL. A value of * true sets empty CHAR and VARCHAR fields to null. The default is false. */ public Boolean isEmptyAsNull() { return this.emptyAsNull; } /** *

* The type of server-side encryption that you want to use for your data. This encryption type is part of the * endpoint settings or the extra connections attributes for Amazon S3. You can choose either SSE_S3 * (the default) or SSE_KMS. *

* *

* For the ModifyEndpoint operation, you can change the existing value of the * EncryptionMode parameter from SSE_KMS to SSE_S3. But you can’t change the * existing value from SSE_S3 to SSE_KMS. *

*
*

* To use SSE_S3, create an Identity and Access Management (IAM) role with a policy that allows * "arn:aws:s3:::*" to use the following actions: "s3:PutObject", "s3:ListBucket" *

* * @param encryptionMode * The type of server-side encryption that you want to use for your data. This encryption type is part of the * endpoint settings or the extra connections attributes for Amazon S3. You can choose either * SSE_S3 (the default) or SSE_KMS.

*

* For the ModifyEndpoint operation, you can change the existing value of the * EncryptionMode parameter from SSE_KMS to SSE_S3. But you can’t * change the existing value from SSE_S3 to SSE_KMS. *

*
*

* To use SSE_S3, create an Identity and Access Management (IAM) role with a policy that allows * "arn:aws:s3:::*" to use the following actions: "s3:PutObject", "s3:ListBucket" * @see EncryptionModeValue */ public void setEncryptionMode(String encryptionMode) { this.encryptionMode = encryptionMode; } /** *

* The type of server-side encryption that you want to use for your data. This encryption type is part of the * endpoint settings or the extra connections attributes for Amazon S3. You can choose either SSE_S3 * (the default) or SSE_KMS. *

* *

* For the ModifyEndpoint operation, you can change the existing value of the * EncryptionMode parameter from SSE_KMS to SSE_S3. But you can’t change the * existing value from SSE_S3 to SSE_KMS. *

*
*

* To use SSE_S3, create an Identity and Access Management (IAM) role with a policy that allows * "arn:aws:s3:::*" to use the following actions: "s3:PutObject", "s3:ListBucket" *

* * @return The type of server-side encryption that you want to use for your data. This encryption type is part of * the endpoint settings or the extra connections attributes for Amazon S3. You can choose either * SSE_S3 (the default) or SSE_KMS.

*

* For the ModifyEndpoint operation, you can change the existing value of the * EncryptionMode parameter from SSE_KMS to SSE_S3. But you can’t * change the existing value from SSE_S3 to SSE_KMS. *

*
*

* To use SSE_S3, create an Identity and Access Management (IAM) role with a policy that allows * "arn:aws:s3:::*" to use the following actions: "s3:PutObject", "s3:ListBucket" * @see EncryptionModeValue */ public String getEncryptionMode() { return this.encryptionMode; } /** *

* The type of server-side encryption that you want to use for your data. This encryption type is part of the * endpoint settings or the extra connections attributes for Amazon S3. You can choose either SSE_S3 * (the default) or SSE_KMS. *

* *

* For the ModifyEndpoint operation, you can change the existing value of the * EncryptionMode parameter from SSE_KMS to SSE_S3. But you can’t change the * existing value from SSE_S3 to SSE_KMS. *

*
*

* To use SSE_S3, create an Identity and Access Management (IAM) role with a policy that allows * "arn:aws:s3:::*" to use the following actions: "s3:PutObject", "s3:ListBucket" *

* * @param encryptionMode * The type of server-side encryption that you want to use for your data. This encryption type is part of the * endpoint settings or the extra connections attributes for Amazon S3. You can choose either * SSE_S3 (the default) or SSE_KMS.

*

* For the ModifyEndpoint operation, you can change the existing value of the * EncryptionMode parameter from SSE_KMS to SSE_S3. But you can’t * change the existing value from SSE_S3 to SSE_KMS. *

*
*

* To use SSE_S3, create an Identity and Access Management (IAM) role with a policy that allows * "arn:aws:s3:::*" to use the following actions: "s3:PutObject", "s3:ListBucket" * @return Returns a reference to this object so that method calls can be chained together. * @see EncryptionModeValue */ public RedshiftSettings withEncryptionMode(String encryptionMode) { setEncryptionMode(encryptionMode); return this; } /** *

* The type of server-side encryption that you want to use for your data. This encryption type is part of the * endpoint settings or the extra connections attributes for Amazon S3. You can choose either SSE_S3 * (the default) or SSE_KMS. *

* *

* For the ModifyEndpoint operation, you can change the existing value of the * EncryptionMode parameter from SSE_KMS to SSE_S3. But you can’t change the * existing value from SSE_S3 to SSE_KMS. *

*
*

* To use SSE_S3, create an Identity and Access Management (IAM) role with a policy that allows * "arn:aws:s3:::*" to use the following actions: "s3:PutObject", "s3:ListBucket" *

* * @param encryptionMode * The type of server-side encryption that you want to use for your data. This encryption type is part of the * endpoint settings or the extra connections attributes for Amazon S3. You can choose either * SSE_S3 (the default) or SSE_KMS.

*

* For the ModifyEndpoint operation, you can change the existing value of the * EncryptionMode parameter from SSE_KMS to SSE_S3. But you can’t * change the existing value from SSE_S3 to SSE_KMS. *

*
*

* To use SSE_S3, create an Identity and Access Management (IAM) role with a policy that allows * "arn:aws:s3:::*" to use the following actions: "s3:PutObject", "s3:ListBucket" * @return Returns a reference to this object so that method calls can be chained together. * @see EncryptionModeValue */ public RedshiftSettings withEncryptionMode(EncryptionModeValue encryptionMode) { this.encryptionMode = encryptionMode.toString(); return this; } /** *

* This setting is only valid for a full-load migration task. Set ExplicitIds to true to * have tables with IDENTITY columns override their auto-generated values with explicit values loaded * from the source data files used to populate the tables. The default is false. *

* * @param explicitIds * This setting is only valid for a full-load migration task. Set ExplicitIds to * true to have tables with IDENTITY columns override their auto-generated values * with explicit values loaded from the source data files used to populate the tables. The default is * false. */ public void setExplicitIds(Boolean explicitIds) { this.explicitIds = explicitIds; } /** *

* This setting is only valid for a full-load migration task. Set ExplicitIds to true to * have tables with IDENTITY columns override their auto-generated values with explicit values loaded * from the source data files used to populate the tables. The default is false. *

* * @return This setting is only valid for a full-load migration task. Set ExplicitIds to * true to have tables with IDENTITY columns override their auto-generated values * with explicit values loaded from the source data files used to populate the tables. The default is * false. */ public Boolean getExplicitIds() { return this.explicitIds; } /** *

* This setting is only valid for a full-load migration task. Set ExplicitIds to true to * have tables with IDENTITY columns override their auto-generated values with explicit values loaded * from the source data files used to populate the tables. The default is false. *

* * @param explicitIds * This setting is only valid for a full-load migration task. Set ExplicitIds to * true to have tables with IDENTITY columns override their auto-generated values * with explicit values loaded from the source data files used to populate the tables. The default is * false. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withExplicitIds(Boolean explicitIds) { setExplicitIds(explicitIds); return this; } /** *

* This setting is only valid for a full-load migration task. Set ExplicitIds to true to * have tables with IDENTITY columns override their auto-generated values with explicit values loaded * from the source data files used to populate the tables. The default is false. *

* * @return This setting is only valid for a full-load migration task. Set ExplicitIds to * true to have tables with IDENTITY columns override their auto-generated values * with explicit values loaded from the source data files used to populate the tables. The default is * false. */ public Boolean isExplicitIds() { return this.explicitIds; } /** *

* The number of threads used to upload a single file. This parameter accepts a value from 1 through 64. It defaults * to 10. *

*

* The number of parallel streams used to upload a single .csv file to an S3 bucket using S3 Multipart Upload. For * more information, see Multipart upload * overview. *

*

* FileTransferUploadStreams accepts a value from 1 through 64. It defaults to 10. *

* * @param fileTransferUploadStreams * The number of threads used to upload a single file. This parameter accepts a value from 1 through 64. It * defaults to 10.

*

* The number of parallel streams used to upload a single .csv file to an S3 bucket using S3 Multipart * Upload. For more information, see Multipart upload overview. *

*

* FileTransferUploadStreams accepts a value from 1 through 64. It defaults to 10. */ public void setFileTransferUploadStreams(Integer fileTransferUploadStreams) { this.fileTransferUploadStreams = fileTransferUploadStreams; } /** *

* The number of threads used to upload a single file. This parameter accepts a value from 1 through 64. It defaults * to 10. *

*

* The number of parallel streams used to upload a single .csv file to an S3 bucket using S3 Multipart Upload. For * more information, see Multipart upload * overview. *

*

* FileTransferUploadStreams accepts a value from 1 through 64. It defaults to 10. *

* * @return The number of threads used to upload a single file. This parameter accepts a value from 1 through 64. It * defaults to 10.

*

* The number of parallel streams used to upload a single .csv file to an S3 bucket using S3 Multipart * Upload. For more information, see Multipart upload overview. *

*

* FileTransferUploadStreams accepts a value from 1 through 64. It defaults to 10. */ public Integer getFileTransferUploadStreams() { return this.fileTransferUploadStreams; } /** *

* The number of threads used to upload a single file. This parameter accepts a value from 1 through 64. It defaults * to 10. *

*

* The number of parallel streams used to upload a single .csv file to an S3 bucket using S3 Multipart Upload. For * more information, see Multipart upload * overview. *

*

* FileTransferUploadStreams accepts a value from 1 through 64. It defaults to 10. *

* * @param fileTransferUploadStreams * The number of threads used to upload a single file. This parameter accepts a value from 1 through 64. It * defaults to 10.

*

* The number of parallel streams used to upload a single .csv file to an S3 bucket using S3 Multipart * Upload. For more information, see Multipart upload overview. *

*

* FileTransferUploadStreams accepts a value from 1 through 64. It defaults to 10. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withFileTransferUploadStreams(Integer fileTransferUploadStreams) { setFileTransferUploadStreams(fileTransferUploadStreams); return this; } /** *

* The amount of time to wait (in milliseconds) before timing out of operations performed by DMS on a Redshift * cluster, such as Redshift COPY, INSERT, DELETE, and UPDATE. *

* * @param loadTimeout * The amount of time to wait (in milliseconds) before timing out of operations performed by DMS on a * Redshift cluster, such as Redshift COPY, INSERT, DELETE, and UPDATE. */ public void setLoadTimeout(Integer loadTimeout) { this.loadTimeout = loadTimeout; } /** *

* The amount of time to wait (in milliseconds) before timing out of operations performed by DMS on a Redshift * cluster, such as Redshift COPY, INSERT, DELETE, and UPDATE. *

* * @return The amount of time to wait (in milliseconds) before timing out of operations performed by DMS on a * Redshift cluster, such as Redshift COPY, INSERT, DELETE, and UPDATE. */ public Integer getLoadTimeout() { return this.loadTimeout; } /** *

* The amount of time to wait (in milliseconds) before timing out of operations performed by DMS on a Redshift * cluster, such as Redshift COPY, INSERT, DELETE, and UPDATE. *

* * @param loadTimeout * The amount of time to wait (in milliseconds) before timing out of operations performed by DMS on a * Redshift cluster, such as Redshift COPY, INSERT, DELETE, and UPDATE. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withLoadTimeout(Integer loadTimeout) { setLoadTimeout(loadTimeout); return this; } /** *

* The maximum size (in KB) of any .csv file used to load data on an S3 bucket and transfer data to Amazon Redshift. * It defaults to 1048576KB (1 GB). *

* * @param maxFileSize * The maximum size (in KB) of any .csv file used to load data on an S3 bucket and transfer data to Amazon * Redshift. It defaults to 1048576KB (1 GB). */ public void setMaxFileSize(Integer maxFileSize) { this.maxFileSize = maxFileSize; } /** *

* The maximum size (in KB) of any .csv file used to load data on an S3 bucket and transfer data to Amazon Redshift. * It defaults to 1048576KB (1 GB). *

* * @return The maximum size (in KB) of any .csv file used to load data on an S3 bucket and transfer data to Amazon * Redshift. It defaults to 1048576KB (1 GB). */ public Integer getMaxFileSize() { return this.maxFileSize; } /** *

* The maximum size (in KB) of any .csv file used to load data on an S3 bucket and transfer data to Amazon Redshift. * It defaults to 1048576KB (1 GB). *

* * @param maxFileSize * The maximum size (in KB) of any .csv file used to load data on an S3 bucket and transfer data to Amazon * Redshift. It defaults to 1048576KB (1 GB). * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withMaxFileSize(Integer maxFileSize) { setMaxFileSize(maxFileSize); return this; } /** *

* The password for the user named in the username property. *

* * @param password * The password for the user named in the username property. */ public void setPassword(String password) { this.password = password; } /** *

* The password for the user named in the username property. *

* * @return The password for the user named in the username property. */ public String getPassword() { return this.password; } /** *

* The password for the user named in the username property. *

* * @param password * The password for the user named in the username property. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withPassword(String password) { setPassword(password); return this; } /** *

* The port number for Amazon Redshift. The default value is 5439. *

* * @param port * The port number for Amazon Redshift. The default value is 5439. */ public void setPort(Integer port) { this.port = port; } /** *

* The port number for Amazon Redshift. The default value is 5439. *

* * @return The port number for Amazon Redshift. The default value is 5439. */ public Integer getPort() { return this.port; } /** *

* The port number for Amazon Redshift. The default value is 5439. *

* * @param port * The port number for Amazon Redshift. The default value is 5439. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withPort(Integer port) { setPort(port); return this; } /** *

* A value that specifies to remove surrounding quotation marks from strings in the incoming data. All characters * within the quotation marks, including delimiters, are retained. Choose true to remove quotation * marks. The default is false. *

* * @param removeQuotes * A value that specifies to remove surrounding quotation marks from strings in the incoming data. All * characters within the quotation marks, including delimiters, are retained. Choose true to * remove quotation marks. The default is false. */ public void setRemoveQuotes(Boolean removeQuotes) { this.removeQuotes = removeQuotes; } /** *

* A value that specifies to remove surrounding quotation marks from strings in the incoming data. All characters * within the quotation marks, including delimiters, are retained. Choose true to remove quotation * marks. The default is false. *

* * @return A value that specifies to remove surrounding quotation marks from strings in the incoming data. All * characters within the quotation marks, including delimiters, are retained. Choose true to * remove quotation marks. The default is false. */ public Boolean getRemoveQuotes() { return this.removeQuotes; } /** *

* A value that specifies to remove surrounding quotation marks from strings in the incoming data. All characters * within the quotation marks, including delimiters, are retained. Choose true to remove quotation * marks. The default is false. *

* * @param removeQuotes * A value that specifies to remove surrounding quotation marks from strings in the incoming data. All * characters within the quotation marks, including delimiters, are retained. Choose true to * remove quotation marks. The default is false. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withRemoveQuotes(Boolean removeQuotes) { setRemoveQuotes(removeQuotes); return this; } /** *

* A value that specifies to remove surrounding quotation marks from strings in the incoming data. All characters * within the quotation marks, including delimiters, are retained. Choose true to remove quotation * marks. The default is false. *

* * @return A value that specifies to remove surrounding quotation marks from strings in the incoming data. All * characters within the quotation marks, including delimiters, are retained. Choose true to * remove quotation marks. The default is false. */ public Boolean isRemoveQuotes() { return this.removeQuotes; } /** *

* A list of characters that you want to replace. Use with ReplaceChars. *

* * @param replaceInvalidChars * A list of characters that you want to replace. Use with ReplaceChars. */ public void setReplaceInvalidChars(String replaceInvalidChars) { this.replaceInvalidChars = replaceInvalidChars; } /** *

* A list of characters that you want to replace. Use with ReplaceChars. *

* * @return A list of characters that you want to replace. Use with ReplaceChars. */ public String getReplaceInvalidChars() { return this.replaceInvalidChars; } /** *

* A list of characters that you want to replace. Use with ReplaceChars. *

* * @param replaceInvalidChars * A list of characters that you want to replace. Use with ReplaceChars. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withReplaceInvalidChars(String replaceInvalidChars) { setReplaceInvalidChars(replaceInvalidChars); return this; } /** *

* A value that specifies to replaces the invalid characters specified in ReplaceInvalidChars, * substituting the specified characters instead. The default is "?". *

* * @param replaceChars * A value that specifies to replaces the invalid characters specified in ReplaceInvalidChars, * substituting the specified characters instead. The default is "?". */ public void setReplaceChars(String replaceChars) { this.replaceChars = replaceChars; } /** *

* A value that specifies to replaces the invalid characters specified in ReplaceInvalidChars, * substituting the specified characters instead. The default is "?". *

* * @return A value that specifies to replaces the invalid characters specified in ReplaceInvalidChars, * substituting the specified characters instead. The default is "?". */ public String getReplaceChars() { return this.replaceChars; } /** *

* A value that specifies to replaces the invalid characters specified in ReplaceInvalidChars, * substituting the specified characters instead. The default is "?". *

* * @param replaceChars * A value that specifies to replaces the invalid characters specified in ReplaceInvalidChars, * substituting the specified characters instead. The default is "?". * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withReplaceChars(String replaceChars) { setReplaceChars(replaceChars); return this; } /** *

* The name of the Amazon Redshift cluster you are using. *

* * @param serverName * The name of the Amazon Redshift cluster you are using. */ public void setServerName(String serverName) { this.serverName = serverName; } /** *

* The name of the Amazon Redshift cluster you are using. *

* * @return The name of the Amazon Redshift cluster you are using. */ public String getServerName() { return this.serverName; } /** *

* The name of the Amazon Redshift cluster you are using. *

* * @param serverName * The name of the Amazon Redshift cluster you are using. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withServerName(String serverName) { setServerName(serverName); return this; } /** *

* The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon Redshift service. The role must * allow the iam:PassRole action. *

* * @param serviceAccessRoleArn * The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon Redshift service. The role * must allow the iam:PassRole action. */ public void setServiceAccessRoleArn(String serviceAccessRoleArn) { this.serviceAccessRoleArn = serviceAccessRoleArn; } /** *

* The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon Redshift service. The role must * allow the iam:PassRole action. *

* * @return The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon Redshift service. The role * must allow the iam:PassRole action. */ public String getServiceAccessRoleArn() { return this.serviceAccessRoleArn; } /** *

* The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon Redshift service. The role must * allow the iam:PassRole action. *

* * @param serviceAccessRoleArn * The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon Redshift service. The role * must allow the iam:PassRole action. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withServiceAccessRoleArn(String serviceAccessRoleArn) { setServiceAccessRoleArn(serviceAccessRoleArn); return this; } /** *

* The KMS key ID. If you are using SSE_KMS for the EncryptionMode, provide this key ID. * The key that you use needs an attached policy that enables IAM user permissions and allows use of the key. *

* * @param serverSideEncryptionKmsKeyId * The KMS key ID. If you are using SSE_KMS for the EncryptionMode, provide this * key ID. The key that you use needs an attached policy that enables IAM user permissions and allows use of * the key. */ public void setServerSideEncryptionKmsKeyId(String serverSideEncryptionKmsKeyId) { this.serverSideEncryptionKmsKeyId = serverSideEncryptionKmsKeyId; } /** *

* The KMS key ID. If you are using SSE_KMS for the EncryptionMode, provide this key ID. * The key that you use needs an attached policy that enables IAM user permissions and allows use of the key. *

* * @return The KMS key ID. If you are using SSE_KMS for the EncryptionMode, provide this * key ID. The key that you use needs an attached policy that enables IAM user permissions and allows use of * the key. */ public String getServerSideEncryptionKmsKeyId() { return this.serverSideEncryptionKmsKeyId; } /** *

* The KMS key ID. If you are using SSE_KMS for the EncryptionMode, provide this key ID. * The key that you use needs an attached policy that enables IAM user permissions and allows use of the key. *

* * @param serverSideEncryptionKmsKeyId * The KMS key ID. If you are using SSE_KMS for the EncryptionMode, provide this * key ID. The key that you use needs an attached policy that enables IAM user permissions and allows use of * the key. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withServerSideEncryptionKmsKeyId(String serverSideEncryptionKmsKeyId) { setServerSideEncryptionKmsKeyId(serverSideEncryptionKmsKeyId); return this; } /** *

* The time format that you want to use. Valid values are auto (case-sensitive), * 'timeformat_string', 'epochsecs', or 'epochmillisecs'. It defaults to 10. * Using auto recognizes most strings, even some that aren't supported when you use a time format * string. *

*

* If your date and time values use formats different from each other, set this parameter to auto. *

* * @param timeFormat * The time format that you want to use. Valid values are auto (case-sensitive), * 'timeformat_string', 'epochsecs', or 'epochmillisecs'. It defaults * to 10. Using auto recognizes most strings, even some that aren't supported when you use a * time format string.

*

* If your date and time values use formats different from each other, set this parameter to * auto. */ public void setTimeFormat(String timeFormat) { this.timeFormat = timeFormat; } /** *

* The time format that you want to use. Valid values are auto (case-sensitive), * 'timeformat_string', 'epochsecs', or 'epochmillisecs'. It defaults to 10. * Using auto recognizes most strings, even some that aren't supported when you use a time format * string. *

*

* If your date and time values use formats different from each other, set this parameter to auto. *

* * @return The time format that you want to use. Valid values are auto (case-sensitive), * 'timeformat_string', 'epochsecs', or 'epochmillisecs'. It defaults * to 10. Using auto recognizes most strings, even some that aren't supported when you use a * time format string.

*

* If your date and time values use formats different from each other, set this parameter to * auto. */ public String getTimeFormat() { return this.timeFormat; } /** *

* The time format that you want to use. Valid values are auto (case-sensitive), * 'timeformat_string', 'epochsecs', or 'epochmillisecs'. It defaults to 10. * Using auto recognizes most strings, even some that aren't supported when you use a time format * string. *

*

* If your date and time values use formats different from each other, set this parameter to auto. *

* * @param timeFormat * The time format that you want to use. Valid values are auto (case-sensitive), * 'timeformat_string', 'epochsecs', or 'epochmillisecs'. It defaults * to 10. Using auto recognizes most strings, even some that aren't supported when you use a * time format string.

*

* If your date and time values use formats different from each other, set this parameter to * auto. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withTimeFormat(String timeFormat) { setTimeFormat(timeFormat); return this; } /** *

* A value that specifies to remove the trailing white space characters from a VARCHAR string. This parameter * applies only to columns with a VARCHAR data type. Choose true to remove unneeded white space. The * default is false. *

* * @param trimBlanks * A value that specifies to remove the trailing white space characters from a VARCHAR string. This parameter * applies only to columns with a VARCHAR data type. Choose true to remove unneeded white space. * The default is false. */ public void setTrimBlanks(Boolean trimBlanks) { this.trimBlanks = trimBlanks; } /** *

* A value that specifies to remove the trailing white space characters from a VARCHAR string. This parameter * applies only to columns with a VARCHAR data type. Choose true to remove unneeded white space. The * default is false. *

* * @return A value that specifies to remove the trailing white space characters from a VARCHAR string. This * parameter applies only to columns with a VARCHAR data type. Choose true to remove unneeded * white space. The default is false. */ public Boolean getTrimBlanks() { return this.trimBlanks; } /** *

* A value that specifies to remove the trailing white space characters from a VARCHAR string. This parameter * applies only to columns with a VARCHAR data type. Choose true to remove unneeded white space. The * default is false. *

* * @param trimBlanks * A value that specifies to remove the trailing white space characters from a VARCHAR string. This parameter * applies only to columns with a VARCHAR data type. Choose true to remove unneeded white space. * The default is false. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withTrimBlanks(Boolean trimBlanks) { setTrimBlanks(trimBlanks); return this; } /** *

* A value that specifies to remove the trailing white space characters from a VARCHAR string. This parameter * applies only to columns with a VARCHAR data type. Choose true to remove unneeded white space. The * default is false. *

* * @return A value that specifies to remove the trailing white space characters from a VARCHAR string. This * parameter applies only to columns with a VARCHAR data type. Choose true to remove unneeded * white space. The default is false. */ public Boolean isTrimBlanks() { return this.trimBlanks; } /** *

* A value that specifies to truncate data in columns to the appropriate number of characters, so that the data fits * in the column. This parameter applies only to columns with a VARCHAR or CHAR data type, and rows with a size of 4 * MB or less. Choose true to truncate data. The default is false. *

* * @param truncateColumns * A value that specifies to truncate data in columns to the appropriate number of characters, so that the * data fits in the column. This parameter applies only to columns with a VARCHAR or CHAR data type, and rows * with a size of 4 MB or less. Choose true to truncate data. The default is false. */ public void setTruncateColumns(Boolean truncateColumns) { this.truncateColumns = truncateColumns; } /** *

* A value that specifies to truncate data in columns to the appropriate number of characters, so that the data fits * in the column. This parameter applies only to columns with a VARCHAR or CHAR data type, and rows with a size of 4 * MB or less. Choose true to truncate data. The default is false. *

* * @return A value that specifies to truncate data in columns to the appropriate number of characters, so that the * data fits in the column. This parameter applies only to columns with a VARCHAR or CHAR data type, and * rows with a size of 4 MB or less. Choose true to truncate data. The default is * false. */ public Boolean getTruncateColumns() { return this.truncateColumns; } /** *

* A value that specifies to truncate data in columns to the appropriate number of characters, so that the data fits * in the column. This parameter applies only to columns with a VARCHAR or CHAR data type, and rows with a size of 4 * MB or less. Choose true to truncate data. The default is false. *

* * @param truncateColumns * A value that specifies to truncate data in columns to the appropriate number of characters, so that the * data fits in the column. This parameter applies only to columns with a VARCHAR or CHAR data type, and rows * with a size of 4 MB or less. Choose true to truncate data. The default is false. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withTruncateColumns(Boolean truncateColumns) { setTruncateColumns(truncateColumns); return this; } /** *

* A value that specifies to truncate data in columns to the appropriate number of characters, so that the data fits * in the column. This parameter applies only to columns with a VARCHAR or CHAR data type, and rows with a size of 4 * MB or less. Choose true to truncate data. The default is false. *

* * @return A value that specifies to truncate data in columns to the appropriate number of characters, so that the * data fits in the column. This parameter applies only to columns with a VARCHAR or CHAR data type, and * rows with a size of 4 MB or less. Choose true to truncate data. The default is * false. */ public Boolean isTruncateColumns() { return this.truncateColumns; } /** *

* An Amazon Redshift user name for a registered user. *

* * @param username * An Amazon Redshift user name for a registered user. */ public void setUsername(String username) { this.username = username; } /** *

* An Amazon Redshift user name for a registered user. *

* * @return An Amazon Redshift user name for a registered user. */ public String getUsername() { return this.username; } /** *

* An Amazon Redshift user name for a registered user. *

* * @param username * An Amazon Redshift user name for a registered user. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withUsername(String username) { setUsername(username); return this; } /** *

* The size (in KB) of the in-memory file write buffer used when generating .csv files on the local disk at the DMS * replication instance. The default value is 1000 (buffer size is 1000KB). *

* * @param writeBufferSize * The size (in KB) of the in-memory file write buffer used when generating .csv files on the local disk at * the DMS replication instance. The default value is 1000 (buffer size is 1000KB). */ public void setWriteBufferSize(Integer writeBufferSize) { this.writeBufferSize = writeBufferSize; } /** *

* The size (in KB) of the in-memory file write buffer used when generating .csv files on the local disk at the DMS * replication instance. The default value is 1000 (buffer size is 1000KB). *

* * @return The size (in KB) of the in-memory file write buffer used when generating .csv files on the local disk at * the DMS replication instance. The default value is 1000 (buffer size is 1000KB). */ public Integer getWriteBufferSize() { return this.writeBufferSize; } /** *

* The size (in KB) of the in-memory file write buffer used when generating .csv files on the local disk at the DMS * replication instance. The default value is 1000 (buffer size is 1000KB). *

* * @param writeBufferSize * The size (in KB) of the in-memory file write buffer used when generating .csv files on the local disk at * the DMS replication instance. The default value is 1000 (buffer size is 1000KB). * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withWriteBufferSize(Integer writeBufferSize) { setWriteBufferSize(writeBufferSize); return this; } /** *

* The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as the trusted entity and grants the * required permissions to access the value in SecretsManagerSecret. The role must allow the * iam:PassRole action. SecretsManagerSecret has the value of the Amazon Web Services * Secrets Manager secret that allows access to the Amazon Redshift endpoint. *

* *

* You can specify one of two sets of values for these permissions. You can specify the values for this setting and * SecretsManagerSecretId. Or you can specify clear-text values for UserName, * Password, ServerName, and Port. You can't specify both. For more * information on creating this SecretsManagerSecret and the SecretsManagerAccessRoleArn * and SecretsManagerSecretId required to access it, see Using * secrets to access Database Migration Service resources in the Database Migration Service User Guide. *

*
* * @param secretsManagerAccessRoleArn * The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as the trusted entity and grants * the required permissions to access the value in SecretsManagerSecret. The role must allow the * iam:PassRole action. SecretsManagerSecret has the value of the Amazon Web * Services Secrets Manager secret that allows access to the Amazon Redshift endpoint.

*

* You can specify one of two sets of values for these permissions. You can specify the values for this * setting and SecretsManagerSecretId. Or you can specify clear-text values for * UserName, Password, ServerName, and Port. You can't * specify both. For more information on creating this SecretsManagerSecret and the * SecretsManagerAccessRoleArn and SecretsManagerSecretId required to access it, * see Using secrets to access Database Migration Service resources in the Database Migration Service * User Guide. *

*/ public void setSecretsManagerAccessRoleArn(String secretsManagerAccessRoleArn) { this.secretsManagerAccessRoleArn = secretsManagerAccessRoleArn; } /** *

* The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as the trusted entity and grants the * required permissions to access the value in SecretsManagerSecret. The role must allow the * iam:PassRole action. SecretsManagerSecret has the value of the Amazon Web Services * Secrets Manager secret that allows access to the Amazon Redshift endpoint. *

* *

* You can specify one of two sets of values for these permissions. You can specify the values for this setting and * SecretsManagerSecretId. Or you can specify clear-text values for UserName, * Password, ServerName, and Port. You can't specify both. For more * information on creating this SecretsManagerSecret and the SecretsManagerAccessRoleArn * and SecretsManagerSecretId required to access it, see Using * secrets to access Database Migration Service resources in the Database Migration Service User Guide. *

*
* * @return The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as the trusted entity and grants * the required permissions to access the value in SecretsManagerSecret. The role must allow * the iam:PassRole action. SecretsManagerSecret has the value of the Amazon Web * Services Secrets Manager secret that allows access to the Amazon Redshift endpoint.

*

* You can specify one of two sets of values for these permissions. You can specify the values for this * setting and SecretsManagerSecretId. Or you can specify clear-text values for * UserName, Password, ServerName, and Port. You can't * specify both. For more information on creating this SecretsManagerSecret and the * SecretsManagerAccessRoleArn and SecretsManagerSecretId required to access it, * see Using secrets to access Database Migration Service resources in the Database Migration Service * User Guide. *

*/ public String getSecretsManagerAccessRoleArn() { return this.secretsManagerAccessRoleArn; } /** *

* The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as the trusted entity and grants the * required permissions to access the value in SecretsManagerSecret. The role must allow the * iam:PassRole action. SecretsManagerSecret has the value of the Amazon Web Services * Secrets Manager secret that allows access to the Amazon Redshift endpoint. *

* *

* You can specify one of two sets of values for these permissions. You can specify the values for this setting and * SecretsManagerSecretId. Or you can specify clear-text values for UserName, * Password, ServerName, and Port. You can't specify both. For more * information on creating this SecretsManagerSecret and the SecretsManagerAccessRoleArn * and SecretsManagerSecretId required to access it, see Using * secrets to access Database Migration Service resources in the Database Migration Service User Guide. *

*
* * @param secretsManagerAccessRoleArn * The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as the trusted entity and grants * the required permissions to access the value in SecretsManagerSecret. The role must allow the * iam:PassRole action. SecretsManagerSecret has the value of the Amazon Web * Services Secrets Manager secret that allows access to the Amazon Redshift endpoint.

*

* You can specify one of two sets of values for these permissions. You can specify the values for this * setting and SecretsManagerSecretId. Or you can specify clear-text values for * UserName, Password, ServerName, and Port. You can't * specify both. For more information on creating this SecretsManagerSecret and the * SecretsManagerAccessRoleArn and SecretsManagerSecretId required to access it, * see Using secrets to access Database Migration Service resources in the Database Migration Service * User Guide. *

* @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withSecretsManagerAccessRoleArn(String secretsManagerAccessRoleArn) { setSecretsManagerAccessRoleArn(secretsManagerAccessRoleArn); return this; } /** *

* The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that contains the Amazon * Redshift endpoint connection details. *

* * @param secretsManagerSecretId * The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that contains the * Amazon Redshift endpoint connection details. */ public void setSecretsManagerSecretId(String secretsManagerSecretId) { this.secretsManagerSecretId = secretsManagerSecretId; } /** *

* The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that contains the Amazon * Redshift endpoint connection details. *

* * @return The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that contains the * Amazon Redshift endpoint connection details. */ public String getSecretsManagerSecretId() { return this.secretsManagerSecretId; } /** *

* The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that contains the Amazon * Redshift endpoint connection details. *

* * @param secretsManagerSecretId * The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that contains the * Amazon Redshift endpoint connection details. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withSecretsManagerSecretId(String secretsManagerSecretId) { setSecretsManagerSecretId(secretsManagerSecretId); return this; } /** *

* When true, lets Redshift migrate the boolean type as boolean. By default, Redshift migrates booleans as * varchar(1). You must set this setting on both the source and target endpoints for it to take effect. *

* * @param mapBooleanAsBoolean * When true, lets Redshift migrate the boolean type as boolean. By default, Redshift migrates booleans as * varchar(1). You must set this setting on both the source and target endpoints for it to take * effect. */ public void setMapBooleanAsBoolean(Boolean mapBooleanAsBoolean) { this.mapBooleanAsBoolean = mapBooleanAsBoolean; } /** *

* When true, lets Redshift migrate the boolean type as boolean. By default, Redshift migrates booleans as * varchar(1). You must set this setting on both the source and target endpoints for it to take effect. *

* * @return When true, lets Redshift migrate the boolean type as boolean. By default, Redshift migrates booleans as * varchar(1). You must set this setting on both the source and target endpoints for it to take * effect. */ public Boolean getMapBooleanAsBoolean() { return this.mapBooleanAsBoolean; } /** *

* When true, lets Redshift migrate the boolean type as boolean. By default, Redshift migrates booleans as * varchar(1). You must set this setting on both the source and target endpoints for it to take effect. *

* * @param mapBooleanAsBoolean * When true, lets Redshift migrate the boolean type as boolean. By default, Redshift migrates booleans as * varchar(1). You must set this setting on both the source and target endpoints for it to take * effect. * @return Returns a reference to this object so that method calls can be chained together. */ public RedshiftSettings withMapBooleanAsBoolean(Boolean mapBooleanAsBoolean) { setMapBooleanAsBoolean(mapBooleanAsBoolean); return this; } /** *

* When true, lets Redshift migrate the boolean type as boolean. By default, Redshift migrates booleans as * varchar(1). You must set this setting on both the source and target endpoints for it to take effect. *

* * @return When true, lets Redshift migrate the boolean type as boolean. By default, Redshift migrates booleans as * varchar(1). You must set this setting on both the source and target endpoints for it to take * effect. */ public Boolean isMapBooleanAsBoolean() { return this.mapBooleanAsBoolean; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getAcceptAnyDate() != null) sb.append("AcceptAnyDate: ").append(getAcceptAnyDate()).append(","); if (getAfterConnectScript() != null) sb.append("AfterConnectScript: ").append(getAfterConnectScript()).append(","); if (getBucketFolder() != null) sb.append("BucketFolder: ").append(getBucketFolder()).append(","); if (getBucketName() != null) sb.append("BucketName: ").append(getBucketName()).append(","); if (getCaseSensitiveNames() != null) sb.append("CaseSensitiveNames: ").append(getCaseSensitiveNames()).append(","); if (getCompUpdate() != null) sb.append("CompUpdate: ").append(getCompUpdate()).append(","); if (getConnectionTimeout() != null) sb.append("ConnectionTimeout: ").append(getConnectionTimeout()).append(","); if (getDatabaseName() != null) sb.append("DatabaseName: ").append(getDatabaseName()).append(","); if (getDateFormat() != null) sb.append("DateFormat: ").append(getDateFormat()).append(","); if (getEmptyAsNull() != null) sb.append("EmptyAsNull: ").append(getEmptyAsNull()).append(","); if (getEncryptionMode() != null) sb.append("EncryptionMode: ").append(getEncryptionMode()).append(","); if (getExplicitIds() != null) sb.append("ExplicitIds: ").append(getExplicitIds()).append(","); if (getFileTransferUploadStreams() != null) sb.append("FileTransferUploadStreams: ").append(getFileTransferUploadStreams()).append(","); if (getLoadTimeout() != null) sb.append("LoadTimeout: ").append(getLoadTimeout()).append(","); if (getMaxFileSize() != null) sb.append("MaxFileSize: ").append(getMaxFileSize()).append(","); if (getPassword() != null) sb.append("Password: ").append("***Sensitive Data Redacted***").append(","); if (getPort() != null) sb.append("Port: ").append(getPort()).append(","); if (getRemoveQuotes() != null) sb.append("RemoveQuotes: ").append(getRemoveQuotes()).append(","); if (getReplaceInvalidChars() != null) sb.append("ReplaceInvalidChars: ").append(getReplaceInvalidChars()).append(","); if (getReplaceChars() != null) sb.append("ReplaceChars: ").append(getReplaceChars()).append(","); if (getServerName() != null) sb.append("ServerName: ").append(getServerName()).append(","); if (getServiceAccessRoleArn() != null) sb.append("ServiceAccessRoleArn: ").append(getServiceAccessRoleArn()).append(","); if (getServerSideEncryptionKmsKeyId() != null) sb.append("ServerSideEncryptionKmsKeyId: ").append(getServerSideEncryptionKmsKeyId()).append(","); if (getTimeFormat() != null) sb.append("TimeFormat: ").append(getTimeFormat()).append(","); if (getTrimBlanks() != null) sb.append("TrimBlanks: ").append(getTrimBlanks()).append(","); if (getTruncateColumns() != null) sb.append("TruncateColumns: ").append(getTruncateColumns()).append(","); if (getUsername() != null) sb.append("Username: ").append(getUsername()).append(","); if (getWriteBufferSize() != null) sb.append("WriteBufferSize: ").append(getWriteBufferSize()).append(","); if (getSecretsManagerAccessRoleArn() != null) sb.append("SecretsManagerAccessRoleArn: ").append(getSecretsManagerAccessRoleArn()).append(","); if (getSecretsManagerSecretId() != null) sb.append("SecretsManagerSecretId: ").append(getSecretsManagerSecretId()).append(","); if (getMapBooleanAsBoolean() != null) sb.append("MapBooleanAsBoolean: ").append(getMapBooleanAsBoolean()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof RedshiftSettings == false) return false; RedshiftSettings other = (RedshiftSettings) obj; if (other.getAcceptAnyDate() == null ^ this.getAcceptAnyDate() == null) return false; if (other.getAcceptAnyDate() != null && other.getAcceptAnyDate().equals(this.getAcceptAnyDate()) == false) return false; if (other.getAfterConnectScript() == null ^ this.getAfterConnectScript() == null) return false; if (other.getAfterConnectScript() != null && other.getAfterConnectScript().equals(this.getAfterConnectScript()) == false) return false; if (other.getBucketFolder() == null ^ this.getBucketFolder() == null) return false; if (other.getBucketFolder() != null && other.getBucketFolder().equals(this.getBucketFolder()) == false) return false; if (other.getBucketName() == null ^ this.getBucketName() == null) return false; if (other.getBucketName() != null && other.getBucketName().equals(this.getBucketName()) == false) return false; if (other.getCaseSensitiveNames() == null ^ this.getCaseSensitiveNames() == null) return false; if (other.getCaseSensitiveNames() != null && other.getCaseSensitiveNames().equals(this.getCaseSensitiveNames()) == false) return false; if (other.getCompUpdate() == null ^ this.getCompUpdate() == null) return false; if (other.getCompUpdate() != null && other.getCompUpdate().equals(this.getCompUpdate()) == false) return false; if (other.getConnectionTimeout() == null ^ this.getConnectionTimeout() == null) return false; if (other.getConnectionTimeout() != null && other.getConnectionTimeout().equals(this.getConnectionTimeout()) == false) return false; if (other.getDatabaseName() == null ^ this.getDatabaseName() == null) return false; if (other.getDatabaseName() != null && other.getDatabaseName().equals(this.getDatabaseName()) == false) return false; if (other.getDateFormat() == null ^ this.getDateFormat() == null) return false; if (other.getDateFormat() != null && other.getDateFormat().equals(this.getDateFormat()) == false) return false; if (other.getEmptyAsNull() == null ^ this.getEmptyAsNull() == null) return false; if (other.getEmptyAsNull() != null && other.getEmptyAsNull().equals(this.getEmptyAsNull()) == false) return false; if (other.getEncryptionMode() == null ^ this.getEncryptionMode() == null) return false; if (other.getEncryptionMode() != null && other.getEncryptionMode().equals(this.getEncryptionMode()) == false) return false; if (other.getExplicitIds() == null ^ this.getExplicitIds() == null) return false; if (other.getExplicitIds() != null && other.getExplicitIds().equals(this.getExplicitIds()) == false) return false; if (other.getFileTransferUploadStreams() == null ^ this.getFileTransferUploadStreams() == null) return false; if (other.getFileTransferUploadStreams() != null && other.getFileTransferUploadStreams().equals(this.getFileTransferUploadStreams()) == false) return false; if (other.getLoadTimeout() == null ^ this.getLoadTimeout() == null) return false; if (other.getLoadTimeout() != null && other.getLoadTimeout().equals(this.getLoadTimeout()) == false) return false; if (other.getMaxFileSize() == null ^ this.getMaxFileSize() == null) return false; if (other.getMaxFileSize() != null && other.getMaxFileSize().equals(this.getMaxFileSize()) == false) return false; if (other.getPassword() == null ^ this.getPassword() == null) return false; if (other.getPassword() != null && other.getPassword().equals(this.getPassword()) == false) return false; if (other.getPort() == null ^ this.getPort() == null) return false; if (other.getPort() != null && other.getPort().equals(this.getPort()) == false) return false; if (other.getRemoveQuotes() == null ^ this.getRemoveQuotes() == null) return false; if (other.getRemoveQuotes() != null && other.getRemoveQuotes().equals(this.getRemoveQuotes()) == false) return false; if (other.getReplaceInvalidChars() == null ^ this.getReplaceInvalidChars() == null) return false; if (other.getReplaceInvalidChars() != null && other.getReplaceInvalidChars().equals(this.getReplaceInvalidChars()) == false) return false; if (other.getReplaceChars() == null ^ this.getReplaceChars() == null) return false; if (other.getReplaceChars() != null && other.getReplaceChars().equals(this.getReplaceChars()) == false) return false; if (other.getServerName() == null ^ this.getServerName() == null) return false; if (other.getServerName() != null && other.getServerName().equals(this.getServerName()) == false) return false; if (other.getServiceAccessRoleArn() == null ^ this.getServiceAccessRoleArn() == null) return false; if (other.getServiceAccessRoleArn() != null && other.getServiceAccessRoleArn().equals(this.getServiceAccessRoleArn()) == false) return false; if (other.getServerSideEncryptionKmsKeyId() == null ^ this.getServerSideEncryptionKmsKeyId() == null) return false; if (other.getServerSideEncryptionKmsKeyId() != null && other.getServerSideEncryptionKmsKeyId().equals(this.getServerSideEncryptionKmsKeyId()) == false) return false; if (other.getTimeFormat() == null ^ this.getTimeFormat() == null) return false; if (other.getTimeFormat() != null && other.getTimeFormat().equals(this.getTimeFormat()) == false) return false; if (other.getTrimBlanks() == null ^ this.getTrimBlanks() == null) return false; if (other.getTrimBlanks() != null && other.getTrimBlanks().equals(this.getTrimBlanks()) == false) return false; if (other.getTruncateColumns() == null ^ this.getTruncateColumns() == null) return false; if (other.getTruncateColumns() != null && other.getTruncateColumns().equals(this.getTruncateColumns()) == false) return false; if (other.getUsername() == null ^ this.getUsername() == null) return false; if (other.getUsername() != null && other.getUsername().equals(this.getUsername()) == false) return false; if (other.getWriteBufferSize() == null ^ this.getWriteBufferSize() == null) return false; if (other.getWriteBufferSize() != null && other.getWriteBufferSize().equals(this.getWriteBufferSize()) == false) return false; if (other.getSecretsManagerAccessRoleArn() == null ^ this.getSecretsManagerAccessRoleArn() == null) return false; if (other.getSecretsManagerAccessRoleArn() != null && other.getSecretsManagerAccessRoleArn().equals(this.getSecretsManagerAccessRoleArn()) == false) return false; if (other.getSecretsManagerSecretId() == null ^ this.getSecretsManagerSecretId() == null) return false; if (other.getSecretsManagerSecretId() != null && other.getSecretsManagerSecretId().equals(this.getSecretsManagerSecretId()) == false) return false; if (other.getMapBooleanAsBoolean() == null ^ this.getMapBooleanAsBoolean() == null) return false; if (other.getMapBooleanAsBoolean() != null && other.getMapBooleanAsBoolean().equals(this.getMapBooleanAsBoolean()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAcceptAnyDate() == null) ? 0 : getAcceptAnyDate().hashCode()); hashCode = prime * hashCode + ((getAfterConnectScript() == null) ? 0 : getAfterConnectScript().hashCode()); hashCode = prime * hashCode + ((getBucketFolder() == null) ? 0 : getBucketFolder().hashCode()); hashCode = prime * hashCode + ((getBucketName() == null) ? 0 : getBucketName().hashCode()); hashCode = prime * hashCode + ((getCaseSensitiveNames() == null) ? 0 : getCaseSensitiveNames().hashCode()); hashCode = prime * hashCode + ((getCompUpdate() == null) ? 0 : getCompUpdate().hashCode()); hashCode = prime * hashCode + ((getConnectionTimeout() == null) ? 0 : getConnectionTimeout().hashCode()); hashCode = prime * hashCode + ((getDatabaseName() == null) ? 0 : getDatabaseName().hashCode()); hashCode = prime * hashCode + ((getDateFormat() == null) ? 0 : getDateFormat().hashCode()); hashCode = prime * hashCode + ((getEmptyAsNull() == null) ? 0 : getEmptyAsNull().hashCode()); hashCode = prime * hashCode + ((getEncryptionMode() == null) ? 0 : getEncryptionMode().hashCode()); hashCode = prime * hashCode + ((getExplicitIds() == null) ? 0 : getExplicitIds().hashCode()); hashCode = prime * hashCode + ((getFileTransferUploadStreams() == null) ? 0 : getFileTransferUploadStreams().hashCode()); hashCode = prime * hashCode + ((getLoadTimeout() == null) ? 0 : getLoadTimeout().hashCode()); hashCode = prime * hashCode + ((getMaxFileSize() == null) ? 0 : getMaxFileSize().hashCode()); hashCode = prime * hashCode + ((getPassword() == null) ? 0 : getPassword().hashCode()); hashCode = prime * hashCode + ((getPort() == null) ? 0 : getPort().hashCode()); hashCode = prime * hashCode + ((getRemoveQuotes() == null) ? 0 : getRemoveQuotes().hashCode()); hashCode = prime * hashCode + ((getReplaceInvalidChars() == null) ? 0 : getReplaceInvalidChars().hashCode()); hashCode = prime * hashCode + ((getReplaceChars() == null) ? 0 : getReplaceChars().hashCode()); hashCode = prime * hashCode + ((getServerName() == null) ? 0 : getServerName().hashCode()); hashCode = prime * hashCode + ((getServiceAccessRoleArn() == null) ? 0 : getServiceAccessRoleArn().hashCode()); hashCode = prime * hashCode + ((getServerSideEncryptionKmsKeyId() == null) ? 0 : getServerSideEncryptionKmsKeyId().hashCode()); hashCode = prime * hashCode + ((getTimeFormat() == null) ? 0 : getTimeFormat().hashCode()); hashCode = prime * hashCode + ((getTrimBlanks() == null) ? 0 : getTrimBlanks().hashCode()); hashCode = prime * hashCode + ((getTruncateColumns() == null) ? 0 : getTruncateColumns().hashCode()); hashCode = prime * hashCode + ((getUsername() == null) ? 0 : getUsername().hashCode()); hashCode = prime * hashCode + ((getWriteBufferSize() == null) ? 0 : getWriteBufferSize().hashCode()); hashCode = prime * hashCode + ((getSecretsManagerAccessRoleArn() == null) ? 0 : getSecretsManagerAccessRoleArn().hashCode()); hashCode = prime * hashCode + ((getSecretsManagerSecretId() == null) ? 0 : getSecretsManagerSecretId().hashCode()); hashCode = prime * hashCode + ((getMapBooleanAsBoolean() == null) ? 0 : getMapBooleanAsBoolean().hashCode()); return hashCode; } @Override public RedshiftSettings clone() { try { return (RedshiftSettings) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.databasemigrationservice.model.transform.RedshiftSettingsMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy