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

Provides information that defines an Amazon Redshift endpoint.

See * Also:

AWS * API Reference

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

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

*/ inline bool GetAcceptAnyDate() const{ return m_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. *

*/ inline bool AcceptAnyDateHasBeenSet() const { return m_acceptAnyDateHasBeenSet; } /** *

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

*/ inline void SetAcceptAnyDate(bool value) { m_acceptAnyDateHasBeenSet = true; m_acceptAnyDate = value; } /** *

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

*/ inline RedshiftSettings& WithAcceptAnyDate(bool value) { SetAcceptAnyDate(value); return *this;} /** *

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

*/ inline const Aws::String& GetAfterConnectScript() const{ return m_afterConnectScript; } /** *

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

*/ inline bool AfterConnectScriptHasBeenSet() const { return m_afterConnectScriptHasBeenSet; } /** *

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

*/ inline void SetAfterConnectScript(const Aws::String& value) { m_afterConnectScriptHasBeenSet = true; m_afterConnectScript = value; } /** *

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

*/ inline void SetAfterConnectScript(Aws::String&& value) { m_afterConnectScriptHasBeenSet = true; m_afterConnectScript = std::move(value); } /** *

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

*/ inline void SetAfterConnectScript(const char* value) { m_afterConnectScriptHasBeenSet = true; m_afterConnectScript.assign(value); } /** *

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

*/ inline RedshiftSettings& WithAfterConnectScript(const Aws::String& value) { SetAfterConnectScript(value); return *this;} /** *

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

*/ inline RedshiftSettings& WithAfterConnectScript(Aws::String&& value) { SetAfterConnectScript(std::move(value)); return *this;} /** *

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

*/ inline RedshiftSettings& WithAfterConnectScript(const char* value) { SetAfterConnectScript(value); return *this;} /** *

The location where the comma-separated value (.csv) files are stored before * being uploaded to the S3 bucket.

*/ inline const Aws::String& GetBucketFolder() const{ return m_bucketFolder; } /** *

The location where the comma-separated value (.csv) files are stored before * being uploaded to the S3 bucket.

*/ inline bool BucketFolderHasBeenSet() const { return m_bucketFolderHasBeenSet; } /** *

The location where the comma-separated value (.csv) files are stored before * being uploaded to the S3 bucket.

*/ inline void SetBucketFolder(const Aws::String& value) { m_bucketFolderHasBeenSet = true; m_bucketFolder = value; } /** *

The location where the comma-separated value (.csv) files are stored before * being uploaded to the S3 bucket.

*/ inline void SetBucketFolder(Aws::String&& value) { m_bucketFolderHasBeenSet = true; m_bucketFolder = std::move(value); } /** *

The location where the comma-separated value (.csv) files are stored before * being uploaded to the S3 bucket.

*/ inline void SetBucketFolder(const char* value) { m_bucketFolderHasBeenSet = true; m_bucketFolder.assign(value); } /** *

The location where the comma-separated value (.csv) files are stored before * being uploaded to the S3 bucket.

*/ inline RedshiftSettings& WithBucketFolder(const Aws::String& value) { SetBucketFolder(value); return *this;} /** *

The location where the comma-separated value (.csv) files are stored before * being uploaded to the S3 bucket.

*/ inline RedshiftSettings& WithBucketFolder(Aws::String&& value) { SetBucketFolder(std::move(value)); return *this;} /** *

The location where the comma-separated value (.csv) files are stored before * being uploaded to the S3 bucket.

*/ inline RedshiftSettings& WithBucketFolder(const char* value) { SetBucketFolder(value); return *this;} /** *

The name of the S3 bucket you want to use

*/ inline const Aws::String& GetBucketName() const{ return m_bucketName; } /** *

The name of the S3 bucket you want to use

*/ inline bool BucketNameHasBeenSet() const { return m_bucketNameHasBeenSet; } /** *

The name of the S3 bucket you want to use

*/ inline void SetBucketName(const Aws::String& value) { m_bucketNameHasBeenSet = true; m_bucketName = value; } /** *

The name of the S3 bucket you want to use

*/ inline void SetBucketName(Aws::String&& value) { m_bucketNameHasBeenSet = true; m_bucketName = std::move(value); } /** *

The name of the S3 bucket you want to use

*/ inline void SetBucketName(const char* value) { m_bucketNameHasBeenSet = true; m_bucketName.assign(value); } /** *

The name of the S3 bucket you want to use

*/ inline RedshiftSettings& WithBucketName(const Aws::String& value) { SetBucketName(value); return *this;} /** *

The name of the S3 bucket you want to use

*/ inline RedshiftSettings& WithBucketName(Aws::String&& value) { SetBucketName(std::move(value)); return *this;} /** *

The name of the S3 bucket you want to use

*/ inline RedshiftSettings& WithBucketName(const char* value) { SetBucketName(value); return *this;} /** *

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

*/ inline int GetConnectionTimeout() const{ return m_connectionTimeout; } /** *

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

*/ inline bool ConnectionTimeoutHasBeenSet() const { return m_connectionTimeoutHasBeenSet; } /** *

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

*/ inline void SetConnectionTimeout(int value) { m_connectionTimeoutHasBeenSet = true; m_connectionTimeout = value; } /** *

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

*/ inline RedshiftSettings& WithConnectionTimeout(int value) { SetConnectionTimeout(value); return *this;} /** *

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

*/ inline const Aws::String& GetDatabaseName() const{ return m_databaseName; } /** *

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

*/ inline bool DatabaseNameHasBeenSet() const { return m_databaseNameHasBeenSet; } /** *

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

*/ inline void SetDatabaseName(const Aws::String& value) { m_databaseNameHasBeenSet = true; m_databaseName = value; } /** *

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

*/ inline void SetDatabaseName(Aws::String&& value) { m_databaseNameHasBeenSet = true; m_databaseName = std::move(value); } /** *

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

*/ inline void SetDatabaseName(const char* value) { m_databaseNameHasBeenSet = true; m_databaseName.assign(value); } /** *

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

*/ inline RedshiftSettings& WithDatabaseName(const Aws::String& value) { SetDatabaseName(value); return *this;} /** *

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

*/ inline RedshiftSettings& WithDatabaseName(Aws::String&& value) { SetDatabaseName(std::move(value)); return *this;} /** *

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

*/ inline RedshiftSettings& WithDatabaseName(const char* value) { SetDatabaseName(value); 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.

*/ inline const Aws::String& GetDateFormat() const{ return m_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.

*/ inline bool DateFormatHasBeenSet() const { return m_dateFormatHasBeenSet; } /** *

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.

*/ inline void SetDateFormat(const Aws::String& value) { m_dateFormatHasBeenSet = true; m_dateFormat = value; } /** *

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.

*/ inline void SetDateFormat(Aws::String&& value) { m_dateFormatHasBeenSet = true; m_dateFormat = std::move(value); } /** *

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.

*/ inline void SetDateFormat(const char* value) { m_dateFormatHasBeenSet = true; m_dateFormat.assign(value); } /** *

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.

*/ inline RedshiftSettings& WithDateFormat(const Aws::String& value) { SetDateFormat(value); 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.

*/ inline RedshiftSettings& WithDateFormat(Aws::String&& value) { SetDateFormat(std::move(value)); 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.

*/ inline RedshiftSettings& WithDateFormat(const char* value) { SetDateFormat(value); return *this;} /** *

A value that specifies whether AWS 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.

*/ inline bool GetEmptyAsNull() const{ return m_emptyAsNull; } /** *

A value that specifies whether AWS 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.

*/ inline bool EmptyAsNullHasBeenSet() const { return m_emptyAsNullHasBeenSet; } /** *

A value that specifies whether AWS 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.

*/ inline void SetEmptyAsNull(bool value) { m_emptyAsNullHasBeenSet = true; m_emptyAsNull = value; } /** *

A value that specifies whether AWS 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.

*/ inline RedshiftSettings& WithEmptyAsNull(bool value) { SetEmptyAsNull(value); 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 AWS Identity and Access Management (IAM) role * with a policy that allows "arn:aws:s3:::*" to use the following * actions: "s3:PutObject", "s3:ListBucket"

*/ inline const EncryptionModeValue& GetEncryptionMode() const{ return m_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 AWS Identity and Access Management (IAM) role * with a policy that allows "arn:aws:s3:::*" to use the following * actions: "s3:PutObject", "s3:ListBucket"

*/ inline bool EncryptionModeHasBeenSet() const { return m_encryptionModeHasBeenSet; } /** *

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 AWS Identity and Access Management (IAM) role * with a policy that allows "arn:aws:s3:::*" to use the following * actions: "s3:PutObject", "s3:ListBucket"

*/ inline void SetEncryptionMode(const EncryptionModeValue& value) { m_encryptionModeHasBeenSet = true; m_encryptionMode = value; } /** *

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 AWS Identity and Access Management (IAM) role * with a policy that allows "arn:aws:s3:::*" to use the following * actions: "s3:PutObject", "s3:ListBucket"

*/ inline void SetEncryptionMode(EncryptionModeValue&& value) { m_encryptionModeHasBeenSet = true; m_encryptionMode = std::move(value); } /** *

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 AWS Identity and Access Management (IAM) role * with a policy that allows "arn:aws:s3:::*" to use the following * actions: "s3:PutObject", "s3:ListBucket"

*/ inline RedshiftSettings& WithEncryptionMode(const EncryptionModeValue& value) { SetEncryptionMode(value); 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 AWS Identity and Access Management (IAM) role * with a policy that allows "arn:aws:s3:::*" to use the following * actions: "s3:PutObject", "s3:ListBucket"

*/ inline RedshiftSettings& WithEncryptionMode(EncryptionModeValue&& value) { SetEncryptionMode(std::move(value)); return *this;} /** *

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

*/ inline int GetFileTransferUploadStreams() const{ return m_fileTransferUploadStreams; } /** *

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

*/ inline bool FileTransferUploadStreamsHasBeenSet() const { return m_fileTransferUploadStreamsHasBeenSet; } /** *

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

*/ inline void SetFileTransferUploadStreams(int value) { m_fileTransferUploadStreamsHasBeenSet = true; m_fileTransferUploadStreams = value; } /** *

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

*/ inline RedshiftSettings& WithFileTransferUploadStreams(int value) { SetFileTransferUploadStreams(value); return *this;} /** *

The amount of time to wait (in milliseconds) before timing out, beginning * from when you begin loading.

*/ inline int GetLoadTimeout() const{ return m_loadTimeout; } /** *

The amount of time to wait (in milliseconds) before timing out, beginning * from when you begin loading.

*/ inline bool LoadTimeoutHasBeenSet() const { return m_loadTimeoutHasBeenSet; } /** *

The amount of time to wait (in milliseconds) before timing out, beginning * from when you begin loading.

*/ inline void SetLoadTimeout(int value) { m_loadTimeoutHasBeenSet = true; m_loadTimeout = value; } /** *

The amount of time to wait (in milliseconds) before timing out, beginning * from when you begin loading.

*/ inline RedshiftSettings& WithLoadTimeout(int value) { SetLoadTimeout(value); return *this;} /** *

The maximum size (in KB) of any .csv file used to transfer data to Amazon * Redshift. This accepts a value from 1 through 1,048,576. It defaults to 32,768 * KB (32 MB).

*/ inline int GetMaxFileSize() const{ return m_maxFileSize; } /** *

The maximum size (in KB) of any .csv file used to transfer data to Amazon * Redshift. This accepts a value from 1 through 1,048,576. It defaults to 32,768 * KB (32 MB).

*/ inline bool MaxFileSizeHasBeenSet() const { return m_maxFileSizeHasBeenSet; } /** *

The maximum size (in KB) of any .csv file used to transfer data to Amazon * Redshift. This accepts a value from 1 through 1,048,576. It defaults to 32,768 * KB (32 MB).

*/ inline void SetMaxFileSize(int value) { m_maxFileSizeHasBeenSet = true; m_maxFileSize = value; } /** *

The maximum size (in KB) of any .csv file used to transfer data to Amazon * Redshift. This accepts a value from 1 through 1,048,576. It defaults to 32,768 * KB (32 MB).

*/ inline RedshiftSettings& WithMaxFileSize(int value) { SetMaxFileSize(value); return *this;} /** *

The password for the user named in the username property.

*/ inline const Aws::String& GetPassword() const{ return m_password; } /** *

The password for the user named in the username property.

*/ inline bool PasswordHasBeenSet() const { return m_passwordHasBeenSet; } /** *

The password for the user named in the username property.

*/ inline void SetPassword(const Aws::String& value) { m_passwordHasBeenSet = true; m_password = value; } /** *

The password for the user named in the username property.

*/ inline void SetPassword(Aws::String&& value) { m_passwordHasBeenSet = true; m_password = std::move(value); } /** *

The password for the user named in the username property.

*/ inline void SetPassword(const char* value) { m_passwordHasBeenSet = true; m_password.assign(value); } /** *

The password for the user named in the username property.

*/ inline RedshiftSettings& WithPassword(const Aws::String& value) { SetPassword(value); return *this;} /** *

The password for the user named in the username property.

*/ inline RedshiftSettings& WithPassword(Aws::String&& value) { SetPassword(std::move(value)); return *this;} /** *

The password for the user named in the username property.

*/ inline RedshiftSettings& WithPassword(const char* value) { SetPassword(value); return *this;} /** *

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

*/ inline int GetPort() const{ return m_port; } /** *

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

*/ inline bool PortHasBeenSet() const { return m_portHasBeenSet; } /** *

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

*/ inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } /** *

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

*/ inline RedshiftSettings& WithPort(int value) { SetPort(value); 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.

*/ inline bool GetRemoveQuotes() const{ return m_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.

*/ inline bool RemoveQuotesHasBeenSet() const { return m_removeQuotesHasBeenSet; } /** *

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.

*/ inline void SetRemoveQuotes(bool value) { m_removeQuotesHasBeenSet = true; m_removeQuotes = value; } /** *

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.

*/ inline RedshiftSettings& WithRemoveQuotes(bool value) { SetRemoveQuotes(value); return *this;} /** *

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

*/ inline const Aws::String& GetReplaceInvalidChars() const{ return m_replaceInvalidChars; } /** *

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

*/ inline bool ReplaceInvalidCharsHasBeenSet() const { return m_replaceInvalidCharsHasBeenSet; } /** *

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

*/ inline void SetReplaceInvalidChars(const Aws::String& value) { m_replaceInvalidCharsHasBeenSet = true; m_replaceInvalidChars = value; } /** *

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

*/ inline void SetReplaceInvalidChars(Aws::String&& value) { m_replaceInvalidCharsHasBeenSet = true; m_replaceInvalidChars = std::move(value); } /** *

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

*/ inline void SetReplaceInvalidChars(const char* value) { m_replaceInvalidCharsHasBeenSet = true; m_replaceInvalidChars.assign(value); } /** *

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

*/ inline RedshiftSettings& WithReplaceInvalidChars(const Aws::String& value) { SetReplaceInvalidChars(value); return *this;} /** *

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

*/ inline RedshiftSettings& WithReplaceInvalidChars(Aws::String&& value) { SetReplaceInvalidChars(std::move(value)); return *this;} /** *

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

*/ inline RedshiftSettings& WithReplaceInvalidChars(const char* value) { SetReplaceInvalidChars(value); return *this;} /** *

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

*/ inline const Aws::String& GetReplaceChars() const{ return m_replaceChars; } /** *

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

*/ inline bool ReplaceCharsHasBeenSet() const { return m_replaceCharsHasBeenSet; } /** *

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

*/ inline void SetReplaceChars(const Aws::String& value) { m_replaceCharsHasBeenSet = true; m_replaceChars = value; } /** *

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

*/ inline void SetReplaceChars(Aws::String&& value) { m_replaceCharsHasBeenSet = true; m_replaceChars = std::move(value); } /** *

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

*/ inline void SetReplaceChars(const char* value) { m_replaceCharsHasBeenSet = true; m_replaceChars.assign(value); } /** *

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

*/ inline RedshiftSettings& WithReplaceChars(const Aws::String& value) { SetReplaceChars(value); return *this;} /** *

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

*/ inline RedshiftSettings& WithReplaceChars(Aws::String&& value) { SetReplaceChars(std::move(value)); return *this;} /** *

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

*/ inline RedshiftSettings& WithReplaceChars(const char* value) { SetReplaceChars(value); return *this;} /** *

The name of the Amazon Redshift cluster you are using.

*/ inline const Aws::String& GetServerName() const{ return m_serverName; } /** *

The name of the Amazon Redshift cluster you are using.

*/ inline bool ServerNameHasBeenSet() const { return m_serverNameHasBeenSet; } /** *

The name of the Amazon Redshift cluster you are using.

*/ inline void SetServerName(const Aws::String& value) { m_serverNameHasBeenSet = true; m_serverName = value; } /** *

The name of the Amazon Redshift cluster you are using.

*/ inline void SetServerName(Aws::String&& value) { m_serverNameHasBeenSet = true; m_serverName = std::move(value); } /** *

The name of the Amazon Redshift cluster you are using.

*/ inline void SetServerName(const char* value) { m_serverNameHasBeenSet = true; m_serverName.assign(value); } /** *

The name of the Amazon Redshift cluster you are using.

*/ inline RedshiftSettings& WithServerName(const Aws::String& value) { SetServerName(value); return *this;} /** *

The name of the Amazon Redshift cluster you are using.

*/ inline RedshiftSettings& WithServerName(Aws::String&& value) { SetServerName(std::move(value)); return *this;} /** *

The name of the Amazon Redshift cluster you are using.

*/ inline RedshiftSettings& WithServerName(const char* value) { SetServerName(value); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon * Redshift service.

*/ inline const Aws::String& GetServiceAccessRoleArn() const{ return m_serviceAccessRoleArn; } /** *

The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon * Redshift service.

*/ inline bool ServiceAccessRoleArnHasBeenSet() const { return m_serviceAccessRoleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon * Redshift service.

*/ inline void SetServiceAccessRoleArn(const Aws::String& value) { m_serviceAccessRoleArnHasBeenSet = true; m_serviceAccessRoleArn = value; } /** *

The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon * Redshift service.

*/ inline void SetServiceAccessRoleArn(Aws::String&& value) { m_serviceAccessRoleArnHasBeenSet = true; m_serviceAccessRoleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon * Redshift service.

*/ inline void SetServiceAccessRoleArn(const char* value) { m_serviceAccessRoleArnHasBeenSet = true; m_serviceAccessRoleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon * Redshift service.

*/ inline RedshiftSettings& WithServiceAccessRoleArn(const Aws::String& value) { SetServiceAccessRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon * Redshift service.

*/ inline RedshiftSettings& WithServiceAccessRoleArn(Aws::String&& value) { SetServiceAccessRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon * Redshift service.

*/ inline RedshiftSettings& WithServiceAccessRoleArn(const char* value) { SetServiceAccessRoleArn(value); return *this;} /** *

The AWS 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.

*/ inline const Aws::String& GetServerSideEncryptionKmsKeyId() const{ return m_serverSideEncryptionKmsKeyId; } /** *

The AWS 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.

*/ inline bool ServerSideEncryptionKmsKeyIdHasBeenSet() const { return m_serverSideEncryptionKmsKeyIdHasBeenSet; } /** *

The AWS 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.

*/ inline void SetServerSideEncryptionKmsKeyId(const Aws::String& value) { m_serverSideEncryptionKmsKeyIdHasBeenSet = true; m_serverSideEncryptionKmsKeyId = value; } /** *

The AWS 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.

*/ inline void SetServerSideEncryptionKmsKeyId(Aws::String&& value) { m_serverSideEncryptionKmsKeyIdHasBeenSet = true; m_serverSideEncryptionKmsKeyId = std::move(value); } /** *

The AWS 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.

*/ inline void SetServerSideEncryptionKmsKeyId(const char* value) { m_serverSideEncryptionKmsKeyIdHasBeenSet = true; m_serverSideEncryptionKmsKeyId.assign(value); } /** *

The AWS 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.

*/ inline RedshiftSettings& WithServerSideEncryptionKmsKeyId(const Aws::String& value) { SetServerSideEncryptionKmsKeyId(value); return *this;} /** *

The AWS 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.

*/ inline RedshiftSettings& WithServerSideEncryptionKmsKeyId(Aws::String&& value) { SetServerSideEncryptionKmsKeyId(std::move(value)); return *this;} /** *

The AWS 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.

*/ inline RedshiftSettings& WithServerSideEncryptionKmsKeyId(const char* value) { SetServerSideEncryptionKmsKeyId(value); 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.

*/ inline const Aws::String& GetTimeFormat() const{ return m_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.

*/ inline bool TimeFormatHasBeenSet() const { return m_timeFormatHasBeenSet; } /** *

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.

*/ inline void SetTimeFormat(const Aws::String& value) { m_timeFormatHasBeenSet = true; m_timeFormat = value; } /** *

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.

*/ inline void SetTimeFormat(Aws::String&& value) { m_timeFormatHasBeenSet = true; m_timeFormat = std::move(value); } /** *

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.

*/ inline void SetTimeFormat(const char* value) { m_timeFormatHasBeenSet = true; m_timeFormat.assign(value); } /** *

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.

*/ inline RedshiftSettings& WithTimeFormat(const Aws::String& value) { SetTimeFormat(value); 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.

*/ inline RedshiftSettings& WithTimeFormat(Aws::String&& value) { SetTimeFormat(std::move(value)); 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.

*/ inline RedshiftSettings& WithTimeFormat(const char* value) { SetTimeFormat(value); 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.

*/ inline bool GetTrimBlanks() const{ return m_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.

*/ inline bool TrimBlanksHasBeenSet() const { return m_trimBlanksHasBeenSet; } /** *

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.

*/ inline void SetTrimBlanks(bool value) { m_trimBlanksHasBeenSet = true; m_trimBlanks = value; } /** *

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.

*/ inline RedshiftSettings& WithTrimBlanks(bool value) { SetTrimBlanks(value); 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.

*/ inline bool GetTruncateColumns() const{ return m_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.

*/ inline bool TruncateColumnsHasBeenSet() const { return m_truncateColumnsHasBeenSet; } /** *

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.

*/ inline void SetTruncateColumns(bool value) { m_truncateColumnsHasBeenSet = true; m_truncateColumns = value; } /** *

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.

*/ inline RedshiftSettings& WithTruncateColumns(bool value) { SetTruncateColumns(value); return *this;} /** *

An Amazon Redshift user name for a registered user.

*/ inline const Aws::String& GetUsername() const{ return m_username; } /** *

An Amazon Redshift user name for a registered user.

*/ inline bool UsernameHasBeenSet() const { return m_usernameHasBeenSet; } /** *

An Amazon Redshift user name for a registered user.

*/ inline void SetUsername(const Aws::String& value) { m_usernameHasBeenSet = true; m_username = value; } /** *

An Amazon Redshift user name for a registered user.

*/ inline void SetUsername(Aws::String&& value) { m_usernameHasBeenSet = true; m_username = std::move(value); } /** *

An Amazon Redshift user name for a registered user.

*/ inline void SetUsername(const char* value) { m_usernameHasBeenSet = true; m_username.assign(value); } /** *

An Amazon Redshift user name for a registered user.

*/ inline RedshiftSettings& WithUsername(const Aws::String& value) { SetUsername(value); return *this;} /** *

An Amazon Redshift user name for a registered user.

*/ inline RedshiftSettings& WithUsername(Aws::String&& value) { SetUsername(std::move(value)); return *this;} /** *

An Amazon Redshift user name for a registered user.

*/ inline RedshiftSettings& WithUsername(const char* value) { SetUsername(value); return *this;} /** *

The size of the write buffer to use in rows. Valid values range from 1 * through 2,048. The default is 1,024. Use this setting to tune performance.

*/ inline int GetWriteBufferSize() const{ return m_writeBufferSize; } /** *

The size of the write buffer to use in rows. Valid values range from 1 * through 2,048. The default is 1,024. Use this setting to tune performance.

*/ inline bool WriteBufferSizeHasBeenSet() const { return m_writeBufferSizeHasBeenSet; } /** *

The size of the write buffer to use in rows. Valid values range from 1 * through 2,048. The default is 1,024. Use this setting to tune performance.

*/ inline void SetWriteBufferSize(int value) { m_writeBufferSizeHasBeenSet = true; m_writeBufferSize = value; } /** *

The size of the write buffer to use in rows. Valid values range from 1 * through 2,048. The default is 1,024. Use this setting to tune performance.

*/ inline RedshiftSettings& WithWriteBufferSize(int value) { SetWriteBufferSize(value); return *this;} private: bool m_acceptAnyDate; bool m_acceptAnyDateHasBeenSet; Aws::String m_afterConnectScript; bool m_afterConnectScriptHasBeenSet; Aws::String m_bucketFolder; bool m_bucketFolderHasBeenSet; Aws::String m_bucketName; bool m_bucketNameHasBeenSet; int m_connectionTimeout; bool m_connectionTimeoutHasBeenSet; Aws::String m_databaseName; bool m_databaseNameHasBeenSet; Aws::String m_dateFormat; bool m_dateFormatHasBeenSet; bool m_emptyAsNull; bool m_emptyAsNullHasBeenSet; EncryptionModeValue m_encryptionMode; bool m_encryptionModeHasBeenSet; int m_fileTransferUploadStreams; bool m_fileTransferUploadStreamsHasBeenSet; int m_loadTimeout; bool m_loadTimeoutHasBeenSet; int m_maxFileSize; bool m_maxFileSizeHasBeenSet; Aws::String m_password; bool m_passwordHasBeenSet; int m_port; bool m_portHasBeenSet; bool m_removeQuotes; bool m_removeQuotesHasBeenSet; Aws::String m_replaceInvalidChars; bool m_replaceInvalidCharsHasBeenSet; Aws::String m_replaceChars; bool m_replaceCharsHasBeenSet; Aws::String m_serverName; bool m_serverNameHasBeenSet; Aws::String m_serviceAccessRoleArn; bool m_serviceAccessRoleArnHasBeenSet; Aws::String m_serverSideEncryptionKmsKeyId; bool m_serverSideEncryptionKmsKeyIdHasBeenSet; Aws::String m_timeFormat; bool m_timeFormatHasBeenSet; bool m_trimBlanks; bool m_trimBlanksHasBeenSet; bool m_truncateColumns; bool m_truncateColumnsHasBeenSet; Aws::String m_username; bool m_usernameHasBeenSet; int m_writeBufferSize; bool m_writeBufferSizeHasBeenSet; }; } // namespace Model } // namespace DatabaseMigrationService } // namespace Aws