class Aws::DatabaseMigrationService::Types::MySQLSettings

Provides information that defines a MySQL endpoint.

@note When making an API call, you may pass MySQLSettings

data as a hash:

    {
      after_connect_script: "String",
      clean_source_metadata_on_mismatch: false,
      database_name: "String",
      events_poll_interval: 1,
      target_db_type: "specific-database", # accepts specific-database, multiple-databases
      max_file_size: 1,
      parallel_load_threads: 1,
      password: "SecretString",
      port: 1,
      server_name: "String",
      server_timezone: "String",
      username: "String",
      secrets_manager_access_role_arn: "String",
      secrets_manager_secret_id: "String",
    }

@!attribute [rw] after_connect_script

Specifies a script to run immediately after DMS connects to the
endpoint. The migration task continues running regardless if the SQL
statement succeeds or fails.

For this parameter, provide the code of the script itself, not the
name of a file containing the script.
@return [String]

@!attribute [rw] clean_source_metadata_on_mismatch

Adjusts the behavior of DMS when migrating from an SQL Server source
database that is hosted as part of an Always On availability group
cluster. If you need DMS to poll all the nodes in the Always On
cluster for transaction backups, set this attribute to `false`.
@return [Boolean]

@!attribute [rw] database_name

Database name for the endpoint. For a MySQL source or target
endpoint, don't explicitly specify the database using the
`DatabaseName` request parameter on either the `CreateEndpoint` or
`ModifyEndpoint` API call. Specifying `DatabaseName` when you create
or modify a MySQL endpoint replicates all the task tables to this
single database. For MySQL endpoints, you specify the database only
when you specify the schema in the table-mapping rules of the DMS
task.
@return [String]

@!attribute [rw] events_poll_interval

Specifies how often to check the binary log for new changes/events
when the database is idle.

Example: `eventsPollInterval=5;`

In the example, DMS checks for changes in the binary logs every five
seconds.
@return [Integer]

@!attribute [rw] target_db_type

Specifies where to migrate source tables on the target, either to a
single database or multiple databases.

Example: `targetDbType=MULTIPLE_DATABASES`
@return [String]

@!attribute [rw] max_file_size

Specifies the maximum size (in KB) of any .csv file used to transfer
data to a MySQL-compatible database.

Example: `maxFileSize=512`
@return [Integer]

@!attribute [rw] parallel_load_threads

Improves performance when loading data into the MySQL-compatible
target database. Specifies how many threads to use to load the data
into the MySQL-compatible target database. Setting a large number of
threads can have an adverse effect on database performance, because
a separate connection is required for each thread.

Example: `parallelLoadThreads=1`
@return [Integer]

@!attribute [rw] password

Endpoint connection password.
@return [String]

@!attribute [rw] port

Endpoint TCP port.
@return [Integer]

@!attribute [rw] server_name

Fully qualified domain name of the endpoint.
@return [String]

@!attribute [rw] server_timezone

Specifies the time zone for the source MySQL database.

Example: `serverTimezone=US/Pacific;`

Note: Do not enclose time zones in single quotes.
@return [String]

@!attribute [rw] username

Endpoint connection user name.
@return [String]

@!attribute [rw] secrets_manager_access_role_arn

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
MySQL endpoint.

<note markdown="1"> 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][1] in the *Database Migration Service
User Guide*.

 </note>

[1]: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager
@return [String]

@!attribute [rw] secrets_manager_secret_id

The full ARN, partial ARN, or friendly name of the
`SecretsManagerSecret` that contains the MySQL endpoint connection
details.
@return [String]

@see docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/MySQLSettings AWS API Documentation

Constants

SENSITIVE