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

com.amazonaws.services.databasemigrationservice.model.PostgreSQLSettings 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 PostgreSQL endpoint. *

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

* For use with change data capture (CDC) only, this attribute has DMS bypass foreign keys and user triggers to * reduce the time it takes to bulk load data. *

*

* Example: afterConnectScript=SET session_replication_role='replica' *

*/ private String afterConnectScript; /** *

* To capture DDL events, DMS creates various artifacts in the PostgreSQL database when the task starts. You can * later remove these artifacts. *

*

* If this value is set to N, you don't have to create tables or triggers on the source database. *

*/ private Boolean captureDdls; /** *

* Specifies the maximum size (in KB) of any .csv file used to transfer data to PostgreSQL. *

*

* Example: maxFileSize=512 *

*/ private Integer maxFileSize; /** *

* Database name for the endpoint. *

*/ private String databaseName; /** *

* The schema in which the operational DDL database artifacts are created. *

*

* Example: ddlArtifactsSchema=xyzddlschema; *

*/ private String ddlArtifactsSchema; /** *

* Sets the client statement timeout for the PostgreSQL instance, in seconds. The default value is 60 seconds. *

*

* Example: executeTimeout=100; *

*/ private Integer executeTimeout; /** *

* When set to true, this value causes a task to fail if the actual size of a LOB column is greater * than the specified LobMaxSize. *

*

* If task is set to Limited LOB mode and this option is set to true, the task fails instead of truncating the LOB * data. *

*/ private Boolean failTasksOnLobTruncation; /** *

* The write-ahead log (WAL) heartbeat feature mimics a dummy transaction. By doing this, it prevents idle logical * replication slots from holding onto old WAL logs, which can result in storage full situations on the source. This * heartbeat keeps restart_lsn moving and prevents storage full scenarios. *

*/ private Boolean heartbeatEnable; /** *

* Sets the schema in which the heartbeat artifacts are created. *

*/ private String heartbeatSchema; /** *

* Sets the WAL heartbeat frequency (in minutes). *

*/ private Integer heartbeatFrequency; /** *

* Endpoint connection password. *

*/ private String password; /** *

* Endpoint TCP port. The default is 5432. *

*/ private Integer port; /** *

* The host name of the endpoint database. *

*

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

*

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

*/ private String serverName; /** *

* Endpoint connection user name. *

*/ private String username; /** *

* Sets the name of a previously created logical replication slot for a change data capture (CDC) load of the * PostgreSQL source instance. *

*

* When used with the CdcStartPosition request parameter for the DMS API , this attribute also makes it * possible to use native CDC start points. DMS verifies that the specified logical replication slot exists before * starting the CDC load task. It also verifies that the task was created with a valid setting of * CdcStartPosition. If the specified slot doesn't exist or the task doesn't have a valid * CdcStartPosition setting, DMS raises an error. *

*

* For more information about setting the CdcStartPosition request parameter, see Determining a CDC native start point in the Database Migration Service User Guide. For more * information about using CdcStartPosition, see CreateReplicationTask, StartReplicationTask, and ModifyReplicationTask. *

*/ private String slotName; /** *

* Specifies the plugin to use to create a replication slot. *

*/ private String pluginName; /** *

* 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 PostgreSQL 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 PostgreSQL * endpoint connection details. *

*/ private String secretsManagerSecretId; /** *

* Use the TrimSpaceInChar source endpoint setting to trim data on CHAR and NCHAR data types during * migration. The default value is true. *

*/ private Boolean trimSpaceInChar; /** *

* When true, lets PostgreSQL migrate the boolean type as boolean. By default, PostgreSQL migrates booleans as * varchar(5). You must set this setting on both the source and target endpoints for it to take effect. *

*/ private Boolean mapBooleanAsBoolean; /** *

* When true, DMS migrates JSONB values as CLOB. *

*/ private Boolean mapJsonbAsClob; /** *

* When true, DMS migrates LONG values as VARCHAR. *

*/ private String mapLongVarcharAs; /** *

* Specifies the default behavior of the replication's handling of PostgreSQL- compatible endpoints that require * some additional configuration, such as Babelfish endpoints. *

*/ private String databaseMode; /** *

* The Babelfish for Aurora PostgreSQL database name for the endpoint. *

*/ private String babelfishDatabaseName; /** *

* For use with change data capture (CDC) only, this attribute has DMS bypass foreign keys and user triggers to * reduce the time it takes to bulk load data. *

*

* Example: afterConnectScript=SET session_replication_role='replica' *

* * @param afterConnectScript * For use with change data capture (CDC) only, this attribute has DMS bypass foreign keys and user triggers * to reduce the time it takes to bulk load data.

*

* Example: afterConnectScript=SET session_replication_role='replica' */ public void setAfterConnectScript(String afterConnectScript) { this.afterConnectScript = afterConnectScript; } /** *

* For use with change data capture (CDC) only, this attribute has DMS bypass foreign keys and user triggers to * reduce the time it takes to bulk load data. *

*

* Example: afterConnectScript=SET session_replication_role='replica' *

* * @return For use with change data capture (CDC) only, this attribute has DMS bypass foreign keys and user triggers * to reduce the time it takes to bulk load data.

*

* Example: afterConnectScript=SET session_replication_role='replica' */ public String getAfterConnectScript() { return this.afterConnectScript; } /** *

* For use with change data capture (CDC) only, this attribute has DMS bypass foreign keys and user triggers to * reduce the time it takes to bulk load data. *

*

* Example: afterConnectScript=SET session_replication_role='replica' *

* * @param afterConnectScript * For use with change data capture (CDC) only, this attribute has DMS bypass foreign keys and user triggers * to reduce the time it takes to bulk load data.

*

* Example: afterConnectScript=SET session_replication_role='replica' * @return Returns a reference to this object so that method calls can be chained together. */ public PostgreSQLSettings withAfterConnectScript(String afterConnectScript) { setAfterConnectScript(afterConnectScript); return this; } /** *

* To capture DDL events, DMS creates various artifacts in the PostgreSQL database when the task starts. You can * later remove these artifacts. *

*

* If this value is set to N, you don't have to create tables or triggers on the source database. *

* * @param captureDdls * To capture DDL events, DMS creates various artifacts in the PostgreSQL database when the task starts. You * can later remove these artifacts.

*

* If this value is set to N, you don't have to create tables or triggers on the source * database. */ public void setCaptureDdls(Boolean captureDdls) { this.captureDdls = captureDdls; } /** *

* To capture DDL events, DMS creates various artifacts in the PostgreSQL database when the task starts. You can * later remove these artifacts. *

*

* If this value is set to N, you don't have to create tables or triggers on the source database. *

* * @return To capture DDL events, DMS creates various artifacts in the PostgreSQL database when the task starts. You * can later remove these artifacts.

*

* If this value is set to N, you don't have to create tables or triggers on the source * database. */ public Boolean getCaptureDdls() { return this.captureDdls; } /** *

* To capture DDL events, DMS creates various artifacts in the PostgreSQL database when the task starts. You can * later remove these artifacts. *

*

* If this value is set to N, you don't have to create tables or triggers on the source database. *

* * @param captureDdls * To capture DDL events, DMS creates various artifacts in the PostgreSQL database when the task starts. You * can later remove these artifacts.

*

* If this value is set to N, you don't have to create tables or triggers on the source * database. * @return Returns a reference to this object so that method calls can be chained together. */ public PostgreSQLSettings withCaptureDdls(Boolean captureDdls) { setCaptureDdls(captureDdls); return this; } /** *

* To capture DDL events, DMS creates various artifacts in the PostgreSQL database when the task starts. You can * later remove these artifacts. *

*

* If this value is set to N, you don't have to create tables or triggers on the source database. *

* * @return To capture DDL events, DMS creates various artifacts in the PostgreSQL database when the task starts. You * can later remove these artifacts.

*

* If this value is set to N, you don't have to create tables or triggers on the source * database. */ public Boolean isCaptureDdls() { return this.captureDdls; } /** *

* Specifies the maximum size (in KB) of any .csv file used to transfer data to PostgreSQL. *

*

* Example: maxFileSize=512 *

* * @param maxFileSize * Specifies the maximum size (in KB) of any .csv file used to transfer data to PostgreSQL.

*

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

*

* Example: maxFileSize=512 *

* * @return Specifies the maximum size (in KB) of any .csv file used to transfer data to PostgreSQL.

*

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

* Specifies the maximum size (in KB) of any .csv file used to transfer data to PostgreSQL. *

*

* Example: maxFileSize=512 *

* * @param maxFileSize * Specifies the maximum size (in KB) of any .csv file used to transfer data to PostgreSQL.

*

* Example: maxFileSize=512 * @return Returns a reference to this object so that method calls can be chained together. */ public PostgreSQLSettings withMaxFileSize(Integer maxFileSize) { setMaxFileSize(maxFileSize); 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 PostgreSQLSettings withDatabaseName(String databaseName) { setDatabaseName(databaseName); return this; } /** *

* The schema in which the operational DDL database artifacts are created. *

*

* Example: ddlArtifactsSchema=xyzddlschema; *

* * @param ddlArtifactsSchema * The schema in which the operational DDL database artifacts are created.

*

* Example: ddlArtifactsSchema=xyzddlschema; */ public void setDdlArtifactsSchema(String ddlArtifactsSchema) { this.ddlArtifactsSchema = ddlArtifactsSchema; } /** *

* The schema in which the operational DDL database artifacts are created. *

*

* Example: ddlArtifactsSchema=xyzddlschema; *

* * @return The schema in which the operational DDL database artifacts are created.

*

* Example: ddlArtifactsSchema=xyzddlschema; */ public String getDdlArtifactsSchema() { return this.ddlArtifactsSchema; } /** *

* The schema in which the operational DDL database artifacts are created. *

*

* Example: ddlArtifactsSchema=xyzddlschema; *

* * @param ddlArtifactsSchema * The schema in which the operational DDL database artifacts are created.

*

* Example: ddlArtifactsSchema=xyzddlschema; * @return Returns a reference to this object so that method calls can be chained together. */ public PostgreSQLSettings withDdlArtifactsSchema(String ddlArtifactsSchema) { setDdlArtifactsSchema(ddlArtifactsSchema); return this; } /** *

* Sets the client statement timeout for the PostgreSQL instance, in seconds. The default value is 60 seconds. *

*

* Example: executeTimeout=100; *

* * @param executeTimeout * Sets the client statement timeout for the PostgreSQL instance, in seconds. The default value is 60 * seconds.

*

* Example: executeTimeout=100; */ public void setExecuteTimeout(Integer executeTimeout) { this.executeTimeout = executeTimeout; } /** *

* Sets the client statement timeout for the PostgreSQL instance, in seconds. The default value is 60 seconds. *

*

* Example: executeTimeout=100; *

* * @return Sets the client statement timeout for the PostgreSQL instance, in seconds. The default value is 60 * seconds.

*

* Example: executeTimeout=100; */ public Integer getExecuteTimeout() { return this.executeTimeout; } /** *

* Sets the client statement timeout for the PostgreSQL instance, in seconds. The default value is 60 seconds. *

*

* Example: executeTimeout=100; *

* * @param executeTimeout * Sets the client statement timeout for the PostgreSQL instance, in seconds. The default value is 60 * seconds.

*

* Example: executeTimeout=100; * @return Returns a reference to this object so that method calls can be chained together. */ public PostgreSQLSettings withExecuteTimeout(Integer executeTimeout) { setExecuteTimeout(executeTimeout); return this; } /** *

* When set to true, this value causes a task to fail if the actual size of a LOB column is greater * than the specified LobMaxSize. *

*

* If task is set to Limited LOB mode and this option is set to true, the task fails instead of truncating the LOB * data. *

* * @param failTasksOnLobTruncation * When set to true, this value causes a task to fail if the actual size of a LOB column is * greater than the specified LobMaxSize.

*

* If task is set to Limited LOB mode and this option is set to true, the task fails instead of truncating * the LOB data. */ public void setFailTasksOnLobTruncation(Boolean failTasksOnLobTruncation) { this.failTasksOnLobTruncation = failTasksOnLobTruncation; } /** *

* When set to true, this value causes a task to fail if the actual size of a LOB column is greater * than the specified LobMaxSize. *

*

* If task is set to Limited LOB mode and this option is set to true, the task fails instead of truncating the LOB * data. *

* * @return When set to true, this value causes a task to fail if the actual size of a LOB column is * greater than the specified LobMaxSize.

*

* If task is set to Limited LOB mode and this option is set to true, the task fails instead of truncating * the LOB data. */ public Boolean getFailTasksOnLobTruncation() { return this.failTasksOnLobTruncation; } /** *

* When set to true, this value causes a task to fail if the actual size of a LOB column is greater * than the specified LobMaxSize. *

*

* If task is set to Limited LOB mode and this option is set to true, the task fails instead of truncating the LOB * data. *

* * @param failTasksOnLobTruncation * When set to true, this value causes a task to fail if the actual size of a LOB column is * greater than the specified LobMaxSize.

*

* If task is set to Limited LOB mode and this option is set to true, the task fails instead of truncating * the LOB data. * @return Returns a reference to this object so that method calls can be chained together. */ public PostgreSQLSettings withFailTasksOnLobTruncation(Boolean failTasksOnLobTruncation) { setFailTasksOnLobTruncation(failTasksOnLobTruncation); return this; } /** *

* When set to true, this value causes a task to fail if the actual size of a LOB column is greater * than the specified LobMaxSize. *

*

* If task is set to Limited LOB mode and this option is set to true, the task fails instead of truncating the LOB * data. *

* * @return When set to true, this value causes a task to fail if the actual size of a LOB column is * greater than the specified LobMaxSize.

*

* If task is set to Limited LOB mode and this option is set to true, the task fails instead of truncating * the LOB data. */ public Boolean isFailTasksOnLobTruncation() { return this.failTasksOnLobTruncation; } /** *

* The write-ahead log (WAL) heartbeat feature mimics a dummy transaction. By doing this, it prevents idle logical * replication slots from holding onto old WAL logs, which can result in storage full situations on the source. This * heartbeat keeps restart_lsn moving and prevents storage full scenarios. *

* * @param heartbeatEnable * The write-ahead log (WAL) heartbeat feature mimics a dummy transaction. By doing this, it prevents idle * logical replication slots from holding onto old WAL logs, which can result in storage full situations on * the source. This heartbeat keeps restart_lsn moving and prevents storage full scenarios. */ public void setHeartbeatEnable(Boolean heartbeatEnable) { this.heartbeatEnable = heartbeatEnable; } /** *

* The write-ahead log (WAL) heartbeat feature mimics a dummy transaction. By doing this, it prevents idle logical * replication slots from holding onto old WAL logs, which can result in storage full situations on the source. This * heartbeat keeps restart_lsn moving and prevents storage full scenarios. *

* * @return The write-ahead log (WAL) heartbeat feature mimics a dummy transaction. By doing this, it prevents idle * logical replication slots from holding onto old WAL logs, which can result in storage full situations on * the source. This heartbeat keeps restart_lsn moving and prevents storage full scenarios. */ public Boolean getHeartbeatEnable() { return this.heartbeatEnable; } /** *

* The write-ahead log (WAL) heartbeat feature mimics a dummy transaction. By doing this, it prevents idle logical * replication slots from holding onto old WAL logs, which can result in storage full situations on the source. This * heartbeat keeps restart_lsn moving and prevents storage full scenarios. *

* * @param heartbeatEnable * The write-ahead log (WAL) heartbeat feature mimics a dummy transaction. By doing this, it prevents idle * logical replication slots from holding onto old WAL logs, which can result in storage full situations on * the source. This heartbeat keeps restart_lsn moving and prevents storage full scenarios. * @return Returns a reference to this object so that method calls can be chained together. */ public PostgreSQLSettings withHeartbeatEnable(Boolean heartbeatEnable) { setHeartbeatEnable(heartbeatEnable); return this; } /** *

* The write-ahead log (WAL) heartbeat feature mimics a dummy transaction. By doing this, it prevents idle logical * replication slots from holding onto old WAL logs, which can result in storage full situations on the source. This * heartbeat keeps restart_lsn moving and prevents storage full scenarios. *

* * @return The write-ahead log (WAL) heartbeat feature mimics a dummy transaction. By doing this, it prevents idle * logical replication slots from holding onto old WAL logs, which can result in storage full situations on * the source. This heartbeat keeps restart_lsn moving and prevents storage full scenarios. */ public Boolean isHeartbeatEnable() { return this.heartbeatEnable; } /** *

* Sets the schema in which the heartbeat artifacts are created. *

* * @param heartbeatSchema * Sets the schema in which the heartbeat artifacts are created. */ public void setHeartbeatSchema(String heartbeatSchema) { this.heartbeatSchema = heartbeatSchema; } /** *

* Sets the schema in which the heartbeat artifacts are created. *

* * @return Sets the schema in which the heartbeat artifacts are created. */ public String getHeartbeatSchema() { return this.heartbeatSchema; } /** *

* Sets the schema in which the heartbeat artifacts are created. *

* * @param heartbeatSchema * Sets the schema in which the heartbeat artifacts are created. * @return Returns a reference to this object so that method calls can be chained together. */ public PostgreSQLSettings withHeartbeatSchema(String heartbeatSchema) { setHeartbeatSchema(heartbeatSchema); return this; } /** *

* Sets the WAL heartbeat frequency (in minutes). *

* * @param heartbeatFrequency * Sets the WAL heartbeat frequency (in minutes). */ public void setHeartbeatFrequency(Integer heartbeatFrequency) { this.heartbeatFrequency = heartbeatFrequency; } /** *

* Sets the WAL heartbeat frequency (in minutes). *

* * @return Sets the WAL heartbeat frequency (in minutes). */ public Integer getHeartbeatFrequency() { return this.heartbeatFrequency; } /** *

* Sets the WAL heartbeat frequency (in minutes). *

* * @param heartbeatFrequency * Sets the WAL heartbeat frequency (in minutes). * @return Returns a reference to this object so that method calls can be chained together. */ public PostgreSQLSettings withHeartbeatFrequency(Integer heartbeatFrequency) { setHeartbeatFrequency(heartbeatFrequency); 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 PostgreSQLSettings withPassword(String password) { setPassword(password); return this; } /** *

* Endpoint TCP port. The default is 5432. *

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

* Endpoint TCP port. The default is 5432. *

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

* Endpoint TCP port. The default is 5432. *

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

* The host name of the endpoint database. *

*

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

*

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

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

*

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

*

* For an Aurora PostgreSQL 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 PostgreSQL instance, this is the output of DescribeDBInstances, in the * Endpoint.Address * field. *

*

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

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

*

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

*

* For an Aurora PostgreSQL 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 PostgreSQL instance, this is the output of DescribeDBInstances, in the * Endpoint.Address * field. *

*

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

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

*

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

*

* For an Aurora PostgreSQL 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 PostgreSQLSettings 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 PostgreSQLSettings withUsername(String username) { setUsername(username); return this; } /** *

* Sets the name of a previously created logical replication slot for a change data capture (CDC) load of the * PostgreSQL source instance. *

*

* When used with the CdcStartPosition request parameter for the DMS API , this attribute also makes it * possible to use native CDC start points. DMS verifies that the specified logical replication slot exists before * starting the CDC load task. It also verifies that the task was created with a valid setting of * CdcStartPosition. If the specified slot doesn't exist or the task doesn't have a valid * CdcStartPosition setting, DMS raises an error. *

*

* For more information about setting the CdcStartPosition request parameter, see Determining a CDC native start point in the Database Migration Service User Guide. For more * information about using CdcStartPosition, see CreateReplicationTask, StartReplicationTask, and ModifyReplicationTask. *

* * @param slotName * Sets the name of a previously created logical replication slot for a change data capture (CDC) load of the * PostgreSQL source instance.

*

* When used with the CdcStartPosition request parameter for the DMS API , this attribute also * makes it possible to use native CDC start points. DMS verifies that the specified logical replication slot * exists before starting the CDC load task. It also verifies that the task was created with a valid setting * of CdcStartPosition. If the specified slot doesn't exist or the task doesn't have a valid * CdcStartPosition setting, DMS raises an error. *

*

* For more information about setting the CdcStartPosition request parameter, see Determining a CDC native start point in the Database Migration Service User Guide. For more * information about using CdcStartPosition, see CreateReplicationTask, StartReplicationTask, and ModifyReplicationTask. */ public void setSlotName(String slotName) { this.slotName = slotName; } /** *

* Sets the name of a previously created logical replication slot for a change data capture (CDC) load of the * PostgreSQL source instance. *

*

* When used with the CdcStartPosition request parameter for the DMS API , this attribute also makes it * possible to use native CDC start points. DMS verifies that the specified logical replication slot exists before * starting the CDC load task. It also verifies that the task was created with a valid setting of * CdcStartPosition. If the specified slot doesn't exist or the task doesn't have a valid * CdcStartPosition setting, DMS raises an error. *

*

* For more information about setting the CdcStartPosition request parameter, see Determining a CDC native start point in the Database Migration Service User Guide. For more * information about using CdcStartPosition, see CreateReplicationTask, StartReplicationTask, and ModifyReplicationTask. *

* * @return Sets the name of a previously created logical replication slot for a change data capture (CDC) load of * the PostgreSQL source instance.

*

* When used with the CdcStartPosition request parameter for the DMS API , this attribute also * makes it possible to use native CDC start points. DMS verifies that the specified logical replication * slot exists before starting the CDC load task. It also verifies that the task was created with a valid * setting of CdcStartPosition. If the specified slot doesn't exist or the task doesn't have a * valid CdcStartPosition setting, DMS raises an error. *

*

* For more information about setting the CdcStartPosition request parameter, see Determining a CDC native start point in the Database Migration Service User Guide. For more * information about using CdcStartPosition, see CreateReplicationTask, StartReplicationTask, and ModifyReplicationTask. */ public String getSlotName() { return this.slotName; } /** *

* Sets the name of a previously created logical replication slot for a change data capture (CDC) load of the * PostgreSQL source instance. *

*

* When used with the CdcStartPosition request parameter for the DMS API , this attribute also makes it * possible to use native CDC start points. DMS verifies that the specified logical replication slot exists before * starting the CDC load task. It also verifies that the task was created with a valid setting of * CdcStartPosition. If the specified slot doesn't exist or the task doesn't have a valid * CdcStartPosition setting, DMS raises an error. *

*

* For more information about setting the CdcStartPosition request parameter, see Determining a CDC native start point in the Database Migration Service User Guide. For more * information about using CdcStartPosition, see CreateReplicationTask, StartReplicationTask, and ModifyReplicationTask. *

* * @param slotName * Sets the name of a previously created logical replication slot for a change data capture (CDC) load of the * PostgreSQL source instance.

*

* When used with the CdcStartPosition request parameter for the DMS API , this attribute also * makes it possible to use native CDC start points. DMS verifies that the specified logical replication slot * exists before starting the CDC load task. It also verifies that the task was created with a valid setting * of CdcStartPosition. If the specified slot doesn't exist or the task doesn't have a valid * CdcStartPosition setting, DMS raises an error. *

*

* For more information about setting the CdcStartPosition request parameter, see Determining a CDC native start point in the Database Migration Service User Guide. For more * information about using CdcStartPosition, see CreateReplicationTask, StartReplicationTask, and ModifyReplicationTask. * @return Returns a reference to this object so that method calls can be chained together. */ public PostgreSQLSettings withSlotName(String slotName) { setSlotName(slotName); return this; } /** *

* Specifies the plugin to use to create a replication slot. *

* * @param pluginName * Specifies the plugin to use to create a replication slot. * @see PluginNameValue */ public void setPluginName(String pluginName) { this.pluginName = pluginName; } /** *

* Specifies the plugin to use to create a replication slot. *

* * @return Specifies the plugin to use to create a replication slot. * @see PluginNameValue */ public String getPluginName() { return this.pluginName; } /** *

* Specifies the plugin to use to create a replication slot. *

* * @param pluginName * Specifies the plugin to use to create a replication slot. * @return Returns a reference to this object so that method calls can be chained together. * @see PluginNameValue */ public PostgreSQLSettings withPluginName(String pluginName) { setPluginName(pluginName); return this; } /** *

* Specifies the plugin to use to create a replication slot. *

* * @param pluginName * Specifies the plugin to use to create a replication slot. * @return Returns a reference to this object so that method calls can be chained together. * @see PluginNameValue */ public PostgreSQLSettings withPluginName(PluginNameValue pluginName) { this.pluginName = pluginName.toString(); 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 PostgreSQL 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 PostgreSQL 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 PostgreSQL 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 PostgreSQL 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 PostgreSQL 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 PostgreSQL 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 PostgreSQLSettings withSecretsManagerAccessRoleArn(String secretsManagerAccessRoleArn) { setSecretsManagerAccessRoleArn(secretsManagerAccessRoleArn); return this; } /** *

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

* * @param secretsManagerSecretId * The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that contains the * PostgreSQL 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 PostgreSQL * endpoint connection details. *

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

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

* * @param secretsManagerSecretId * The full ARN, partial ARN, or friendly name of the SecretsManagerSecret that contains the * PostgreSQL endpoint connection details. * @return Returns a reference to this object so that method calls can be chained together. */ public PostgreSQLSettings 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. *

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

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

* * @param trimSpaceInChar * Use the 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 PostgreSQLSettings 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. *

* * @return Use the 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; } /** *

* When true, lets PostgreSQL migrate the boolean type as boolean. By default, PostgreSQL migrates booleans as * varchar(5). You must set this setting on both the source and target endpoints for it to take effect. *

* * @param mapBooleanAsBoolean * When true, lets PostgreSQL migrate the boolean type as boolean. By default, PostgreSQL migrates booleans * as varchar(5). You must set this setting on both the source and target endpoints for it to * take effect. */ public void setMapBooleanAsBoolean(Boolean mapBooleanAsBoolean) { this.mapBooleanAsBoolean = mapBooleanAsBoolean; } /** *

* When true, lets PostgreSQL migrate the boolean type as boolean. By default, PostgreSQL migrates booleans as * varchar(5). You must set this setting on both the source and target endpoints for it to take effect. *

* * @return When true, lets PostgreSQL migrate the boolean type as boolean. By default, PostgreSQL migrates booleans * as varchar(5). You must set this setting on both the source and target endpoints for it to * take effect. */ public Boolean getMapBooleanAsBoolean() { return this.mapBooleanAsBoolean; } /** *

* When true, lets PostgreSQL migrate the boolean type as boolean. By default, PostgreSQL migrates booleans as * varchar(5). You must set this setting on both the source and target endpoints for it to take effect. *

* * @param mapBooleanAsBoolean * When true, lets PostgreSQL migrate the boolean type as boolean. By default, PostgreSQL migrates booleans * as varchar(5). You must set this setting on both the source and target endpoints for it to * take effect. * @return Returns a reference to this object so that method calls can be chained together. */ public PostgreSQLSettings withMapBooleanAsBoolean(Boolean mapBooleanAsBoolean) { setMapBooleanAsBoolean(mapBooleanAsBoolean); return this; } /** *

* When true, lets PostgreSQL migrate the boolean type as boolean. By default, PostgreSQL migrates booleans as * varchar(5). You must set this setting on both the source and target endpoints for it to take effect. *

* * @return When true, lets PostgreSQL migrate the boolean type as boolean. By default, PostgreSQL migrates booleans * as varchar(5). You must set this setting on both the source and target endpoints for it to * take effect. */ public Boolean isMapBooleanAsBoolean() { return this.mapBooleanAsBoolean; } /** *

* When true, DMS migrates JSONB values as CLOB. *

* * @param mapJsonbAsClob * When true, DMS migrates JSONB values as CLOB. */ public void setMapJsonbAsClob(Boolean mapJsonbAsClob) { this.mapJsonbAsClob = mapJsonbAsClob; } /** *

* When true, DMS migrates JSONB values as CLOB. *

* * @return When true, DMS migrates JSONB values as CLOB. */ public Boolean getMapJsonbAsClob() { return this.mapJsonbAsClob; } /** *

* When true, DMS migrates JSONB values as CLOB. *

* * @param mapJsonbAsClob * When true, DMS migrates JSONB values as CLOB. * @return Returns a reference to this object so that method calls can be chained together. */ public PostgreSQLSettings withMapJsonbAsClob(Boolean mapJsonbAsClob) { setMapJsonbAsClob(mapJsonbAsClob); return this; } /** *

* When true, DMS migrates JSONB values as CLOB. *

* * @return When true, DMS migrates JSONB values as CLOB. */ public Boolean isMapJsonbAsClob() { return this.mapJsonbAsClob; } /** *

* When true, DMS migrates LONG values as VARCHAR. *

* * @param mapLongVarcharAs * When true, DMS migrates LONG values as VARCHAR. * @see LongVarcharMappingType */ public void setMapLongVarcharAs(String mapLongVarcharAs) { this.mapLongVarcharAs = mapLongVarcharAs; } /** *

* When true, DMS migrates LONG values as VARCHAR. *

* * @return When true, DMS migrates LONG values as VARCHAR. * @see LongVarcharMappingType */ public String getMapLongVarcharAs() { return this.mapLongVarcharAs; } /** *

* When true, DMS migrates LONG values as VARCHAR. *

* * @param mapLongVarcharAs * When true, DMS migrates LONG values as VARCHAR. * @return Returns a reference to this object so that method calls can be chained together. * @see LongVarcharMappingType */ public PostgreSQLSettings withMapLongVarcharAs(String mapLongVarcharAs) { setMapLongVarcharAs(mapLongVarcharAs); return this; } /** *

* When true, DMS migrates LONG values as VARCHAR. *

* * @param mapLongVarcharAs * When true, DMS migrates LONG values as VARCHAR. * @return Returns a reference to this object so that method calls can be chained together. * @see LongVarcharMappingType */ public PostgreSQLSettings withMapLongVarcharAs(LongVarcharMappingType mapLongVarcharAs) { this.mapLongVarcharAs = mapLongVarcharAs.toString(); return this; } /** *

* Specifies the default behavior of the replication's handling of PostgreSQL- compatible endpoints that require * some additional configuration, such as Babelfish endpoints. *

* * @param databaseMode * Specifies the default behavior of the replication's handling of PostgreSQL- compatible endpoints that * require some additional configuration, such as Babelfish endpoints. * @see DatabaseMode */ public void setDatabaseMode(String databaseMode) { this.databaseMode = databaseMode; } /** *

* Specifies the default behavior of the replication's handling of PostgreSQL- compatible endpoints that require * some additional configuration, such as Babelfish endpoints. *

* * @return Specifies the default behavior of the replication's handling of PostgreSQL- compatible endpoints that * require some additional configuration, such as Babelfish endpoints. * @see DatabaseMode */ public String getDatabaseMode() { return this.databaseMode; } /** *

* Specifies the default behavior of the replication's handling of PostgreSQL- compatible endpoints that require * some additional configuration, such as Babelfish endpoints. *

* * @param databaseMode * Specifies the default behavior of the replication's handling of PostgreSQL- compatible endpoints that * require some additional configuration, such as Babelfish endpoints. * @return Returns a reference to this object so that method calls can be chained together. * @see DatabaseMode */ public PostgreSQLSettings withDatabaseMode(String databaseMode) { setDatabaseMode(databaseMode); return this; } /** *

* Specifies the default behavior of the replication's handling of PostgreSQL- compatible endpoints that require * some additional configuration, such as Babelfish endpoints. *

* * @param databaseMode * Specifies the default behavior of the replication's handling of PostgreSQL- compatible endpoints that * require some additional configuration, such as Babelfish endpoints. * @return Returns a reference to this object so that method calls can be chained together. * @see DatabaseMode */ public PostgreSQLSettings withDatabaseMode(DatabaseMode databaseMode) { this.databaseMode = databaseMode.toString(); return this; } /** *

* The Babelfish for Aurora PostgreSQL database name for the endpoint. *

* * @param babelfishDatabaseName * The Babelfish for Aurora PostgreSQL database name for the endpoint. */ public void setBabelfishDatabaseName(String babelfishDatabaseName) { this.babelfishDatabaseName = babelfishDatabaseName; } /** *

* The Babelfish for Aurora PostgreSQL database name for the endpoint. *

* * @return The Babelfish for Aurora PostgreSQL database name for the endpoint. */ public String getBabelfishDatabaseName() { return this.babelfishDatabaseName; } /** *

* The Babelfish for Aurora PostgreSQL database name for the endpoint. *

* * @param babelfishDatabaseName * The Babelfish for Aurora PostgreSQL database name for the endpoint. * @return Returns a reference to this object so that method calls can be chained together. */ public PostgreSQLSettings withBabelfishDatabaseName(String babelfishDatabaseName) { setBabelfishDatabaseName(babelfishDatabaseName); 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 (getCaptureDdls() != null) sb.append("CaptureDdls: ").append(getCaptureDdls()).append(","); if (getMaxFileSize() != null) sb.append("MaxFileSize: ").append(getMaxFileSize()).append(","); if (getDatabaseName() != null) sb.append("DatabaseName: ").append(getDatabaseName()).append(","); if (getDdlArtifactsSchema() != null) sb.append("DdlArtifactsSchema: ").append(getDdlArtifactsSchema()).append(","); if (getExecuteTimeout() != null) sb.append("ExecuteTimeout: ").append(getExecuteTimeout()).append(","); if (getFailTasksOnLobTruncation() != null) sb.append("FailTasksOnLobTruncation: ").append(getFailTasksOnLobTruncation()).append(","); if (getHeartbeatEnable() != null) sb.append("HeartbeatEnable: ").append(getHeartbeatEnable()).append(","); if (getHeartbeatSchema() != null) sb.append("HeartbeatSchema: ").append(getHeartbeatSchema()).append(","); if (getHeartbeatFrequency() != null) sb.append("HeartbeatFrequency: ").append(getHeartbeatFrequency()).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 (getUsername() != null) sb.append("Username: ").append(getUsername()).append(","); if (getSlotName() != null) sb.append("SlotName: ").append(getSlotName()).append(","); if (getPluginName() != null) sb.append("PluginName: ").append(getPluginName()).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 (getMapBooleanAsBoolean() != null) sb.append("MapBooleanAsBoolean: ").append(getMapBooleanAsBoolean()).append(","); if (getMapJsonbAsClob() != null) sb.append("MapJsonbAsClob: ").append(getMapJsonbAsClob()).append(","); if (getMapLongVarcharAs() != null) sb.append("MapLongVarcharAs: ").append(getMapLongVarcharAs()).append(","); if (getDatabaseMode() != null) sb.append("DatabaseMode: ").append(getDatabaseMode()).append(","); if (getBabelfishDatabaseName() != null) sb.append("BabelfishDatabaseName: ").append(getBabelfishDatabaseName()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof PostgreSQLSettings == false) return false; PostgreSQLSettings other = (PostgreSQLSettings) obj; if (other.getAfterConnectScript() == null ^ this.getAfterConnectScript() == null) return false; if (other.getAfterConnectScript() != null && other.getAfterConnectScript().equals(this.getAfterConnectScript()) == false) return false; if (other.getCaptureDdls() == null ^ this.getCaptureDdls() == null) return false; if (other.getCaptureDdls() != null && other.getCaptureDdls().equals(this.getCaptureDdls()) == 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.getDatabaseName() == null ^ this.getDatabaseName() == null) return false; if (other.getDatabaseName() != null && other.getDatabaseName().equals(this.getDatabaseName()) == false) return false; if (other.getDdlArtifactsSchema() == null ^ this.getDdlArtifactsSchema() == null) return false; if (other.getDdlArtifactsSchema() != null && other.getDdlArtifactsSchema().equals(this.getDdlArtifactsSchema()) == false) return false; if (other.getExecuteTimeout() == null ^ this.getExecuteTimeout() == null) return false; if (other.getExecuteTimeout() != null && other.getExecuteTimeout().equals(this.getExecuteTimeout()) == false) return false; if (other.getFailTasksOnLobTruncation() == null ^ this.getFailTasksOnLobTruncation() == null) return false; if (other.getFailTasksOnLobTruncation() != null && other.getFailTasksOnLobTruncation().equals(this.getFailTasksOnLobTruncation()) == false) return false; if (other.getHeartbeatEnable() == null ^ this.getHeartbeatEnable() == null) return false; if (other.getHeartbeatEnable() != null && other.getHeartbeatEnable().equals(this.getHeartbeatEnable()) == false) return false; if (other.getHeartbeatSchema() == null ^ this.getHeartbeatSchema() == null) return false; if (other.getHeartbeatSchema() != null && other.getHeartbeatSchema().equals(this.getHeartbeatSchema()) == false) return false; if (other.getHeartbeatFrequency() == null ^ this.getHeartbeatFrequency() == null) return false; if (other.getHeartbeatFrequency() != null && other.getHeartbeatFrequency().equals(this.getHeartbeatFrequency()) == 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.getUsername() == null ^ this.getUsername() == null) return false; if (other.getUsername() != null && other.getUsername().equals(this.getUsername()) == false) return false; if (other.getSlotName() == null ^ this.getSlotName() == null) return false; if (other.getSlotName() != null && other.getSlotName().equals(this.getSlotName()) == false) return false; if (other.getPluginName() == null ^ this.getPluginName() == null) return false; if (other.getPluginName() != null && other.getPluginName().equals(this.getPluginName()) == 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.getMapBooleanAsBoolean() == null ^ this.getMapBooleanAsBoolean() == null) return false; if (other.getMapBooleanAsBoolean() != null && other.getMapBooleanAsBoolean().equals(this.getMapBooleanAsBoolean()) == false) return false; if (other.getMapJsonbAsClob() == null ^ this.getMapJsonbAsClob() == null) return false; if (other.getMapJsonbAsClob() != null && other.getMapJsonbAsClob().equals(this.getMapJsonbAsClob()) == false) return false; if (other.getMapLongVarcharAs() == null ^ this.getMapLongVarcharAs() == null) return false; if (other.getMapLongVarcharAs() != null && other.getMapLongVarcharAs().equals(this.getMapLongVarcharAs()) == false) return false; if (other.getDatabaseMode() == null ^ this.getDatabaseMode() == null) return false; if (other.getDatabaseMode() != null && other.getDatabaseMode().equals(this.getDatabaseMode()) == false) return false; if (other.getBabelfishDatabaseName() == null ^ this.getBabelfishDatabaseName() == null) return false; if (other.getBabelfishDatabaseName() != null && other.getBabelfishDatabaseName().equals(this.getBabelfishDatabaseName()) == 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 + ((getCaptureDdls() == null) ? 0 : getCaptureDdls().hashCode()); hashCode = prime * hashCode + ((getMaxFileSize() == null) ? 0 : getMaxFileSize().hashCode()); hashCode = prime * hashCode + ((getDatabaseName() == null) ? 0 : getDatabaseName().hashCode()); hashCode = prime * hashCode + ((getDdlArtifactsSchema() == null) ? 0 : getDdlArtifactsSchema().hashCode()); hashCode = prime * hashCode + ((getExecuteTimeout() == null) ? 0 : getExecuteTimeout().hashCode()); hashCode = prime * hashCode + ((getFailTasksOnLobTruncation() == null) ? 0 : getFailTasksOnLobTruncation().hashCode()); hashCode = prime * hashCode + ((getHeartbeatEnable() == null) ? 0 : getHeartbeatEnable().hashCode()); hashCode = prime * hashCode + ((getHeartbeatSchema() == null) ? 0 : getHeartbeatSchema().hashCode()); hashCode = prime * hashCode + ((getHeartbeatFrequency() == null) ? 0 : getHeartbeatFrequency().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 + ((getUsername() == null) ? 0 : getUsername().hashCode()); hashCode = prime * hashCode + ((getSlotName() == null) ? 0 : getSlotName().hashCode()); hashCode = prime * hashCode + ((getPluginName() == null) ? 0 : getPluginName().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 + ((getMapBooleanAsBoolean() == null) ? 0 : getMapBooleanAsBoolean().hashCode()); hashCode = prime * hashCode + ((getMapJsonbAsClob() == null) ? 0 : getMapJsonbAsClob().hashCode()); hashCode = prime * hashCode + ((getMapLongVarcharAs() == null) ? 0 : getMapLongVarcharAs().hashCode()); hashCode = prime * hashCode + ((getDatabaseMode() == null) ? 0 : getDatabaseMode().hashCode()); hashCode = prime * hashCode + ((getBabelfishDatabaseName() == null) ? 0 : getBabelfishDatabaseName().hashCode()); return hashCode; } @Override public PostgreSQLSettings clone() { try { return (PostgreSQLSettings) 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.PostgreSQLSettingsMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy