/* * Copyright 2018-2023 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 Microsoft SQL Server endpoint. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class MicrosoftSQLServerSettings implements Serializable, Cloneable, StructuredPojo { /** ** Endpoint TCP port. *
*/ private Integer port; /** ** The maximum size of the packets (in bytes) used to transfer data using BCP. *
*/ private Integer bcpPacketSize; /** ** Database name for the endpoint. *
*/ private String databaseName; /** ** Specifies a file group for the DMS internal tables. When the replication task starts, all the internal DMS * control tables (awsdms_ apply_exception, awsdms_apply, awsdms_changes) are created for the specified file group. *
*/ private String controlTablesFileGroup; /** ** Endpoint connection password. *
*/ private String password; /** ** Cleans and recreates table metadata information on the replication instance when a mismatch occurs. An example is * a situation where running an alter DDL statement on a table might result in different information about the table * cached in the replication instance. *
*/ private Boolean querySingleAlwaysOnNode; /** *
* When this attribute is set to Y
, DMS only reads changes from transaction log backups and doesn't
* read from the active transaction log file during ongoing replication. Setting this parameter to Y
* enables you to control active transaction log file growth during full load and ongoing replication tasks.
* However, it can add some source latency to ongoing replication.
*
* Use this attribute to minimize the need to access the backup log and enable DMS to prevent truncation using one * of the following two methods. *
** Start transactions in the database: This is the default method. When this method is used, DMS prevents * TLOG truncation by mimicking a transaction in the database. As long as such a transaction is open, changes that * appear after the transaction started aren't truncated. If you need Microsoft Replication to be enabled in your * database, then you must choose this method. *
** Exclusively use sp_repldone within a single task: When this method is used, DMS reads the changes and then * uses sp_repldone to mark the TLOG transactions as ready for truncation. Although this method doesn't involve any * transactional activities, it can only be used when Microsoft Replication isn't running. Also, when using this * method, only one DMS task can access the database at any given time. Therefore, if you need to run parallel DMS * tasks against the same database, use the default method. *
*/ private String safeguardPolicy; /** *
* Fully qualified domain name of the endpoint. For an Amazon RDS SQL Server instance, this is the output of DescribeDBInstances,
* in the
* Endpoint.Address
* field.
*
* Endpoint connection user name. *
*/ private String username; /** ** Use this to attribute to transfer data for full-load operations using BCP. When the target table contains an * identity column that does not exist in the source table, you must disable the use BCP for loading table option. *
*/ private Boolean useBcpFullLoad; /** *
* When this attribute is set to Y
, DMS processes third-party transaction log backups if they are
* created in native format.
*
* 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 SQL Server 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 SQL Server
* endpoint connection details.
*
* Use the TrimSpaceInChar
source endpoint setting to trim data on CHAR and NCHAR data types during
* migration. The default value is true
.
*
* Indicates the mode used to fetch CDC data. *
*/ private String tlogAccessMode; /** ** Forces LOB lookup on inline LOB. *
*/ private Boolean forceLobLookup; /** ** 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 MicrosoftSQLServerSettings withPort(Integer port) { setPort(port); return this; } /** ** The maximum size of the packets (in bytes) used to transfer data using BCP. *
* * @param bcpPacketSize * The maximum size of the packets (in bytes) used to transfer data using BCP. */ public void setBcpPacketSize(Integer bcpPacketSize) { this.bcpPacketSize = bcpPacketSize; } /** ** The maximum size of the packets (in bytes) used to transfer data using BCP. *
* * @return The maximum size of the packets (in bytes) used to transfer data using BCP. */ public Integer getBcpPacketSize() { return this.bcpPacketSize; } /** ** The maximum size of the packets (in bytes) used to transfer data using BCP. *
* * @param bcpPacketSize * The maximum size of the packets (in bytes) used to transfer data using BCP. * @return Returns a reference to this object so that method calls can be chained together. */ public MicrosoftSQLServerSettings withBcpPacketSize(Integer bcpPacketSize) { setBcpPacketSize(bcpPacketSize); return this; } /** ** Database name for the endpoint. *
* * @param databaseName * Database name for the endpoint. */ public void setDatabaseName(String databaseName) { this.databaseName = databaseName; } /** ** Database name for the endpoint. *
* * @return Database name for the endpoint. */ public String getDatabaseName() { return this.databaseName; } /** ** Database name for the endpoint. *
* * @param databaseName * Database name for the endpoint. * @return Returns a reference to this object so that method calls can be chained together. */ public MicrosoftSQLServerSettings withDatabaseName(String databaseName) { setDatabaseName(databaseName); return this; } /** ** Specifies a file group for the DMS internal tables. When the replication task starts, all the internal DMS * control tables (awsdms_ apply_exception, awsdms_apply, awsdms_changes) are created for the specified file group. *
* * @param controlTablesFileGroup * Specifies a file group for the DMS internal tables. When the replication task starts, all the internal DMS * control tables (awsdms_ apply_exception, awsdms_apply, awsdms_changes) are created for the specified file * group. */ public void setControlTablesFileGroup(String controlTablesFileGroup) { this.controlTablesFileGroup = controlTablesFileGroup; } /** ** Specifies a file group for the DMS internal tables. When the replication task starts, all the internal DMS * control tables (awsdms_ apply_exception, awsdms_apply, awsdms_changes) are created for the specified file group. *
* * @return Specifies a file group for the DMS internal tables. When the replication task starts, all the internal * DMS control tables (awsdms_ apply_exception, awsdms_apply, awsdms_changes) are created for the specified * file group. */ public String getControlTablesFileGroup() { return this.controlTablesFileGroup; } /** ** Specifies a file group for the DMS internal tables. When the replication task starts, all the internal DMS * control tables (awsdms_ apply_exception, awsdms_apply, awsdms_changes) are created for the specified file group. *
* * @param controlTablesFileGroup * Specifies a file group for the DMS internal tables. When the replication task starts, all the internal DMS * control tables (awsdms_ apply_exception, awsdms_apply, awsdms_changes) are created for the specified file * group. * @return Returns a reference to this object so that method calls can be chained together. */ public MicrosoftSQLServerSettings withControlTablesFileGroup(String controlTablesFileGroup) { setControlTablesFileGroup(controlTablesFileGroup); 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 MicrosoftSQLServerSettings withPassword(String password) { setPassword(password); return this; } /** ** Cleans and recreates table metadata information on the replication instance when a mismatch occurs. An example is * a situation where running an alter DDL statement on a table might result in different information about the table * cached in the replication instance. *
* * @param querySingleAlwaysOnNode * Cleans and recreates table metadata information on the replication instance when a mismatch occurs. An * example is a situation where running an alter DDL statement on a table might result in different * information about the table cached in the replication instance. */ public void setQuerySingleAlwaysOnNode(Boolean querySingleAlwaysOnNode) { this.querySingleAlwaysOnNode = querySingleAlwaysOnNode; } /** ** Cleans and recreates table metadata information on the replication instance when a mismatch occurs. An example is * a situation where running an alter DDL statement on a table might 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. An * example is a situation where running an alter DDL statement on a table might result in different * information about the table cached in the replication instance. */ public Boolean getQuerySingleAlwaysOnNode() { return this.querySingleAlwaysOnNode; } /** ** Cleans and recreates table metadata information on the replication instance when a mismatch occurs. An example is * a situation where running an alter DDL statement on a table might result in different information about the table * cached in the replication instance. *
* * @param querySingleAlwaysOnNode * Cleans and recreates table metadata information on the replication instance when a mismatch occurs. An * example is a situation where running an alter DDL statement on a table might 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 MicrosoftSQLServerSettings withQuerySingleAlwaysOnNode(Boolean querySingleAlwaysOnNode) { setQuerySingleAlwaysOnNode(querySingleAlwaysOnNode); return this; } /** ** Cleans and recreates table metadata information on the replication instance when a mismatch occurs. An example is * a situation where running an alter DDL statement on a table might 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. An * example is a situation where running an alter DDL statement on a table might result in different * information about the table cached in the replication instance. */ public Boolean isQuerySingleAlwaysOnNode() { return this.querySingleAlwaysOnNode; } /** *
* When this attribute is set to Y
, DMS only reads changes from transaction log backups and doesn't
* read from the active transaction log file during ongoing replication. Setting this parameter to Y
* enables you to control active transaction log file growth during full load and ongoing replication tasks.
* However, it can add some source latency to ongoing replication.
*
Y
, DMS only reads changes from transaction log backups and
* doesn't read from the active transaction log file during ongoing replication. Setting this parameter to
* Y
enables you to control active transaction log file growth during full load and ongoing
* replication tasks. However, it can add some source latency to ongoing replication.
*/
public void setReadBackupOnly(Boolean readBackupOnly) {
this.readBackupOnly = readBackupOnly;
}
/**
*
* When this attribute is set to Y
, DMS only reads changes from transaction log backups and doesn't
* read from the active transaction log file during ongoing replication. Setting this parameter to Y
* enables you to control active transaction log file growth during full load and ongoing replication tasks.
* However, it can add some source latency to ongoing replication.
*
Y
, DMS only reads changes from transaction log backups and
* doesn't read from the active transaction log file during ongoing replication. Setting this parameter to
* Y
enables you to control active transaction log file growth during full load and ongoing
* replication tasks. However, it can add some source latency to ongoing replication.
*/
public Boolean getReadBackupOnly() {
return this.readBackupOnly;
}
/**
*
* When this attribute is set to Y
, DMS only reads changes from transaction log backups and doesn't
* read from the active transaction log file during ongoing replication. Setting this parameter to Y
* enables you to control active transaction log file growth during full load and ongoing replication tasks.
* However, it can add some source latency to ongoing replication.
*
Y
, DMS only reads changes from transaction log backups and
* doesn't read from the active transaction log file during ongoing replication. Setting this parameter to
* Y
enables you to control active transaction log file growth during full load and ongoing
* replication tasks. However, it can add some source latency to ongoing replication.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MicrosoftSQLServerSettings withReadBackupOnly(Boolean readBackupOnly) {
setReadBackupOnly(readBackupOnly);
return this;
}
/**
*
* When this attribute is set to Y
, DMS only reads changes from transaction log backups and doesn't
* read from the active transaction log file during ongoing replication. Setting this parameter to Y
* enables you to control active transaction log file growth during full load and ongoing replication tasks.
* However, it can add some source latency to ongoing replication.
*
Y
, DMS only reads changes from transaction log backups and
* doesn't read from the active transaction log file during ongoing replication. Setting this parameter to
* Y
enables you to control active transaction log file growth during full load and ongoing
* replication tasks. However, it can add some source latency to ongoing replication.
*/
public Boolean isReadBackupOnly() {
return this.readBackupOnly;
}
/**
* * Use this attribute to minimize the need to access the backup log and enable DMS to prevent truncation using one * of the following two methods. *
** Start transactions in the database: This is the default method. When this method is used, DMS prevents * TLOG truncation by mimicking a transaction in the database. As long as such a transaction is open, changes that * appear after the transaction started aren't truncated. If you need Microsoft Replication to be enabled in your * database, then you must choose this method. *
** Exclusively use sp_repldone within a single task: When this method is used, DMS reads the changes and then * uses sp_repldone to mark the TLOG transactions as ready for truncation. Although this method doesn't involve any * transactional activities, it can only be used when Microsoft Replication isn't running. Also, when using this * method, only one DMS task can access the database at any given time. Therefore, if you need to run parallel DMS * tasks against the same database, use the default method. *
* * @param safeguardPolicy * Use this attribute to minimize the need to access the backup log and enable DMS to prevent truncation * using one of the following two methods. ** Start transactions in the database: This is the default method. When this method is used, DMS * prevents TLOG truncation by mimicking a transaction in the database. As long as such a transaction is * open, changes that appear after the transaction started aren't truncated. If you need Microsoft * Replication to be enabled in your database, then you must choose this method. *
** Exclusively use sp_repldone within a single task: When this method is used, DMS reads the changes * and then uses sp_repldone to mark the TLOG transactions as ready for truncation. Although this method * doesn't involve any transactional activities, it can only be used when Microsoft Replication isn't * running. Also, when using this method, only one DMS task can access the database at any given time. * Therefore, if you need to run parallel DMS tasks against the same database, use the default method. * @see SafeguardPolicy */ public void setSafeguardPolicy(String safeguardPolicy) { this.safeguardPolicy = safeguardPolicy; } /** *
* Use this attribute to minimize the need to access the backup log and enable DMS to prevent truncation using one * of the following two methods. *
** Start transactions in the database: This is the default method. When this method is used, DMS prevents * TLOG truncation by mimicking a transaction in the database. As long as such a transaction is open, changes that * appear after the transaction started aren't truncated. If you need Microsoft Replication to be enabled in your * database, then you must choose this method. *
** Exclusively use sp_repldone within a single task: When this method is used, DMS reads the changes and then * uses sp_repldone to mark the TLOG transactions as ready for truncation. Although this method doesn't involve any * transactional activities, it can only be used when Microsoft Replication isn't running. Also, when using this * method, only one DMS task can access the database at any given time. Therefore, if you need to run parallel DMS * tasks against the same database, use the default method. *
* * @return Use this attribute to minimize the need to access the backup log and enable DMS to prevent truncation * using one of the following two methods. ** Start transactions in the database: This is the default method. When this method is used, DMS * prevents TLOG truncation by mimicking a transaction in the database. As long as such a transaction is * open, changes that appear after the transaction started aren't truncated. If you need Microsoft * Replication to be enabled in your database, then you must choose this method. *
** Exclusively use sp_repldone within a single task: When this method is used, DMS reads the changes * and then uses sp_repldone to mark the TLOG transactions as ready for truncation. Although this method * doesn't involve any transactional activities, it can only be used when Microsoft Replication isn't * running. Also, when using this method, only one DMS task can access the database at any given time. * Therefore, if you need to run parallel DMS tasks against the same database, use the default method. * @see SafeguardPolicy */ public String getSafeguardPolicy() { return this.safeguardPolicy; } /** *
* Use this attribute to minimize the need to access the backup log and enable DMS to prevent truncation using one * of the following two methods. *
** Start transactions in the database: This is the default method. When this method is used, DMS prevents * TLOG truncation by mimicking a transaction in the database. As long as such a transaction is open, changes that * appear after the transaction started aren't truncated. If you need Microsoft Replication to be enabled in your * database, then you must choose this method. *
** Exclusively use sp_repldone within a single task: When this method is used, DMS reads the changes and then * uses sp_repldone to mark the TLOG transactions as ready for truncation. Although this method doesn't involve any * transactional activities, it can only be used when Microsoft Replication isn't running. Also, when using this * method, only one DMS task can access the database at any given time. Therefore, if you need to run parallel DMS * tasks against the same database, use the default method. *
* * @param safeguardPolicy * Use this attribute to minimize the need to access the backup log and enable DMS to prevent truncation * using one of the following two methods. ** Start transactions in the database: This is the default method. When this method is used, DMS * prevents TLOG truncation by mimicking a transaction in the database. As long as such a transaction is * open, changes that appear after the transaction started aren't truncated. If you need Microsoft * Replication to be enabled in your database, then you must choose this method. *
** Exclusively use sp_repldone within a single task: When this method is used, DMS reads the changes * and then uses sp_repldone to mark the TLOG transactions as ready for truncation. Although this method * doesn't involve any transactional activities, it can only be used when Microsoft Replication isn't * running. Also, when using this method, only one DMS task can access the database at any given time. * Therefore, if you need to run parallel DMS tasks against the same database, use the default method. * @return Returns a reference to this object so that method calls can be chained together. * @see SafeguardPolicy */ public MicrosoftSQLServerSettings withSafeguardPolicy(String safeguardPolicy) { setSafeguardPolicy(safeguardPolicy); return this; } /** *
* Use this attribute to minimize the need to access the backup log and enable DMS to prevent truncation using one * of the following two methods. *
** Start transactions in the database: This is the default method. When this method is used, DMS prevents * TLOG truncation by mimicking a transaction in the database. As long as such a transaction is open, changes that * appear after the transaction started aren't truncated. If you need Microsoft Replication to be enabled in your * database, then you must choose this method. *
** Exclusively use sp_repldone within a single task: When this method is used, DMS reads the changes and then * uses sp_repldone to mark the TLOG transactions as ready for truncation. Although this method doesn't involve any * transactional activities, it can only be used when Microsoft Replication isn't running. Also, when using this * method, only one DMS task can access the database at any given time. Therefore, if you need to run parallel DMS * tasks against the same database, use the default method. *
* * @param safeguardPolicy * Use this attribute to minimize the need to access the backup log and enable DMS to prevent truncation * using one of the following two methods. ** Start transactions in the database: This is the default method. When this method is used, DMS * prevents TLOG truncation by mimicking a transaction in the database. As long as such a transaction is * open, changes that appear after the transaction started aren't truncated. If you need Microsoft * Replication to be enabled in your database, then you must choose this method. *
** Exclusively use sp_repldone within a single task: When this method is used, DMS reads the changes * and then uses sp_repldone to mark the TLOG transactions as ready for truncation. Although this method * doesn't involve any transactional activities, it can only be used when Microsoft Replication isn't * running. Also, when using this method, only one DMS task can access the database at any given time. * Therefore, if you need to run parallel DMS tasks against the same database, use the default method. * @return Returns a reference to this object so that method calls can be chained together. * @see SafeguardPolicy */ public MicrosoftSQLServerSettings withSafeguardPolicy(SafeguardPolicy safeguardPolicy) { this.safeguardPolicy = safeguardPolicy.toString(); return this; } /** *
* Fully qualified domain name of the endpoint. For an Amazon RDS SQL Server instance, this is the output of DescribeDBInstances,
* in the
* Endpoint.Address
* field.
*
Endpoint.Address
* field.
*/
public void setServerName(String serverName) {
this.serverName = serverName;
}
/**
*
* Fully qualified domain name of the endpoint. For an Amazon RDS SQL Server instance, this is the output of DescribeDBInstances,
* in the
* Endpoint.Address
* field.
*
Endpoint.Address
* field.
*/
public String getServerName() {
return this.serverName;
}
/**
*
* Fully qualified domain name of the endpoint. For an Amazon RDS SQL Server instance, this is the output of DescribeDBInstances,
* in the
* Endpoint.Address
* field.
*
Endpoint.Address
* field.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MicrosoftSQLServerSettings withServerName(String serverName) {
setServerName(serverName);
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 MicrosoftSQLServerSettings withUsername(String username) { setUsername(username); return this; } /** ** Use this to attribute to transfer data for full-load operations using BCP. When the target table contains an * identity column that does not exist in the source table, you must disable the use BCP for loading table option. *
* * @param useBcpFullLoad * Use this to attribute to transfer data for full-load operations using BCP. When the target table contains * an identity column that does not exist in the source table, you must disable the use BCP for loading table * option. */ public void setUseBcpFullLoad(Boolean useBcpFullLoad) { this.useBcpFullLoad = useBcpFullLoad; } /** ** Use this to attribute to transfer data for full-load operations using BCP. When the target table contains an * identity column that does not exist in the source table, you must disable the use BCP for loading table option. *
* * @return Use this to attribute to transfer data for full-load operations using BCP. When the target table contains * an identity column that does not exist in the source table, you must disable the use BCP for loading * table option. */ public Boolean getUseBcpFullLoad() { return this.useBcpFullLoad; } /** ** Use this to attribute to transfer data for full-load operations using BCP. When the target table contains an * identity column that does not exist in the source table, you must disable the use BCP for loading table option. *
* * @param useBcpFullLoad * Use this to attribute to transfer data for full-load operations using BCP. When the target table contains * an identity column that does not exist in the source table, you must disable the use BCP for loading table * option. * @return Returns a reference to this object so that method calls can be chained together. */ public MicrosoftSQLServerSettings withUseBcpFullLoad(Boolean useBcpFullLoad) { setUseBcpFullLoad(useBcpFullLoad); return this; } /** ** Use this to attribute to transfer data for full-load operations using BCP. When the target table contains an * identity column that does not exist in the source table, you must disable the use BCP for loading table option. *
* * @return Use this to attribute to transfer data for full-load operations using BCP. When the target table contains * an identity column that does not exist in the source table, you must disable the use BCP for loading * table option. */ public Boolean isUseBcpFullLoad() { return this.useBcpFullLoad; } /** *
* When this attribute is set to Y
, DMS processes third-party transaction log backups if they are
* created in native format.
*
Y
, DMS processes third-party transaction log backups if they
* are created in native format.
*/
public void setUseThirdPartyBackupDevice(Boolean useThirdPartyBackupDevice) {
this.useThirdPartyBackupDevice = useThirdPartyBackupDevice;
}
/**
*
* When this attribute is set to Y
, DMS processes third-party transaction log backups if they are
* created in native format.
*
Y
, DMS processes third-party transaction log backups if they
* are created in native format.
*/
public Boolean getUseThirdPartyBackupDevice() {
return this.useThirdPartyBackupDevice;
}
/**
*
* When this attribute is set to Y
, DMS processes third-party transaction log backups if they are
* created in native format.
*
Y
, DMS processes third-party transaction log backups if they
* are created in native format.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MicrosoftSQLServerSettings withUseThirdPartyBackupDevice(Boolean useThirdPartyBackupDevice) {
setUseThirdPartyBackupDevice(useThirdPartyBackupDevice);
return this;
}
/**
*
* When this attribute is set to Y
, DMS processes third-party transaction log backups if they are
* created in native format.
*
Y
, DMS processes third-party transaction log backups if they
* are created in native format.
*/
public Boolean isUseThirdPartyBackupDevice() {
return this.useThirdPartyBackupDevice;
}
/**
*
* 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 SQL Server 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.
*
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 SQL Server 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 SQL Server 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.
*
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 SQL Server 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 SQL Server 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.
*
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 SQL Server 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 SQL Server
* endpoint connection details.
*
SecretsManagerSecret
that contains the SQL
* Server 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 SQL Server
* endpoint connection details.
*
SecretsManagerSecret
that contains the
* SQL Server endpoint connection details.
*/
public String getSecretsManagerSecretId() {
return this.secretsManagerSecretId;
}
/**
*
* The full ARN, partial ARN, or friendly name of the SecretsManagerSecret
that contains the SQL Server
* endpoint connection details.
*
SecretsManagerSecret
that contains the SQL
* Server endpoint connection details.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MicrosoftSQLServerSettings withSecretsManagerSecretId(String secretsManagerSecretId) {
setSecretsManagerSecretId(secretsManagerSecretId);
return this;
}
/**
*
* Use the TrimSpaceInChar
source endpoint setting to trim data on CHAR and NCHAR data types during
* migration. The default value is true
.
*
TrimSpaceInChar
source endpoint setting to trim data on CHAR and NCHAR data types
* during migration. The default value is true
.
*/
public void setTrimSpaceInChar(Boolean trimSpaceInChar) {
this.trimSpaceInChar = trimSpaceInChar;
}
/**
*
* Use the TrimSpaceInChar
source endpoint setting to trim data on CHAR and NCHAR data types during
* migration. The default value is true
.
*
TrimSpaceInChar
source endpoint setting to trim data on CHAR and NCHAR data types
* during migration. The default value is true
.
*/
public Boolean getTrimSpaceInChar() {
return this.trimSpaceInChar;
}
/**
*
* Use the TrimSpaceInChar
source endpoint setting to trim data on CHAR and NCHAR data types during
* migration. The default value is true
.
*
TrimSpaceInChar
source endpoint setting to trim data on CHAR and NCHAR data types
* during migration. The default value is true
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public MicrosoftSQLServerSettings withTrimSpaceInChar(Boolean trimSpaceInChar) {
setTrimSpaceInChar(trimSpaceInChar);
return this;
}
/**
*
* Use the TrimSpaceInChar
source endpoint setting to trim data on CHAR and NCHAR data types during
* migration. The default value is true
.
*
TrimSpaceInChar
source endpoint setting to trim data on CHAR and NCHAR data types
* during migration. The default value is true
.
*/
public Boolean isTrimSpaceInChar() {
return this.trimSpaceInChar;
}
/**
* * Indicates the mode used to fetch CDC data. *
* * @param tlogAccessMode * Indicates the mode used to fetch CDC data. * @see TlogAccessMode */ public void setTlogAccessMode(String tlogAccessMode) { this.tlogAccessMode = tlogAccessMode; } /** ** Indicates the mode used to fetch CDC data. *
* * @return Indicates the mode used to fetch CDC data. * @see TlogAccessMode */ public String getTlogAccessMode() { return this.tlogAccessMode; } /** ** Indicates the mode used to fetch CDC data. *
* * @param tlogAccessMode * Indicates the mode used to fetch CDC data. * @return Returns a reference to this object so that method calls can be chained together. * @see TlogAccessMode */ public MicrosoftSQLServerSettings withTlogAccessMode(String tlogAccessMode) { setTlogAccessMode(tlogAccessMode); return this; } /** ** Indicates the mode used to fetch CDC data. *
* * @param tlogAccessMode * Indicates the mode used to fetch CDC data. * @return Returns a reference to this object so that method calls can be chained together. * @see TlogAccessMode */ public MicrosoftSQLServerSettings withTlogAccessMode(TlogAccessMode tlogAccessMode) { this.tlogAccessMode = tlogAccessMode.toString(); return this; } /** ** Forces LOB lookup on inline LOB. *
* * @param forceLobLookup * Forces LOB lookup on inline LOB. */ public void setForceLobLookup(Boolean forceLobLookup) { this.forceLobLookup = forceLobLookup; } /** ** Forces LOB lookup on inline LOB. *
* * @return Forces LOB lookup on inline LOB. */ public Boolean getForceLobLookup() { return this.forceLobLookup; } /** ** Forces LOB lookup on inline LOB. *
* * @param forceLobLookup * Forces LOB lookup on inline LOB. * @return Returns a reference to this object so that method calls can be chained together. */ public MicrosoftSQLServerSettings withForceLobLookup(Boolean forceLobLookup) { setForceLobLookup(forceLobLookup); return this; } /** ** Forces LOB lookup on inline LOB. *
* * @return Forces LOB lookup on inline LOB. */ public Boolean isForceLobLookup() { return this.forceLobLookup; } /** * 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 (getPort() != null) sb.append("Port: ").append(getPort()).append(","); if (getBcpPacketSize() != null) sb.append("BcpPacketSize: ").append(getBcpPacketSize()).append(","); if (getDatabaseName() != null) sb.append("DatabaseName: ").append(getDatabaseName()).append(","); if (getControlTablesFileGroup() != null) sb.append("ControlTablesFileGroup: ").append(getControlTablesFileGroup()).append(","); if (getPassword() != null) sb.append("Password: ").append("***Sensitive Data Redacted***").append(","); if (getQuerySingleAlwaysOnNode() != null) sb.append("QuerySingleAlwaysOnNode: ").append(getQuerySingleAlwaysOnNode()).append(","); if (getReadBackupOnly() != null) sb.append("ReadBackupOnly: ").append(getReadBackupOnly()).append(","); if (getSafeguardPolicy() != null) sb.append("SafeguardPolicy: ").append(getSafeguardPolicy()).append(","); if (getServerName() != null) sb.append("ServerName: ").append(getServerName()).append(","); if (getUsername() != null) sb.append("Username: ").append(getUsername()).append(","); if (getUseBcpFullLoad() != null) sb.append("UseBcpFullLoad: ").append(getUseBcpFullLoad()).append(","); if (getUseThirdPartyBackupDevice() != null) sb.append("UseThirdPartyBackupDevice: ").append(getUseThirdPartyBackupDevice()).append(","); if (getSecretsManagerAccessRoleArn() != null) sb.append("SecretsManagerAccessRoleArn: ").append(getSecretsManagerAccessRoleArn()).append(","); if (getSecretsManagerSecretId() != null) sb.append("SecretsManagerSecretId: ").append(getSecretsManagerSecretId()).append(","); if (getTrimSpaceInChar() != null) sb.append("TrimSpaceInChar: ").append(getTrimSpaceInChar()).append(","); if (getTlogAccessMode() != null) sb.append("TlogAccessMode: ").append(getTlogAccessMode()).append(","); if (getForceLobLookup() != null) sb.append("ForceLobLookup: ").append(getForceLobLookup()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof MicrosoftSQLServerSettings == false) return false; MicrosoftSQLServerSettings other = (MicrosoftSQLServerSettings) obj; if (other.getPort() == null ^ this.getPort() == null) return false; if (other.getPort() != null && other.getPort().equals(this.getPort()) == false) return false; if (other.getBcpPacketSize() == null ^ this.getBcpPacketSize() == null) return false; if (other.getBcpPacketSize() != null && other.getBcpPacketSize().equals(this.getBcpPacketSize()) == 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.getControlTablesFileGroup() == null ^ this.getControlTablesFileGroup() == null) return false; if (other.getControlTablesFileGroup() != null && other.getControlTablesFileGroup().equals(this.getControlTablesFileGroup()) == 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.getQuerySingleAlwaysOnNode() == null ^ this.getQuerySingleAlwaysOnNode() == null) return false; if (other.getQuerySingleAlwaysOnNode() != null && other.getQuerySingleAlwaysOnNode().equals(this.getQuerySingleAlwaysOnNode()) == false) return false; if (other.getReadBackupOnly() == null ^ this.getReadBackupOnly() == null) return false; if (other.getReadBackupOnly() != null && other.getReadBackupOnly().equals(this.getReadBackupOnly()) == false) return false; if (other.getSafeguardPolicy() == null ^ this.getSafeguardPolicy() == null) return false; if (other.getSafeguardPolicy() != null && other.getSafeguardPolicy().equals(this.getSafeguardPolicy()) == 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.getUsername() == null ^ this.getUsername() == null) return false; if (other.getUsername() != null && other.getUsername().equals(this.getUsername()) == false) return false; if (other.getUseBcpFullLoad() == null ^ this.getUseBcpFullLoad() == null) return false; if (other.getUseBcpFullLoad() != null && other.getUseBcpFullLoad().equals(this.getUseBcpFullLoad()) == false) return false; if (other.getUseThirdPartyBackupDevice() == null ^ this.getUseThirdPartyBackupDevice() == null) return false; if (other.getUseThirdPartyBackupDevice() != null && other.getUseThirdPartyBackupDevice().equals(this.getUseThirdPartyBackupDevice()) == 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.getTrimSpaceInChar() == null ^ this.getTrimSpaceInChar() == null) return false; if (other.getTrimSpaceInChar() != null && other.getTrimSpaceInChar().equals(this.getTrimSpaceInChar()) == false) return false; if (other.getTlogAccessMode() == null ^ this.getTlogAccessMode() == null) return false; if (other.getTlogAccessMode() != null && other.getTlogAccessMode().equals(this.getTlogAccessMode()) == false) return false; if (other.getForceLobLookup() == null ^ this.getForceLobLookup() == null) return false; if (other.getForceLobLookup() != null && other.getForceLobLookup().equals(this.getForceLobLookup()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getPort() == null) ? 0 : getPort().hashCode()); hashCode = prime * hashCode + ((getBcpPacketSize() == null) ? 0 : getBcpPacketSize().hashCode()); hashCode = prime * hashCode + ((getDatabaseName() == null) ? 0 : getDatabaseName().hashCode()); hashCode = prime * hashCode + ((getControlTablesFileGroup() == null) ? 0 : getControlTablesFileGroup().hashCode()); hashCode = prime * hashCode + ((getPassword() == null) ? 0 : getPassword().hashCode()); hashCode = prime * hashCode + ((getQuerySingleAlwaysOnNode() == null) ? 0 : getQuerySingleAlwaysOnNode().hashCode()); hashCode = prime * hashCode + ((getReadBackupOnly() == null) ? 0 : getReadBackupOnly().hashCode()); hashCode = prime * hashCode + ((getSafeguardPolicy() == null) ? 0 : getSafeguardPolicy().hashCode()); hashCode = prime * hashCode + ((getServerName() == null) ? 0 : getServerName().hashCode()); hashCode = prime * hashCode + ((getUsername() == null) ? 0 : getUsername().hashCode()); hashCode = prime * hashCode + ((getUseBcpFullLoad() == null) ? 0 : getUseBcpFullLoad().hashCode()); hashCode = prime * hashCode + ((getUseThirdPartyBackupDevice() == null) ? 0 : getUseThirdPartyBackupDevice().hashCode()); hashCode = prime * hashCode + ((getSecretsManagerAccessRoleArn() == null) ? 0 : getSecretsManagerAccessRoleArn().hashCode()); hashCode = prime * hashCode + ((getSecretsManagerSecretId() == null) ? 0 : getSecretsManagerSecretId().hashCode()); hashCode = prime * hashCode + ((getTrimSpaceInChar() == null) ? 0 : getTrimSpaceInChar().hashCode()); hashCode = prime * hashCode + ((getTlogAccessMode() == null) ? 0 : getTlogAccessMode().hashCode()); hashCode = prime * hashCode + ((getForceLobLookup() == null) ? 0 : getForceLobLookup().hashCode()); return hashCode; } @Override public MicrosoftSQLServerSettings clone() { try { return (MicrosoftSQLServerSettings) 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.MicrosoftSQLServerSettingsMarshaller.getInstance().marshall(this, protocolMarshaller); } }