Struct aws_sdk_databasemigration::model::redshift_settings::Builder
source · pub struct Builder { /* private fields */ }
Expand description
A builder for RedshiftSettings
.
Implementations§
source§impl Builder
impl Builder
sourcepub fn accept_any_date(self, input: bool) -> Self
pub fn accept_any_date(self, input: bool) -> Self
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.
sourcepub fn set_accept_any_date(self, input: Option<bool>) -> Self
pub fn set_accept_any_date(self, input: Option<bool>) -> Self
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.
sourcepub fn after_connect_script(self, input: impl Into<String>) -> Self
pub fn after_connect_script(self, input: impl Into<String>) -> Self
Code to run after connecting. This parameter should contain the code itself, not the name of a file containing the code.
sourcepub fn set_after_connect_script(self, input: Option<String>) -> Self
pub fn set_after_connect_script(self, input: Option<String>) -> Self
Code to run after connecting. This parameter should contain the code itself, not the name of a file containing the code.
sourcepub fn bucket_folder(self, input: impl Into<String>) -> Self
pub fn bucket_folder(self, input: impl Into<String>) -> Self
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.
sourcepub fn set_bucket_folder(self, input: Option<String>) -> Self
pub fn set_bucket_folder(self, input: Option<String>) -> Self
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.
sourcepub fn bucket_name(self, input: impl Into<String>) -> Self
pub fn bucket_name(self, input: impl Into<String>) -> Self
The name of the intermediate S3 bucket used to store .csv files before uploading data to Redshift.
sourcepub fn set_bucket_name(self, input: Option<String>) -> Self
pub fn set_bucket_name(self, input: Option<String>) -> Self
The name of the intermediate S3 bucket used to store .csv files before uploading data to Redshift.
sourcepub fn case_sensitive_names(self, input: bool) -> Self
pub fn case_sensitive_names(self, input: bool) -> Self
If Amazon Redshift is configured to support case sensitive schema names, set CaseSensitiveNames
to true
. The default is false
.
sourcepub fn set_case_sensitive_names(self, input: Option<bool>) -> Self
pub fn set_case_sensitive_names(self, input: Option<bool>) -> Self
If Amazon Redshift is configured to support case sensitive schema names, set CaseSensitiveNames
to true
. The default is false
.
sourcepub fn comp_update(self, input: bool) -> Self
pub fn comp_update(self, input: bool) -> Self
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
.
sourcepub fn set_comp_update(self, input: Option<bool>) -> Self
pub fn set_comp_update(self, input: Option<bool>) -> Self
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
.
sourcepub fn connection_timeout(self, input: i32) -> Self
pub fn connection_timeout(self, input: i32) -> Self
A value that sets the amount of time to wait (in milliseconds) before timing out, beginning from when you initially establish a connection.
sourcepub fn set_connection_timeout(self, input: Option<i32>) -> Self
pub fn set_connection_timeout(self, input: Option<i32>) -> Self
A value that sets the amount of time to wait (in milliseconds) before timing out, beginning from when you initially establish a connection.
sourcepub fn database_name(self, input: impl Into<String>) -> Self
pub fn database_name(self, input: impl Into<String>) -> Self
The name of the Amazon Redshift data warehouse (service) that you are working with.
sourcepub fn set_database_name(self, input: Option<String>) -> Self
pub fn set_database_name(self, input: Option<String>) -> Self
The name of the Amazon Redshift data warehouse (service) that you are working with.
sourcepub fn date_format(self, input: impl Into<String>) -> Self
pub fn date_format(self, input: impl Into<String>) -> Self
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
.
sourcepub fn set_date_format(self, input: Option<String>) -> Self
pub fn set_date_format(self, input: Option<String>) -> Self
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
.
sourcepub fn empty_as_null(self, input: bool) -> Self
pub fn empty_as_null(self, input: bool) -> Self
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
.
sourcepub fn set_empty_as_null(self, input: Option<bool>) -> Self
pub fn set_empty_as_null(self, input: Option<bool>) -> Self
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
.
sourcepub fn encryption_mode(self, input: EncryptionModeValue) -> Self
pub fn encryption_mode(self, input: EncryptionModeValue) -> Self
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"
sourcepub fn set_encryption_mode(self, input: Option<EncryptionModeValue>) -> Self
pub fn set_encryption_mode(self, input: Option<EncryptionModeValue>) -> Self
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"
sourcepub fn explicit_ids(self, input: bool) -> Self
pub fn explicit_ids(self, input: bool) -> Self
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
.
sourcepub fn set_explicit_ids(self, input: Option<bool>) -> Self
pub fn set_explicit_ids(self, input: Option<bool>) -> Self
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
.
sourcepub fn file_transfer_upload_streams(self, input: i32) -> Self
pub fn file_transfer_upload_streams(self, input: i32) -> Self
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.
sourcepub fn set_file_transfer_upload_streams(self, input: Option<i32>) -> Self
pub fn set_file_transfer_upload_streams(self, input: Option<i32>) -> Self
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.
sourcepub fn load_timeout(self, input: i32) -> Self
pub fn load_timeout(self, input: i32) -> Self
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.
sourcepub fn set_load_timeout(self, input: Option<i32>) -> Self
pub fn set_load_timeout(self, input: Option<i32>) -> Self
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.
sourcepub fn max_file_size(self, input: i32) -> Self
pub fn max_file_size(self, input: i32) -> Self
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).
sourcepub fn set_max_file_size(self, input: Option<i32>) -> Self
pub fn set_max_file_size(self, input: Option<i32>) -> Self
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).
sourcepub fn password(self, input: impl Into<String>) -> Self
pub fn password(self, input: impl Into<String>) -> Self
The password for the user named in the username
property.
sourcepub fn set_password(self, input: Option<String>) -> Self
pub fn set_password(self, input: Option<String>) -> Self
The password for the user named in the username
property.
sourcepub fn port(self, input: i32) -> Self
pub fn port(self, input: i32) -> Self
The port number for Amazon Redshift. The default value is 5439.
sourcepub fn set_port(self, input: Option<i32>) -> Self
pub fn set_port(self, input: Option<i32>) -> Self
The port number for Amazon Redshift. The default value is 5439.
sourcepub fn remove_quotes(self, input: bool) -> Self
pub fn remove_quotes(self, input: bool) -> Self
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
.
sourcepub fn set_remove_quotes(self, input: Option<bool>) -> Self
pub fn set_remove_quotes(self, input: Option<bool>) -> Self
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
.
sourcepub fn replace_invalid_chars(self, input: impl Into<String>) -> Self
pub fn replace_invalid_chars(self, input: impl Into<String>) -> Self
A list of characters that you want to replace. Use with ReplaceChars
.
sourcepub fn set_replace_invalid_chars(self, input: Option<String>) -> Self
pub fn set_replace_invalid_chars(self, input: Option<String>) -> Self
A list of characters that you want to replace. Use with ReplaceChars
.
sourcepub fn replace_chars(self, input: impl Into<String>) -> Self
pub fn replace_chars(self, input: impl Into<String>) -> Self
A value that specifies to replaces the invalid characters specified in ReplaceInvalidChars
, substituting the specified characters instead. The default is "?"
.
sourcepub fn set_replace_chars(self, input: Option<String>) -> Self
pub fn set_replace_chars(self, input: Option<String>) -> Self
A value that specifies to replaces the invalid characters specified in ReplaceInvalidChars
, substituting the specified characters instead. The default is "?"
.
sourcepub fn server_name(self, input: impl Into<String>) -> Self
pub fn server_name(self, input: impl Into<String>) -> Self
The name of the Amazon Redshift cluster you are using.
sourcepub fn set_server_name(self, input: Option<String>) -> Self
pub fn set_server_name(self, input: Option<String>) -> Self
The name of the Amazon Redshift cluster you are using.
sourcepub fn service_access_role_arn(self, input: impl Into<String>) -> Self
pub fn service_access_role_arn(self, input: impl Into<String>) -> Self
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.
sourcepub fn set_service_access_role_arn(self, input: Option<String>) -> Self
pub fn set_service_access_role_arn(self, input: Option<String>) -> Self
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.
sourcepub fn server_side_encryption_kms_key_id(self, input: impl Into<String>) -> Self
pub fn server_side_encryption_kms_key_id(self, input: impl Into<String>) -> Self
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.
sourcepub fn set_server_side_encryption_kms_key_id(self, input: Option<String>) -> Self
pub fn set_server_side_encryption_kms_key_id(self, input: Option<String>) -> Self
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.
sourcepub fn time_format(self, input: impl Into<String>) -> Self
pub fn time_format(self, input: impl Into<String>) -> Self
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
.
sourcepub fn set_time_format(self, input: Option<String>) -> Self
pub fn set_time_format(self, input: Option<String>) -> Self
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
.
sourcepub fn trim_blanks(self, input: bool) -> Self
pub fn trim_blanks(self, input: bool) -> Self
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
.
sourcepub fn set_trim_blanks(self, input: Option<bool>) -> Self
pub fn set_trim_blanks(self, input: Option<bool>) -> Self
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
.
sourcepub fn truncate_columns(self, input: bool) -> Self
pub fn truncate_columns(self, input: bool) -> Self
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
.
sourcepub fn set_truncate_columns(self, input: Option<bool>) -> Self
pub fn set_truncate_columns(self, input: Option<bool>) -> Self
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
.
sourcepub fn username(self, input: impl Into<String>) -> Self
pub fn username(self, input: impl Into<String>) -> Self
An Amazon Redshift user name for a registered user.
sourcepub fn set_username(self, input: Option<String>) -> Self
pub fn set_username(self, input: Option<String>) -> Self
An Amazon Redshift user name for a registered user.
sourcepub fn write_buffer_size(self, input: i32) -> Self
pub fn write_buffer_size(self, input: i32) -> Self
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).
sourcepub fn set_write_buffer_size(self, input: Option<i32>) -> Self
pub fn set_write_buffer_size(self, input: Option<i32>) -> Self
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).
sourcepub fn secrets_manager_access_role_arn(self, input: impl Into<String>) -> Self
pub fn secrets_manager_access_role_arn(self, input: impl Into<String>) -> Self
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.
sourcepub fn set_secrets_manager_access_role_arn(self, input: Option<String>) -> Self
pub fn set_secrets_manager_access_role_arn(self, input: Option<String>) -> Self
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.
sourcepub fn secrets_manager_secret_id(self, input: impl Into<String>) -> Self
pub fn secrets_manager_secret_id(self, input: impl Into<String>) -> Self
The full ARN, partial ARN, or friendly name of the SecretsManagerSecret
that contains the Amazon Redshift endpoint connection details.
sourcepub fn set_secrets_manager_secret_id(self, input: Option<String>) -> Self
pub fn set_secrets_manager_secret_id(self, input: Option<String>) -> Self
The full ARN, partial ARN, or friendly name of the SecretsManagerSecret
that contains the Amazon Redshift endpoint connection details.
sourcepub fn build(self) -> RedshiftSettings
pub fn build(self) -> RedshiftSettings
Consumes the builder and constructs a RedshiftSettings
.