/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Settings in JSON format for the source GCP MySQL endpoint.See
* Also:
AWS
* API Reference
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.
*/ inline const Aws::String& GetAfterConnectScript() const{ return m_afterConnectScript; } /** *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.
*/ inline bool AfterConnectScriptHasBeenSet() const { return m_afterConnectScriptHasBeenSet; } /** *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.
*/ inline void SetAfterConnectScript(const Aws::String& value) { m_afterConnectScriptHasBeenSet = true; m_afterConnectScript = value; } /** *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.
*/ inline void SetAfterConnectScript(Aws::String&& value) { m_afterConnectScriptHasBeenSet = true; m_afterConnectScript = std::move(value); } /** *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.
*/ inline void SetAfterConnectScript(const char* value) { m_afterConnectScriptHasBeenSet = true; m_afterConnectScript.assign(value); } /** *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.
*/ inline GcpMySQLSettings& WithAfterConnectScript(const Aws::String& value) { SetAfterConnectScript(value); return *this;} /** *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.
*/ inline GcpMySQLSettings& WithAfterConnectScript(Aws::String&& value) { SetAfterConnectScript(std::move(value)); return *this;} /** *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.
*/ inline GcpMySQLSettings& WithAfterConnectScript(const char* value) { SetAfterConnectScript(value); return *this;} /** *Cleans and recreates table metadata information on the replication instance * when a mismatch occurs. For example, in a situation where running an alter DDL * on the table could result in different information about the table cached in the * replication instance.
*/ inline bool GetCleanSourceMetadataOnMismatch() const{ return m_cleanSourceMetadataOnMismatch; } /** *Cleans and recreates table metadata information on the replication instance * when a mismatch occurs. For example, in a situation where running an alter DDL * on the table could result in different information about the table cached in the * replication instance.
*/ inline bool CleanSourceMetadataOnMismatchHasBeenSet() const { return m_cleanSourceMetadataOnMismatchHasBeenSet; } /** *Cleans and recreates table metadata information on the replication instance * when a mismatch occurs. For example, in a situation where running an alter DDL * on the table could result in different information about the table cached in the * replication instance.
*/ inline void SetCleanSourceMetadataOnMismatch(bool value) { m_cleanSourceMetadataOnMismatchHasBeenSet = true; m_cleanSourceMetadataOnMismatch = value; } /** *Cleans and recreates table metadata information on the replication instance * when a mismatch occurs. For example, in a situation where running an alter DDL * on the table could result in different information about the table cached in the * replication instance.
*/ inline GcpMySQLSettings& WithCleanSourceMetadataOnMismatch(bool value) { SetCleanSourceMetadataOnMismatch(value); return *this;} /** *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.
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.
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.
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.
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.
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.
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.
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.
Specifies how often to check the binary log for new changes/events when the * database is idle. The default is five seconds.
Example:
* eventsPollInterval=5;
In the example, DMS checks for * changes in the binary logs every five seconds.
*/ inline int GetEventsPollInterval() const{ return m_eventsPollInterval; } /** *Specifies how often to check the binary log for new changes/events when the * database is idle. The default is five seconds.
Example:
* eventsPollInterval=5;
In the example, DMS checks for * changes in the binary logs every five seconds.
*/ inline bool EventsPollIntervalHasBeenSet() const { return m_eventsPollIntervalHasBeenSet; } /** *Specifies how often to check the binary log for new changes/events when the * database is idle. The default is five seconds.
Example:
* eventsPollInterval=5;
In the example, DMS checks for * changes in the binary logs every five seconds.
*/ inline void SetEventsPollInterval(int value) { m_eventsPollIntervalHasBeenSet = true; m_eventsPollInterval = value; } /** *Specifies how often to check the binary log for new changes/events when the * database is idle. The default is five seconds.
Example:
* eventsPollInterval=5;
In the example, DMS checks for * changes in the binary logs every five seconds.
*/ inline GcpMySQLSettings& WithEventsPollInterval(int value) { SetEventsPollInterval(value); return *this;} /** *Specifies where to migrate source tables on the target, either to a single * database or multiple databases.
Example:
* targetDbType=MULTIPLE_DATABASES
Specifies where to migrate source tables on the target, either to a single * database or multiple databases.
Example:
* targetDbType=MULTIPLE_DATABASES
Specifies where to migrate source tables on the target, either to a single * database or multiple databases.
Example:
* targetDbType=MULTIPLE_DATABASES
Specifies where to migrate source tables on the target, either to a single * database or multiple databases.
Example:
* targetDbType=MULTIPLE_DATABASES
Specifies where to migrate source tables on the target, either to a single * database or multiple databases.
Example:
* targetDbType=MULTIPLE_DATABASES
Specifies where to migrate source tables on the target, either to a single * database or multiple databases.
Example:
* targetDbType=MULTIPLE_DATABASES
Specifies the maximum size (in KB) of any .csv file used to transfer data to * a MySQL-compatible database.
Example: maxFileSize=512
Specifies the maximum size (in KB) of any .csv file used to transfer data to * a MySQL-compatible database.
Example: maxFileSize=512
Specifies the maximum size (in KB) of any .csv file used to transfer data to * a MySQL-compatible database.
Example: maxFileSize=512
Specifies the maximum size (in KB) of any .csv file used to transfer data to * a MySQL-compatible database.
Example: maxFileSize=512
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. The default is one.
Example:
* parallelLoadThreads=1
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. The default is one.
Example:
* parallelLoadThreads=1
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. The default is one.
Example:
* parallelLoadThreads=1
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. The default is one.
Example:
* parallelLoadThreads=1
Endpoint connection password.
*/ inline const Aws::String& GetPassword() const{ return m_password; } /** *Endpoint connection password.
*/ inline bool PasswordHasBeenSet() const { return m_passwordHasBeenSet; } /** *Endpoint connection password.
*/ inline void SetPassword(const Aws::String& value) { m_passwordHasBeenSet = true; m_password = value; } /** *Endpoint connection password.
*/ inline void SetPassword(Aws::String&& value) { m_passwordHasBeenSet = true; m_password = std::move(value); } /** *Endpoint connection password.
*/ inline void SetPassword(const char* value) { m_passwordHasBeenSet = true; m_password.assign(value); } /** *Endpoint connection password.
*/ inline GcpMySQLSettings& WithPassword(const Aws::String& value) { SetPassword(value); return *this;} /** *Endpoint connection password.
*/ inline GcpMySQLSettings& WithPassword(Aws::String&& value) { SetPassword(std::move(value)); return *this;} /** *Endpoint connection password.
*/ inline GcpMySQLSettings& WithPassword(const char* value) { SetPassword(value); return *this;} /** *Endpoint TCP port.
*/ inline int GetPort() const{ return m_port; } /** *Endpoint TCP port.
*/ inline bool PortHasBeenSet() const { return m_portHasBeenSet; } /** *Endpoint TCP port.
*/ inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } /** *Endpoint TCP port.
*/ inline GcpMySQLSettings& WithPort(int value) { SetPort(value); return *this;} /** *The MySQL host name.
*/ inline const Aws::String& GetServerName() const{ return m_serverName; } /** *The MySQL host name.
*/ inline bool ServerNameHasBeenSet() const { return m_serverNameHasBeenSet; } /** *The MySQL host name.
*/ inline void SetServerName(const Aws::String& value) { m_serverNameHasBeenSet = true; m_serverName = value; } /** *The MySQL host name.
*/ inline void SetServerName(Aws::String&& value) { m_serverNameHasBeenSet = true; m_serverName = std::move(value); } /** *The MySQL host name.
*/ inline void SetServerName(const char* value) { m_serverNameHasBeenSet = true; m_serverName.assign(value); } /** *The MySQL host name.
*/ inline GcpMySQLSettings& WithServerName(const Aws::String& value) { SetServerName(value); return *this;} /** *The MySQL host name.
*/ inline GcpMySQLSettings& WithServerName(Aws::String&& value) { SetServerName(std::move(value)); return *this;} /** *The MySQL host name.
*/ inline GcpMySQLSettings& WithServerName(const char* value) { SetServerName(value); return *this;} /** *Specifies the time zone for the source MySQL database.
Example:
* serverTimezone=US/Pacific;
Note: Do not enclose time zones * in single quotes.
*/ inline const Aws::String& GetServerTimezone() const{ return m_serverTimezone; } /** *Specifies the time zone for the source MySQL database.
Example:
* serverTimezone=US/Pacific;
Note: Do not enclose time zones * in single quotes.
*/ inline bool ServerTimezoneHasBeenSet() const { return m_serverTimezoneHasBeenSet; } /** *Specifies the time zone for the source MySQL database.
Example:
* serverTimezone=US/Pacific;
Note: Do not enclose time zones * in single quotes.
*/ inline void SetServerTimezone(const Aws::String& value) { m_serverTimezoneHasBeenSet = true; m_serverTimezone = value; } /** *Specifies the time zone for the source MySQL database.
Example:
* serverTimezone=US/Pacific;
Note: Do not enclose time zones * in single quotes.
*/ inline void SetServerTimezone(Aws::String&& value) { m_serverTimezoneHasBeenSet = true; m_serverTimezone = std::move(value); } /** *Specifies the time zone for the source MySQL database.
Example:
* serverTimezone=US/Pacific;
Note: Do not enclose time zones * in single quotes.
*/ inline void SetServerTimezone(const char* value) { m_serverTimezoneHasBeenSet = true; m_serverTimezone.assign(value); } /** *Specifies the time zone for the source MySQL database.
Example:
* serverTimezone=US/Pacific;
Note: Do not enclose time zones * in single quotes.
*/ inline GcpMySQLSettings& WithServerTimezone(const Aws::String& value) { SetServerTimezone(value); return *this;} /** *Specifies the time zone for the source MySQL database.
Example:
* serverTimezone=US/Pacific;
Note: Do not enclose time zones * in single quotes.
*/ inline GcpMySQLSettings& WithServerTimezone(Aws::String&& value) { SetServerTimezone(std::move(value)); return *this;} /** *Specifies the time zone for the source MySQL database.
Example:
* serverTimezone=US/Pacific;
Note: Do not enclose time zones * in single quotes.
*/ inline GcpMySQLSettings& WithServerTimezone(const char* value) { SetServerTimezone(value); return *this;} /** *Endpoint connection user name.
*/ inline const Aws::String& GetUsername() const{ return m_username; } /** *Endpoint connection user name.
*/ inline bool UsernameHasBeenSet() const { return m_usernameHasBeenSet; } /** *Endpoint connection user name.
*/ inline void SetUsername(const Aws::String& value) { m_usernameHasBeenSet = true; m_username = value; } /** *Endpoint connection user name.
*/ inline void SetUsername(Aws::String&& value) { m_usernameHasBeenSet = true; m_username = std::move(value); } /** *Endpoint connection user name.
*/ inline void SetUsername(const char* value) { m_usernameHasBeenSet = true; m_username.assign(value); } /** *Endpoint connection user name.
*/ inline GcpMySQLSettings& WithUsername(const Aws::String& value) { SetUsername(value); return *this;} /** *Endpoint connection user name.
*/ inline GcpMySQLSettings& WithUsername(Aws::String&& value) { SetUsername(std::move(value)); return *this;} /** *Endpoint connection user name.
*/ inline GcpMySQLSettings& WithUsername(const char* value) { SetUsername(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 MySQL 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
The full ARN, partial ARN, or friendly name of the
* SecretsManagerSecret
that contains the MySQL endpoint connection
* details.
The full ARN, partial ARN, or friendly name of the
* SecretsManagerSecret
that contains the MySQL endpoint connection
* details.
The full ARN, partial ARN, or friendly name of the
* SecretsManagerSecret
that contains the MySQL endpoint connection
* details.
The full ARN, partial ARN, or friendly name of the
* SecretsManagerSecret
that contains the MySQL endpoint connection
* details.
The full ARN, partial ARN, or friendly name of the
* SecretsManagerSecret
that contains the MySQL endpoint connection
* details.
The full ARN, partial ARN, or friendly name of the
* SecretsManagerSecret
that contains the MySQL endpoint connection
* details.
The full ARN, partial ARN, or friendly name of the
* SecretsManagerSecret
that contains the MySQL endpoint connection
* details.
The full ARN, partial ARN, or friendly name of the
* SecretsManagerSecret
that contains the MySQL endpoint connection
* details.