Copyright | (c) 2013-2021 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay <brendan.g.hay+amazonka@gmail.com> |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Synopsis
- data RedshiftSettings = RedshiftSettings' {
- emptyAsNull :: Maybe Bool
- caseSensitiveNames :: Maybe Bool
- maxFileSize :: Maybe Int
- replaceChars :: Maybe Text
- serverName :: Maybe Text
- connectionTimeout :: Maybe Int
- loadTimeout :: Maybe Int
- serviceAccessRoleArn :: Maybe Text
- explicitIds :: Maybe Bool
- bucketFolder :: Maybe Text
- truncateColumns :: Maybe Bool
- secretsManagerAccessRoleArn :: Maybe Text
- replaceInvalidChars :: Maybe Text
- username :: Maybe Text
- bucketName :: Maybe Text
- encryptionMode :: Maybe EncryptionModeValue
- dateFormat :: Maybe Text
- removeQuotes :: Maybe Bool
- password :: Maybe (Sensitive Text)
- databaseName :: Maybe Text
- acceptAnyDate :: Maybe Bool
- afterConnectScript :: Maybe Text
- secretsManagerSecretId :: Maybe Text
- writeBufferSize :: Maybe Int
- compUpdate :: Maybe Bool
- trimBlanks :: Maybe Bool
- timeFormat :: Maybe Text
- serverSideEncryptionKmsKeyId :: Maybe Text
- port :: Maybe Int
- fileTransferUploadStreams :: Maybe Int
- newRedshiftSettings :: RedshiftSettings
- redshiftSettings_emptyAsNull :: Lens' RedshiftSettings (Maybe Bool)
- redshiftSettings_caseSensitiveNames :: Lens' RedshiftSettings (Maybe Bool)
- redshiftSettings_maxFileSize :: Lens' RedshiftSettings (Maybe Int)
- redshiftSettings_replaceChars :: Lens' RedshiftSettings (Maybe Text)
- redshiftSettings_serverName :: Lens' RedshiftSettings (Maybe Text)
- redshiftSettings_connectionTimeout :: Lens' RedshiftSettings (Maybe Int)
- redshiftSettings_loadTimeout :: Lens' RedshiftSettings (Maybe Int)
- redshiftSettings_serviceAccessRoleArn :: Lens' RedshiftSettings (Maybe Text)
- redshiftSettings_explicitIds :: Lens' RedshiftSettings (Maybe Bool)
- redshiftSettings_bucketFolder :: Lens' RedshiftSettings (Maybe Text)
- redshiftSettings_truncateColumns :: Lens' RedshiftSettings (Maybe Bool)
- redshiftSettings_secretsManagerAccessRoleArn :: Lens' RedshiftSettings (Maybe Text)
- redshiftSettings_replaceInvalidChars :: Lens' RedshiftSettings (Maybe Text)
- redshiftSettings_username :: Lens' RedshiftSettings (Maybe Text)
- redshiftSettings_bucketName :: Lens' RedshiftSettings (Maybe Text)
- redshiftSettings_encryptionMode :: Lens' RedshiftSettings (Maybe EncryptionModeValue)
- redshiftSettings_dateFormat :: Lens' RedshiftSettings (Maybe Text)
- redshiftSettings_removeQuotes :: Lens' RedshiftSettings (Maybe Bool)
- redshiftSettings_password :: Lens' RedshiftSettings (Maybe Text)
- redshiftSettings_databaseName :: Lens' RedshiftSettings (Maybe Text)
- redshiftSettings_acceptAnyDate :: Lens' RedshiftSettings (Maybe Bool)
- redshiftSettings_afterConnectScript :: Lens' RedshiftSettings (Maybe Text)
- redshiftSettings_secretsManagerSecretId :: Lens' RedshiftSettings (Maybe Text)
- redshiftSettings_writeBufferSize :: Lens' RedshiftSettings (Maybe Int)
- redshiftSettings_compUpdate :: Lens' RedshiftSettings (Maybe Bool)
- redshiftSettings_trimBlanks :: Lens' RedshiftSettings (Maybe Bool)
- redshiftSettings_timeFormat :: Lens' RedshiftSettings (Maybe Text)
- redshiftSettings_serverSideEncryptionKmsKeyId :: Lens' RedshiftSettings (Maybe Text)
- redshiftSettings_port :: Lens' RedshiftSettings (Maybe Int)
- redshiftSettings_fileTransferUploadStreams :: Lens' RedshiftSettings (Maybe Int)
Documentation
data RedshiftSettings Source #
Provides information that defines an Amazon Redshift endpoint.
See: newRedshiftSettings
smart constructor.
RedshiftSettings' | |
|
Instances
newRedshiftSettings :: RedshiftSettings Source #
Create a value of RedshiftSettings
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:emptyAsNull:RedshiftSettings'
, redshiftSettings_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
.
$sel:caseSensitiveNames:RedshiftSettings'
, redshiftSettings_caseSensitiveNames
- If Amazon Redshift is configured to support case sensitive schema names,
set CaseSensitiveNames
to true
. The default is false
.
$sel:maxFileSize:RedshiftSettings'
, redshiftSettings_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).
$sel:replaceChars:RedshiftSettings'
, redshiftSettings_replaceChars
- A value that specifies to replaces the invalid characters specified in
ReplaceInvalidChars
, substituting the specified characters instead.
The default is "?"
.
$sel:serverName:RedshiftSettings'
, redshiftSettings_serverName
- The name of the Amazon Redshift cluster you are using.
$sel:connectionTimeout:RedshiftSettings'
, redshiftSettings_connectionTimeout
- A value that sets the amount of time to wait (in milliseconds) before
timing out, beginning from when you initially establish a connection.
$sel:loadTimeout:RedshiftSettings'
, redshiftSettings_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.
$sel:serviceAccessRoleArn:RedshiftSettings'
, redshiftSettings_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.
$sel:explicitIds:RedshiftSettings'
, redshiftSettings_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
.
$sel:bucketFolder:RedshiftSettings'
, redshiftSettings_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.
$sel:truncateColumns:RedshiftSettings'
, redshiftSettings_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
.
$sel:secretsManagerAccessRoleArn:RedshiftSettings'
, redshiftSettings_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.
$sel:replaceInvalidChars:RedshiftSettings'
, redshiftSettings_replaceInvalidChars
- A list of characters that you want to replace. Use with ReplaceChars
.
$sel:username:RedshiftSettings'
, redshiftSettings_username
- An Amazon Redshift user name for a registered user.
$sel:bucketName:RedshiftSettings'
, redshiftSettings_bucketName
- The name of the intermediate S3 bucket used to store .csv files before
uploading data to Redshift.
$sel:encryptionMode:RedshiftSettings'
, redshiftSettings_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"
$sel:dateFormat:RedshiftSettings'
, redshiftSettings_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
.
$sel:removeQuotes:RedshiftSettings'
, redshiftSettings_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
.
$sel:password:RedshiftSettings'
, redshiftSettings_password
- The password for the user named in the username
property.
$sel:databaseName:RedshiftSettings'
, redshiftSettings_databaseName
- The name of the Amazon Redshift data warehouse (service) that you are
working with.
$sel:acceptAnyDate:RedshiftSettings'
, redshiftSettings_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.
$sel:afterConnectScript:RedshiftSettings'
, redshiftSettings_afterConnectScript
- Code to run after connecting. This parameter should contain the code
itself, not the name of a file containing the code.
$sel:secretsManagerSecretId:RedshiftSettings'
, redshiftSettings_secretsManagerSecretId
- The full ARN, partial ARN, or friendly name of the
SecretsManagerSecret
that contains the Amazon Redshift endpoint
connection details.
$sel:writeBufferSize:RedshiftSettings'
, redshiftSettings_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).
$sel:compUpdate:RedshiftSettings'
, redshiftSettings_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
.
$sel:trimBlanks:RedshiftSettings'
, redshiftSettings_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
.
$sel:timeFormat:RedshiftSettings'
, redshiftSettings_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
.
$sel:serverSideEncryptionKmsKeyId:RedshiftSettings'
, redshiftSettings_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.
$sel:port:RedshiftSettings'
, redshiftSettings_port
- The port number for Amazon Redshift. The default value is 5439.
$sel:fileTransferUploadStreams:RedshiftSettings'
, redshiftSettings_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.
redshiftSettings_emptyAsNull :: Lens' RedshiftSettings (Maybe Bool) Source #
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
.
redshiftSettings_caseSensitiveNames :: Lens' RedshiftSettings (Maybe Bool) Source #
If Amazon Redshift is configured to support case sensitive schema names,
set CaseSensitiveNames
to true
. The default is false
.
redshiftSettings_maxFileSize :: Lens' RedshiftSettings (Maybe Int) Source #
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).
redshiftSettings_replaceChars :: Lens' RedshiftSettings (Maybe Text) Source #
A value that specifies to replaces the invalid characters specified in
ReplaceInvalidChars
, substituting the specified characters instead.
The default is "?"
.
redshiftSettings_serverName :: Lens' RedshiftSettings (Maybe Text) Source #
The name of the Amazon Redshift cluster you are using.
redshiftSettings_connectionTimeout :: Lens' RedshiftSettings (Maybe Int) Source #
A value that sets the amount of time to wait (in milliseconds) before timing out, beginning from when you initially establish a connection.
redshiftSettings_loadTimeout :: Lens' RedshiftSettings (Maybe Int) Source #
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.
redshiftSettings_serviceAccessRoleArn :: Lens' RedshiftSettings (Maybe Text) Source #
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.
redshiftSettings_explicitIds :: Lens' RedshiftSettings (Maybe Bool) Source #
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
.
redshiftSettings_bucketFolder :: Lens' RedshiftSettings (Maybe Text) Source #
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.
redshiftSettings_truncateColumns :: Lens' RedshiftSettings (Maybe Bool) Source #
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
.
redshiftSettings_secretsManagerAccessRoleArn :: Lens' RedshiftSettings (Maybe Text) Source #
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.
redshiftSettings_replaceInvalidChars :: Lens' RedshiftSettings (Maybe Text) Source #
A list of characters that you want to replace. Use with ReplaceChars
.
redshiftSettings_username :: Lens' RedshiftSettings (Maybe Text) Source #
An Amazon Redshift user name for a registered user.
redshiftSettings_bucketName :: Lens' RedshiftSettings (Maybe Text) Source #
The name of the intermediate S3 bucket used to store .csv files before uploading data to Redshift.
redshiftSettings_encryptionMode :: Lens' RedshiftSettings (Maybe EncryptionModeValue) Source #
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"
redshiftSettings_dateFormat :: Lens' RedshiftSettings (Maybe Text) Source #
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
.
redshiftSettings_removeQuotes :: Lens' RedshiftSettings (Maybe Bool) Source #
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
.
redshiftSettings_password :: Lens' RedshiftSettings (Maybe Text) Source #
The password for the user named in the username
property.
redshiftSettings_databaseName :: Lens' RedshiftSettings (Maybe Text) Source #
The name of the Amazon Redshift data warehouse (service) that you are working with.
redshiftSettings_acceptAnyDate :: Lens' RedshiftSettings (Maybe Bool) Source #
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.
redshiftSettings_afterConnectScript :: Lens' RedshiftSettings (Maybe Text) Source #
Code to run after connecting. This parameter should contain the code itself, not the name of a file containing the code.
redshiftSettings_secretsManagerSecretId :: Lens' RedshiftSettings (Maybe Text) Source #
The full ARN, partial ARN, or friendly name of the
SecretsManagerSecret
that contains the Amazon Redshift endpoint
connection details.
redshiftSettings_writeBufferSize :: Lens' RedshiftSettings (Maybe Int) Source #
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).
redshiftSettings_compUpdate :: Lens' RedshiftSettings (Maybe Bool) Source #
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
.
redshiftSettings_trimBlanks :: Lens' RedshiftSettings (Maybe Bool) Source #
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
.
redshiftSettings_timeFormat :: Lens' RedshiftSettings (Maybe Text) Source #
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
.
redshiftSettings_serverSideEncryptionKmsKeyId :: Lens' RedshiftSettings (Maybe Text) Source #
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.
redshiftSettings_port :: Lens' RedshiftSettings (Maybe Int) Source #
The port number for Amazon Redshift. The default value is 5439.
redshiftSettings_fileTransferUploadStreams :: Lens' RedshiftSettings (Maybe Int) Source #
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.