All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.databasemigrationservice.model.MySQLSettings Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS Database Migration Service module holds the client classes that are used for communicating with AWS Database Migration Service.

The newest version!
/*
 * Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.databasemigrationservice.model;

import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;

/**
 * 

* Provides information that defines a MySQL endpoint. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class MySQLSettings implements Serializable, Cloneable, StructuredPojo { /** *

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

*/ private String afterConnectScript; /** *

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

*/ private Boolean cleanSourceMetadataOnMismatch; /** *

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

*/ private String databaseName; /** *

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

*/ private Integer eventsPollInterval; /** *

* Specifies where to migrate source tables on the target, either to a single database or multiple databases. If you * specify SPECIFIC_DATABASE, specify the database name using the DatabaseName parameter * of the Endpoint object. *

*

* Example: targetDbType=MULTIPLE_DATABASES *

*/ private String targetDbType; /** *

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

*

* Example: maxFileSize=512 *

*/ private Integer maxFileSize; /** *

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

*/ private Integer parallelLoadThreads; /** *

* Endpoint connection password. *

*/ private String password; /** *

* Endpoint TCP port. *

*/ private Integer port; /** *

* The host name of the endpoint database. *

*

* For an Amazon RDS MySQL instance, this is the output of DescribeDBInstances, in the * Endpoint.Address * field. *

*

* For an Aurora MySQL instance, this is the output of DescribeDBClusters, in the Endpoint field. *

*/ private String serverName; /** *

* Specifies the time zone for the source MySQL database. *

*

* Example: serverTimezone=US/Pacific; *

*

* Note: Do not enclose time zones in single quotes. *

*/ private String serverTimezone; /** *

* Endpoint connection user name. *

*/ private String username; /** *

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

*
*/ private String secretsManagerAccessRoleArn; /** *

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

*/ private String secretsManagerSecretId; /** *

* Sets the client statement timeout (in seconds) for a MySQL source endpoint. *

*/ private Integer executeTimeout; /** *

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

* * @param 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. */ public void setAfterConnectScript(String afterConnectScript) { this.afterConnectScript = 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. *

* * @return 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. */ public String getAfterConnectScript() { return this.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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public MySQLSettings withAfterConnectScript(String afterConnectScript) { setAfterConnectScript(afterConnectScript); 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. *

* * @param 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. */ public void setCleanSourceMetadataOnMismatch(Boolean cleanSourceMetadataOnMismatch) { this.cleanSourceMetadataOnMismatch = 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. *

* * @return 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. */ public Boolean getCleanSourceMetadataOnMismatch() { return this.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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public MySQLSettings withCleanSourceMetadataOnMismatch(Boolean cleanSourceMetadataOnMismatch) { setCleanSourceMetadataOnMismatch(cleanSourceMetadataOnMismatch); 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. *

* * @return 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. */ public Boolean isCleanSourceMetadataOnMismatch() { return this.cleanSourceMetadataOnMismatch; } /** *

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

* * @param databaseName * 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. */ public void setDatabaseName(String databaseName) { this.databaseName = databaseName; } /** *

* 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 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. */ public String getDatabaseName() { return this.databaseName; } /** *

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

* * @param databaseName * 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 Returns a reference to this object so that method calls can be chained together. */ public MySQLSettings withDatabaseName(String databaseName) { setDatabaseName(databaseName); return this; } /** *

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

* * @param 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. */ public void setEventsPollInterval(Integer eventsPollInterval) { this.eventsPollInterval = 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. *

* * @return 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. */ public Integer getEventsPollInterval() { return this.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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public MySQLSettings withEventsPollInterval(Integer eventsPollInterval) { setEventsPollInterval(eventsPollInterval); return this; } /** *

* Specifies where to migrate source tables on the target, either to a single database or multiple databases. If you * specify SPECIFIC_DATABASE, specify the database name using the DatabaseName parameter * of the Endpoint object. *

*

* Example: targetDbType=MULTIPLE_DATABASES *

* * @param targetDbType * Specifies where to migrate source tables on the target, either to a single database or multiple databases. * If you specify SPECIFIC_DATABASE, specify the database name using the * DatabaseName parameter of the Endpoint object.

*

* Example: targetDbType=MULTIPLE_DATABASES * @see TargetDbType */ public void setTargetDbType(String targetDbType) { this.targetDbType = targetDbType; } /** *

* Specifies where to migrate source tables on the target, either to a single database or multiple databases. If you * specify SPECIFIC_DATABASE, specify the database name using the DatabaseName parameter * of the Endpoint object. *

*

* Example: targetDbType=MULTIPLE_DATABASES *

* * @return Specifies where to migrate source tables on the target, either to a single database or multiple * databases. If you specify SPECIFIC_DATABASE, specify the database name using the * DatabaseName parameter of the Endpoint object.

*

* Example: targetDbType=MULTIPLE_DATABASES * @see TargetDbType */ public String getTargetDbType() { return this.targetDbType; } /** *

* Specifies where to migrate source tables on the target, either to a single database or multiple databases. If you * specify SPECIFIC_DATABASE, specify the database name using the DatabaseName parameter * of the Endpoint object. *

*

* Example: targetDbType=MULTIPLE_DATABASES *

* * @param targetDbType * Specifies where to migrate source tables on the target, either to a single database or multiple databases. * If you specify SPECIFIC_DATABASE, specify the database name using the * DatabaseName parameter of the Endpoint object.

*

* Example: targetDbType=MULTIPLE_DATABASES * @return Returns a reference to this object so that method calls can be chained together. * @see TargetDbType */ public MySQLSettings withTargetDbType(String targetDbType) { setTargetDbType(targetDbType); return this; } /** *

* Specifies where to migrate source tables on the target, either to a single database or multiple databases. If you * specify SPECIFIC_DATABASE, specify the database name using the DatabaseName parameter * of the Endpoint object. *

*

* Example: targetDbType=MULTIPLE_DATABASES *

* * @param targetDbType * Specifies where to migrate source tables on the target, either to a single database or multiple databases. * If you specify SPECIFIC_DATABASE, specify the database name using the * DatabaseName parameter of the Endpoint object.

*

* Example: targetDbType=MULTIPLE_DATABASES * @return Returns a reference to this object so that method calls can be chained together. * @see TargetDbType */ public MySQLSettings withTargetDbType(TargetDbType targetDbType) { this.targetDbType = targetDbType.toString(); return this; } /** *

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

*

* Example: maxFileSize=512 *

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

*

* Example: maxFileSize=512 */ public void setMaxFileSize(Integer maxFileSize) { this.maxFileSize = maxFileSize; } /** *

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

*

* Example: maxFileSize=512 *

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

*

* Example: maxFileSize=512 */ public Integer getMaxFileSize() { return this.maxFileSize; } /** *

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

*

* Example: maxFileSize=512 *

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

*

* Example: maxFileSize=512 * @return Returns a reference to this object so that method calls can be chained together. */ public MySQLSettings withMaxFileSize(Integer maxFileSize) { setMaxFileSize(maxFileSize); return this; } /** *

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

* * @param parallelLoadThreads * 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 */ public void setParallelLoadThreads(Integer parallelLoadThreads) { this.parallelLoadThreads = parallelLoadThreads; } /** *

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

* * @return 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 */ public Integer getParallelLoadThreads() { return this.parallelLoadThreads; } /** *

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

* * @param parallelLoadThreads * 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 * @return Returns a reference to this object so that method calls can be chained together. */ public MySQLSettings withParallelLoadThreads(Integer parallelLoadThreads) { setParallelLoadThreads(parallelLoadThreads); return this; } /** *

* Endpoint connection password. *

* * @param password * Endpoint connection password. */ public void setPassword(String password) { this.password = password; } /** *

* Endpoint connection password. *

* * @return Endpoint connection password. */ public String getPassword() { return this.password; } /** *

* Endpoint connection password. *

* * @param password * Endpoint connection password. * @return Returns a reference to this object so that method calls can be chained together. */ public MySQLSettings withPassword(String password) { setPassword(password); return this; } /** *

* Endpoint TCP port. *

* * @param port * Endpoint TCP port. */ public void setPort(Integer port) { this.port = port; } /** *

* Endpoint TCP port. *

* * @return Endpoint TCP port. */ public Integer getPort() { return this.port; } /** *

* Endpoint TCP port. *

* * @param port * Endpoint TCP port. * @return Returns a reference to this object so that method calls can be chained together. */ public MySQLSettings withPort(Integer port) { setPort(port); return this; } /** *

* The host name of the endpoint database. *

*

* For an Amazon RDS MySQL instance, this is the output of DescribeDBInstances, in the * Endpoint.Address * field. *

*

* For an Aurora MySQL instance, this is the output of DescribeDBClusters, in the Endpoint field. *

* * @param serverName * The host name of the endpoint database.

*

* For an Amazon RDS MySQL instance, this is the output of DescribeDBInstances, in the * Endpoint.Address * field. *

*

* For an Aurora MySQL instance, this is the output of DescribeDBClusters, in the Endpoint field. */ public void setServerName(String serverName) { this.serverName = serverName; } /** *

* The host name of the endpoint database. *

*

* For an Amazon RDS MySQL instance, this is the output of DescribeDBInstances, in the * Endpoint.Address * field. *

*

* For an Aurora MySQL instance, this is the output of DescribeDBClusters, in the Endpoint field. *

* * @return The host name of the endpoint database.

*

* For an Amazon RDS MySQL instance, this is the output of DescribeDBInstances, in the * Endpoint.Address * field. *

*

* For an Aurora MySQL instance, this is the output of DescribeDBClusters, in the Endpoint field. */ public String getServerName() { return this.serverName; } /** *

* The host name of the endpoint database. *

*

* For an Amazon RDS MySQL instance, this is the output of DescribeDBInstances, in the * Endpoint.Address * field. *

*

* For an Aurora MySQL instance, this is the output of DescribeDBClusters, in the Endpoint field. *

* * @param serverName * The host name of the endpoint database.

*

* For an Amazon RDS MySQL instance, this is the output of DescribeDBInstances, in the * Endpoint.Address * field. *

*

* For an Aurora MySQL instance, this is the output of DescribeDBClusters, in the Endpoint field. * @return Returns a reference to this object so that method calls can be chained together. */ public MySQLSettings withServerName(String serverName) { setServerName(serverName); return this; } /** *

* Specifies the time zone for the source MySQL database. *

*

* Example: serverTimezone=US/Pacific; *

*

* Note: Do not enclose time zones in single quotes. *

* * @param serverTimezone * Specifies the time zone for the source MySQL database.

*

* Example: serverTimezone=US/Pacific; *

*

* Note: Do not enclose time zones in single quotes. */ public void setServerTimezone(String serverTimezone) { this.serverTimezone = serverTimezone; } /** *

* Specifies the time zone for the source MySQL database. *

*

* Example: serverTimezone=US/Pacific; *

*

* Note: Do not enclose time zones in single quotes. *

* * @return Specifies the time zone for the source MySQL database.

*

* Example: serverTimezone=US/Pacific; *

*

* Note: Do not enclose time zones in single quotes. */ public String getServerTimezone() { return this.serverTimezone; } /** *

* Specifies the time zone for the source MySQL database. *

*

* Example: serverTimezone=US/Pacific; *

*

* Note: Do not enclose time zones in single quotes. *

* * @param serverTimezone * Specifies the time zone for the source MySQL database.

*

* Example: serverTimezone=US/Pacific; *

*

* Note: Do not enclose time zones in single quotes. * @return Returns a reference to this object so that method calls can be chained together. */ public MySQLSettings withServerTimezone(String serverTimezone) { setServerTimezone(serverTimezone); return this; } /** *

* Endpoint connection user name. *

* * @param username * Endpoint connection user name. */ public void setUsername(String username) { this.username = username; } /** *

* Endpoint connection user name. *

* * @return Endpoint connection user name. */ public String getUsername() { return this.username; } /** *

* Endpoint connection user name. *

* * @param username * Endpoint connection user name. * @return Returns a reference to this object so that method calls can be chained together. */ public MySQLSettings withUsername(String username) { setUsername(username); 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. *

*
* * @param 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 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. *

*/ public void setSecretsManagerAccessRoleArn(String secretsManagerAccessRoleArn) { this.secretsManagerAccessRoleArn = 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 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. *

*
* * @return 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. *

*/ public String getSecretsManagerAccessRoleArn() { return this.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 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. *

*
* * @param 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 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. *

* @return Returns a reference to this object so that method calls can be chained together. */ public MySQLSettings withSecretsManagerAccessRoleArn(String secretsManagerAccessRoleArn) { setSecretsManagerAccessRoleArn(secretsManagerAccessRoleArn); return this; } /** *

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

* * @param secretsManagerSecretId * The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that contains the * MySQL endpoint connection details. */ public void setSecretsManagerSecretId(String secretsManagerSecretId) { this.secretsManagerSecretId = secretsManagerSecretId; } /** *

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

* * @return The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that contains the * MySQL endpoint connection details. */ public String getSecretsManagerSecretId() { return this.secretsManagerSecretId; } /** *

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

* * @param secretsManagerSecretId * The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that contains the * MySQL endpoint connection details. * @return Returns a reference to this object so that method calls can be chained together. */ public MySQLSettings withSecretsManagerSecretId(String secretsManagerSecretId) { setSecretsManagerSecretId(secretsManagerSecretId); return this; } /** *

* Sets the client statement timeout (in seconds) for a MySQL source endpoint. *

* * @param executeTimeout * Sets the client statement timeout (in seconds) for a MySQL source endpoint. */ public void setExecuteTimeout(Integer executeTimeout) { this.executeTimeout = executeTimeout; } /** *

* Sets the client statement timeout (in seconds) for a MySQL source endpoint. *

* * @return Sets the client statement timeout (in seconds) for a MySQL source endpoint. */ public Integer getExecuteTimeout() { return this.executeTimeout; } /** *

* Sets the client statement timeout (in seconds) for a MySQL source endpoint. *

* * @param executeTimeout * Sets the client statement timeout (in seconds) for a MySQL source endpoint. * @return Returns a reference to this object so that method calls can be chained together. */ public MySQLSettings withExecuteTimeout(Integer executeTimeout) { setExecuteTimeout(executeTimeout); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getAfterConnectScript() != null) sb.append("AfterConnectScript: ").append(getAfterConnectScript()).append(","); if (getCleanSourceMetadataOnMismatch() != null) sb.append("CleanSourceMetadataOnMismatch: ").append(getCleanSourceMetadataOnMismatch()).append(","); if (getDatabaseName() != null) sb.append("DatabaseName: ").append(getDatabaseName()).append(","); if (getEventsPollInterval() != null) sb.append("EventsPollInterval: ").append(getEventsPollInterval()).append(","); if (getTargetDbType() != null) sb.append("TargetDbType: ").append(getTargetDbType()).append(","); if (getMaxFileSize() != null) sb.append("MaxFileSize: ").append(getMaxFileSize()).append(","); if (getParallelLoadThreads() != null) sb.append("ParallelLoadThreads: ").append(getParallelLoadThreads()).append(","); if (getPassword() != null) sb.append("Password: ").append("***Sensitive Data Redacted***").append(","); if (getPort() != null) sb.append("Port: ").append(getPort()).append(","); if (getServerName() != null) sb.append("ServerName: ").append(getServerName()).append(","); if (getServerTimezone() != null) sb.append("ServerTimezone: ").append(getServerTimezone()).append(","); if (getUsername() != null) sb.append("Username: ").append(getUsername()).append(","); if (getSecretsManagerAccessRoleArn() != null) sb.append("SecretsManagerAccessRoleArn: ").append(getSecretsManagerAccessRoleArn()).append(","); if (getSecretsManagerSecretId() != null) sb.append("SecretsManagerSecretId: ").append(getSecretsManagerSecretId()).append(","); if (getExecuteTimeout() != null) sb.append("ExecuteTimeout: ").append(getExecuteTimeout()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof MySQLSettings == false) return false; MySQLSettings other = (MySQLSettings) obj; if (other.getAfterConnectScript() == null ^ this.getAfterConnectScript() == null) return false; if (other.getAfterConnectScript() != null && other.getAfterConnectScript().equals(this.getAfterConnectScript()) == false) return false; if (other.getCleanSourceMetadataOnMismatch() == null ^ this.getCleanSourceMetadataOnMismatch() == null) return false; if (other.getCleanSourceMetadataOnMismatch() != null && other.getCleanSourceMetadataOnMismatch().equals(this.getCleanSourceMetadataOnMismatch()) == false) return false; if (other.getDatabaseName() == null ^ this.getDatabaseName() == null) return false; if (other.getDatabaseName() != null && other.getDatabaseName().equals(this.getDatabaseName()) == false) return false; if (other.getEventsPollInterval() == null ^ this.getEventsPollInterval() == null) return false; if (other.getEventsPollInterval() != null && other.getEventsPollInterval().equals(this.getEventsPollInterval()) == false) return false; if (other.getTargetDbType() == null ^ this.getTargetDbType() == null) return false; if (other.getTargetDbType() != null && other.getTargetDbType().equals(this.getTargetDbType()) == false) return false; if (other.getMaxFileSize() == null ^ this.getMaxFileSize() == null) return false; if (other.getMaxFileSize() != null && other.getMaxFileSize().equals(this.getMaxFileSize()) == false) return false; if (other.getParallelLoadThreads() == null ^ this.getParallelLoadThreads() == null) return false; if (other.getParallelLoadThreads() != null && other.getParallelLoadThreads().equals(this.getParallelLoadThreads()) == false) return false; if (other.getPassword() == null ^ this.getPassword() == null) return false; if (other.getPassword() != null && other.getPassword().equals(this.getPassword()) == false) return false; if (other.getPort() == null ^ this.getPort() == null) return false; if (other.getPort() != null && other.getPort().equals(this.getPort()) == false) return false; if (other.getServerName() == null ^ this.getServerName() == null) return false; if (other.getServerName() != null && other.getServerName().equals(this.getServerName()) == false) return false; if (other.getServerTimezone() == null ^ this.getServerTimezone() == null) return false; if (other.getServerTimezone() != null && other.getServerTimezone().equals(this.getServerTimezone()) == false) return false; if (other.getUsername() == null ^ this.getUsername() == null) return false; if (other.getUsername() != null && other.getUsername().equals(this.getUsername()) == false) return false; if (other.getSecretsManagerAccessRoleArn() == null ^ this.getSecretsManagerAccessRoleArn() == null) return false; if (other.getSecretsManagerAccessRoleArn() != null && other.getSecretsManagerAccessRoleArn().equals(this.getSecretsManagerAccessRoleArn()) == false) return false; if (other.getSecretsManagerSecretId() == null ^ this.getSecretsManagerSecretId() == null) return false; if (other.getSecretsManagerSecretId() != null && other.getSecretsManagerSecretId().equals(this.getSecretsManagerSecretId()) == false) return false; if (other.getExecuteTimeout() == null ^ this.getExecuteTimeout() == null) return false; if (other.getExecuteTimeout() != null && other.getExecuteTimeout().equals(this.getExecuteTimeout()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAfterConnectScript() == null) ? 0 : getAfterConnectScript().hashCode()); hashCode = prime * hashCode + ((getCleanSourceMetadataOnMismatch() == null) ? 0 : getCleanSourceMetadataOnMismatch().hashCode()); hashCode = prime * hashCode + ((getDatabaseName() == null) ? 0 : getDatabaseName().hashCode()); hashCode = prime * hashCode + ((getEventsPollInterval() == null) ? 0 : getEventsPollInterval().hashCode()); hashCode = prime * hashCode + ((getTargetDbType() == null) ? 0 : getTargetDbType().hashCode()); hashCode = prime * hashCode + ((getMaxFileSize() == null) ? 0 : getMaxFileSize().hashCode()); hashCode = prime * hashCode + ((getParallelLoadThreads() == null) ? 0 : getParallelLoadThreads().hashCode()); hashCode = prime * hashCode + ((getPassword() == null) ? 0 : getPassword().hashCode()); hashCode = prime * hashCode + ((getPort() == null) ? 0 : getPort().hashCode()); hashCode = prime * hashCode + ((getServerName() == null) ? 0 : getServerName().hashCode()); hashCode = prime * hashCode + ((getServerTimezone() == null) ? 0 : getServerTimezone().hashCode()); hashCode = prime * hashCode + ((getUsername() == null) ? 0 : getUsername().hashCode()); hashCode = prime * hashCode + ((getSecretsManagerAccessRoleArn() == null) ? 0 : getSecretsManagerAccessRoleArn().hashCode()); hashCode = prime * hashCode + ((getSecretsManagerSecretId() == null) ? 0 : getSecretsManagerSecretId().hashCode()); hashCode = prime * hashCode + ((getExecuteTimeout() == null) ? 0 : getExecuteTimeout().hashCode()); return hashCode; } @Override public MySQLSettings clone() { try { return (MySQLSettings) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.databasemigrationservice.model.transform.MySQLSettingsMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy