/** * 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 RedshiftSettings { public: AWS_DATABASEMIGRATIONSERVICE_API RedshiftSettings(); AWS_DATABASEMIGRATIONSERVICE_API RedshiftSettings(Aws::Utils::Json::JsonView jsonValue); AWS_DATABASEMIGRATIONSERVICE_API RedshiftSettings& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_DATABASEMIGRATIONSERVICE_API 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;} /** *

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.

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

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

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.

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

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.

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

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.

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

*/ inline bool GetCaseSensitiveNames() const{ return m_caseSensitiveNames; } /** *

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

*/ inline bool CaseSensitiveNamesHasBeenSet() const { return m_caseSensitiveNamesHasBeenSet; } /** *

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

*/ inline void SetCaseSensitiveNames(bool value) { m_caseSensitiveNamesHasBeenSet = true; m_caseSensitiveNames = value; } /** *

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

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

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

*/ inline bool CompUpdateHasBeenSet() const { return m_compUpdateHasBeenSet; } /** *

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.

*/ inline void SetCompUpdate(bool value) { m_compUpdateHasBeenSet = true; m_compUpdate = value; } /** *

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.

*/ inline RedshiftSettings& WithCompUpdate(bool value) { SetCompUpdate(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 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 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 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 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 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 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 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 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 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 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;} /** *

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.

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

*/ inline bool ExplicitIdsHasBeenSet() const { return m_explicitIdsHasBeenSet; } /** *

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.

*/ inline void SetExplicitIds(bool value) { m_explicitIdsHasBeenSet = true; m_explicitIds = value; } /** *

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.

*/ inline RedshiftSettings& WithExplicitIds(bool value) { SetExplicitIds(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.

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.

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

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.

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

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.

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

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.

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

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

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

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.

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

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.

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

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

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

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

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

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

*/ 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. The role must allow the iam:PassRole action.

*/ 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. The role must allow the iam:PassRole action.

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

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.

*/ 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. The role must allow the iam:PassRole action.

*/ 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. The role must allow the iam:PassRole action.

*/ 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. The role must allow the iam:PassRole action.

*/ 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. The role must allow the iam:PassRole action.

*/ 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. The role must allow the iam:PassRole action.

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

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

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

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.

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

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.

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

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.

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

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.

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

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

*/ 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 (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).

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

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

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

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

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

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

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

*/ inline bool SecretsManagerAccessRoleArnHasBeenSet() const { return m_secretsManagerAccessRoleArnHasBeenSet; } /** *

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.

*/ inline void SetSecretsManagerAccessRoleArn(const Aws::String& value) { m_secretsManagerAccessRoleArnHasBeenSet = true; m_secretsManagerAccessRoleArn = value; } /** *

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.

*/ inline void SetSecretsManagerAccessRoleArn(Aws::String&& value) { m_secretsManagerAccessRoleArnHasBeenSet = true; m_secretsManagerAccessRoleArn = std::move(value); } /** *

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.

*/ inline void SetSecretsManagerAccessRoleArn(const char* value) { m_secretsManagerAccessRoleArnHasBeenSet = true; m_secretsManagerAccessRoleArn.assign(value); } /** *

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.

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

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

*/ inline RedshiftSettings& WithSecretsManagerAccessRoleArn(const char* value) { SetSecretsManagerAccessRoleArn(value); return *this;} /** *

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

*/ inline const Aws::String& GetSecretsManagerSecretId() const{ return m_secretsManagerSecretId; } /** *

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

*/ inline bool SecretsManagerSecretIdHasBeenSet() const { return m_secretsManagerSecretIdHasBeenSet; } /** *

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

*/ inline void SetSecretsManagerSecretId(const Aws::String& value) { m_secretsManagerSecretIdHasBeenSet = true; m_secretsManagerSecretId = value; } /** *

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

*/ inline void SetSecretsManagerSecretId(Aws::String&& value) { m_secretsManagerSecretIdHasBeenSet = true; m_secretsManagerSecretId = std::move(value); } /** *

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

*/ inline void SetSecretsManagerSecretId(const char* value) { m_secretsManagerSecretIdHasBeenSet = true; m_secretsManagerSecretId.assign(value); } /** *

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

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

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

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

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

*/ inline RedshiftSettings& WithSecretsManagerSecretId(const char* value) { SetSecretsManagerSecretId(value); return *this;} /** *

When true, lets Redshift migrate the boolean type as boolean. By default, * Redshift migrates booleans as varchar(1).

*/ inline bool GetMapBooleanAsBoolean() const{ return m_mapBooleanAsBoolean; } /** *

When true, lets Redshift migrate the boolean type as boolean. By default, * Redshift migrates booleans as varchar(1).

*/ inline bool MapBooleanAsBooleanHasBeenSet() const { return m_mapBooleanAsBooleanHasBeenSet; } /** *

When true, lets Redshift migrate the boolean type as boolean. By default, * Redshift migrates booleans as varchar(1).

*/ inline void SetMapBooleanAsBoolean(bool value) { m_mapBooleanAsBooleanHasBeenSet = true; m_mapBooleanAsBoolean = value; } /** *

When true, lets Redshift migrate the boolean type as boolean. By default, * Redshift migrates booleans as varchar(1).

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