
software.amazon.awssdk.services.databasemigration.model.OracleSettings Maven / Gradle / Ivy
/*
* Copyright 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 software.amazon.awssdk.services.databasemigration.model;
import java.io.Serializable;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Function;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.ListTrait;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructList;
import software.amazon.awssdk.core.util.SdkAutoConstructList;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;
/**
*
* Provides information that defines an Oracle endpoint.
*
*/
@Generated("software.amazon.awssdk:codegen")
public final class OracleSettings implements SdkPojo, Serializable, ToCopyableBuilder {
private static final SdkField ADD_SUPPLEMENTAL_LOGGING_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
.memberName("AddSupplementalLogging").getter(getter(OracleSettings::addSupplementalLogging))
.setter(setter(Builder::addSupplementalLogging))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AddSupplementalLogging").build())
.build();
private static final SdkField ARCHIVED_LOG_DEST_ID_FIELD = SdkField. builder(MarshallingType.INTEGER)
.memberName("ArchivedLogDestId").getter(getter(OracleSettings::archivedLogDestId))
.setter(setter(Builder::archivedLogDestId))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ArchivedLogDestId").build()).build();
private static final SdkField ADDITIONAL_ARCHIVED_LOG_DEST_ID_FIELD = SdkField
. builder(MarshallingType.INTEGER)
.memberName("AdditionalArchivedLogDestId")
.getter(getter(OracleSettings::additionalArchivedLogDestId))
.setter(setter(Builder::additionalArchivedLogDestId))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AdditionalArchivedLogDestId")
.build()).build();
private static final SdkField> EXTRA_ARCHIVED_LOG_DEST_IDS_FIELD = SdkField
.> builder(MarshallingType.LIST)
.memberName("ExtraArchivedLogDestIds")
.getter(getter(OracleSettings::extraArchivedLogDestIds))
.setter(setter(Builder::extraArchivedLogDestIds))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ExtraArchivedLogDestIds").build(),
ListTrait
.builder()
.memberLocationName(null)
.memberFieldInfo(
SdkField. builder(MarshallingType.INTEGER)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("member").build()).build()).build()).build();
private static final SdkField ALLOW_SELECT_NESTED_TABLES_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
.memberName("AllowSelectNestedTables").getter(getter(OracleSettings::allowSelectNestedTables))
.setter(setter(Builder::allowSelectNestedTables))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AllowSelectNestedTables").build())
.build();
private static final SdkField PARALLEL_ASM_READ_THREADS_FIELD = SdkField. builder(MarshallingType.INTEGER)
.memberName("ParallelAsmReadThreads").getter(getter(OracleSettings::parallelAsmReadThreads))
.setter(setter(Builder::parallelAsmReadThreads))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ParallelAsmReadThreads").build())
.build();
private static final SdkField READ_AHEAD_BLOCKS_FIELD = SdkField. builder(MarshallingType.INTEGER)
.memberName("ReadAheadBlocks").getter(getter(OracleSettings::readAheadBlocks))
.setter(setter(Builder::readAheadBlocks))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ReadAheadBlocks").build()).build();
private static final SdkField ACCESS_ALTERNATE_DIRECTLY_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
.memberName("AccessAlternateDirectly").getter(getter(OracleSettings::accessAlternateDirectly))
.setter(setter(Builder::accessAlternateDirectly))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AccessAlternateDirectly").build())
.build();
private static final SdkField USE_ALTERNATE_FOLDER_FOR_ONLINE_FIELD = SdkField
. builder(MarshallingType.BOOLEAN)
.memberName("UseAlternateFolderForOnline")
.getter(getter(OracleSettings::useAlternateFolderForOnline))
.setter(setter(Builder::useAlternateFolderForOnline))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("UseAlternateFolderForOnline")
.build()).build();
private static final SdkField ORACLE_PATH_PREFIX_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("OraclePathPrefix").getter(getter(OracleSettings::oraclePathPrefix))
.setter(setter(Builder::oraclePathPrefix))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("OraclePathPrefix").build()).build();
private static final SdkField USE_PATH_PREFIX_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("UsePathPrefix").getter(getter(OracleSettings::usePathPrefix)).setter(setter(Builder::usePathPrefix))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("UsePathPrefix").build()).build();
private static final SdkField REPLACE_PATH_PREFIX_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
.memberName("ReplacePathPrefix").getter(getter(OracleSettings::replacePathPrefix))
.setter(setter(Builder::replacePathPrefix))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ReplacePathPrefix").build()).build();
private static final SdkField ENABLE_HOMOGENOUS_TABLESPACE_FIELD = SdkField
. builder(MarshallingType.BOOLEAN)
.memberName("EnableHomogenousTablespace")
.getter(getter(OracleSettings::enableHomogenousTablespace))
.setter(setter(Builder::enableHomogenousTablespace))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EnableHomogenousTablespace").build())
.build();
private static final SdkField DIRECT_PATH_NO_LOG_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
.memberName("DirectPathNoLog").getter(getter(OracleSettings::directPathNoLog))
.setter(setter(Builder::directPathNoLog))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DirectPathNoLog").build()).build();
private static final SdkField ARCHIVED_LOGS_ONLY_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
.memberName("ArchivedLogsOnly").getter(getter(OracleSettings::archivedLogsOnly))
.setter(setter(Builder::archivedLogsOnly))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ArchivedLogsOnly").build()).build();
private static final SdkField ASM_PASSWORD_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("AsmPassword").getter(getter(OracleSettings::asmPassword)).setter(setter(Builder::asmPassword))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AsmPassword").build()).build();
private static final SdkField ASM_SERVER_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("AsmServer").getter(getter(OracleSettings::asmServer)).setter(setter(Builder::asmServer))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AsmServer").build()).build();
private static final SdkField ASM_USER_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("AsmUser").getter(getter(OracleSettings::asmUser)).setter(setter(Builder::asmUser))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AsmUser").build()).build();
private static final SdkField CHAR_LENGTH_SEMANTICS_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("CharLengthSemantics").getter(getter(OracleSettings::charLengthSemanticsAsString))
.setter(setter(Builder::charLengthSemantics))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CharLengthSemantics").build())
.build();
private static final SdkField DATABASE_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("DatabaseName").getter(getter(OracleSettings::databaseName)).setter(setter(Builder::databaseName))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DatabaseName").build()).build();
private static final SdkField DIRECT_PATH_PARALLEL_LOAD_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
.memberName("DirectPathParallelLoad").getter(getter(OracleSettings::directPathParallelLoad))
.setter(setter(Builder::directPathParallelLoad))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DirectPathParallelLoad").build())
.build();
private static final SdkField FAIL_TASKS_ON_LOB_TRUNCATION_FIELD = SdkField
. builder(MarshallingType.BOOLEAN).memberName("FailTasksOnLobTruncation")
.getter(getter(OracleSettings::failTasksOnLobTruncation)).setter(setter(Builder::failTasksOnLobTruncation))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("FailTasksOnLobTruncation").build())
.build();
private static final SdkField NUMBER_DATATYPE_SCALE_FIELD = SdkField. builder(MarshallingType.INTEGER)
.memberName("NumberDatatypeScale").getter(getter(OracleSettings::numberDatatypeScale))
.setter(setter(Builder::numberDatatypeScale))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("NumberDatatypeScale").build())
.build();
private static final SdkField PASSWORD_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("Password").getter(getter(OracleSettings::password)).setter(setter(Builder::password))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Password").build()).build();
private static final SdkField PORT_FIELD = SdkField. builder(MarshallingType.INTEGER).memberName("Port")
.getter(getter(OracleSettings::port)).setter(setter(Builder::port))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Port").build()).build();
private static final SdkField READ_TABLE_SPACE_NAME_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
.memberName("ReadTableSpaceName").getter(getter(OracleSettings::readTableSpaceName))
.setter(setter(Builder::readTableSpaceName))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ReadTableSpaceName").build())
.build();
private static final SdkField RETRY_INTERVAL_FIELD = SdkField. builder(MarshallingType.INTEGER)
.memberName("RetryInterval").getter(getter(OracleSettings::retryInterval)).setter(setter(Builder::retryInterval))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("RetryInterval").build()).build();
private static final SdkField SECURITY_DB_ENCRYPTION_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("SecurityDbEncryption").getter(getter(OracleSettings::securityDbEncryption))
.setter(setter(Builder::securityDbEncryption))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SecurityDbEncryption").build())
.build();
private static final SdkField SECURITY_DB_ENCRYPTION_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("SecurityDbEncryptionName").getter(getter(OracleSettings::securityDbEncryptionName))
.setter(setter(Builder::securityDbEncryptionName))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SecurityDbEncryptionName").build())
.build();
private static final SdkField SERVER_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("ServerName").getter(getter(OracleSettings::serverName)).setter(setter(Builder::serverName))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ServerName").build()).build();
private static final SdkField SPATIAL_DATA_OPTION_TO_GEO_JSON_FUNCTION_NAME_FIELD = SdkField
. builder(MarshallingType.STRING)
.memberName("SpatialDataOptionToGeoJsonFunctionName")
.getter(getter(OracleSettings::spatialDataOptionToGeoJsonFunctionName))
.setter(setter(Builder::spatialDataOptionToGeoJsonFunctionName))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("SpatialDataOptionToGeoJsonFunctionName").build()).build();
private static final SdkField STANDBY_DELAY_TIME_FIELD = SdkField. builder(MarshallingType.INTEGER)
.memberName("StandbyDelayTime").getter(getter(OracleSettings::standbyDelayTime))
.setter(setter(Builder::standbyDelayTime))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("StandbyDelayTime").build()).build();
private static final SdkField USERNAME_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("Username").getter(getter(OracleSettings::username)).setter(setter(Builder::username))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Username").build()).build();
private static final SdkField USE_B_FILE_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
.memberName("UseBFile").getter(getter(OracleSettings::useBFile)).setter(setter(Builder::useBFile))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("UseBFile").build()).build();
private static final SdkField USE_DIRECT_PATH_FULL_LOAD_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
.memberName("UseDirectPathFullLoad").getter(getter(OracleSettings::useDirectPathFullLoad))
.setter(setter(Builder::useDirectPathFullLoad))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("UseDirectPathFullLoad").build())
.build();
private static final SdkField USE_LOGMINER_READER_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
.memberName("UseLogminerReader").getter(getter(OracleSettings::useLogminerReader))
.setter(setter(Builder::useLogminerReader))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("UseLogminerReader").build()).build();
private static final SdkField SECRETS_MANAGER_ACCESS_ROLE_ARN_FIELD = SdkField
. builder(MarshallingType.STRING)
.memberName("SecretsManagerAccessRoleArn")
.getter(getter(OracleSettings::secretsManagerAccessRoleArn))
.setter(setter(Builder::secretsManagerAccessRoleArn))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SecretsManagerAccessRoleArn")
.build()).build();
private static final SdkField SECRETS_MANAGER_SECRET_ID_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("SecretsManagerSecretId").getter(getter(OracleSettings::secretsManagerSecretId))
.setter(setter(Builder::secretsManagerSecretId))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SecretsManagerSecretId").build())
.build();
private static final SdkField SECRETS_MANAGER_ORACLE_ASM_ACCESS_ROLE_ARN_FIELD = SdkField
. builder(MarshallingType.STRING)
.memberName("SecretsManagerOracleAsmAccessRoleArn")
.getter(getter(OracleSettings::secretsManagerOracleAsmAccessRoleArn))
.setter(setter(Builder::secretsManagerOracleAsmAccessRoleArn))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("SecretsManagerOracleAsmAccessRoleArn").build()).build();
private static final SdkField SECRETS_MANAGER_ORACLE_ASM_SECRET_ID_FIELD = SdkField
. builder(MarshallingType.STRING)
.memberName("SecretsManagerOracleAsmSecretId")
.getter(getter(OracleSettings::secretsManagerOracleAsmSecretId))
.setter(setter(Builder::secretsManagerOracleAsmSecretId))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SecretsManagerOracleAsmSecretId")
.build()).build();
private static final SdkField TRIM_SPACE_IN_CHAR_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
.memberName("TrimSpaceInChar").getter(getter(OracleSettings::trimSpaceInChar))
.setter(setter(Builder::trimSpaceInChar))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("TrimSpaceInChar").build()).build();
private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(
ADD_SUPPLEMENTAL_LOGGING_FIELD, ARCHIVED_LOG_DEST_ID_FIELD, ADDITIONAL_ARCHIVED_LOG_DEST_ID_FIELD,
EXTRA_ARCHIVED_LOG_DEST_IDS_FIELD, ALLOW_SELECT_NESTED_TABLES_FIELD, PARALLEL_ASM_READ_THREADS_FIELD,
READ_AHEAD_BLOCKS_FIELD, ACCESS_ALTERNATE_DIRECTLY_FIELD, USE_ALTERNATE_FOLDER_FOR_ONLINE_FIELD,
ORACLE_PATH_PREFIX_FIELD, USE_PATH_PREFIX_FIELD, REPLACE_PATH_PREFIX_FIELD, ENABLE_HOMOGENOUS_TABLESPACE_FIELD,
DIRECT_PATH_NO_LOG_FIELD, ARCHIVED_LOGS_ONLY_FIELD, ASM_PASSWORD_FIELD, ASM_SERVER_FIELD, ASM_USER_FIELD,
CHAR_LENGTH_SEMANTICS_FIELD, DATABASE_NAME_FIELD, DIRECT_PATH_PARALLEL_LOAD_FIELD,
FAIL_TASKS_ON_LOB_TRUNCATION_FIELD, NUMBER_DATATYPE_SCALE_FIELD, PASSWORD_FIELD, PORT_FIELD,
READ_TABLE_SPACE_NAME_FIELD, RETRY_INTERVAL_FIELD, SECURITY_DB_ENCRYPTION_FIELD, SECURITY_DB_ENCRYPTION_NAME_FIELD,
SERVER_NAME_FIELD, SPATIAL_DATA_OPTION_TO_GEO_JSON_FUNCTION_NAME_FIELD, STANDBY_DELAY_TIME_FIELD, USERNAME_FIELD,
USE_B_FILE_FIELD, USE_DIRECT_PATH_FULL_LOAD_FIELD, USE_LOGMINER_READER_FIELD, SECRETS_MANAGER_ACCESS_ROLE_ARN_FIELD,
SECRETS_MANAGER_SECRET_ID_FIELD, SECRETS_MANAGER_ORACLE_ASM_ACCESS_ROLE_ARN_FIELD,
SECRETS_MANAGER_ORACLE_ASM_SECRET_ID_FIELD, TRIM_SPACE_IN_CHAR_FIELD));
private static final long serialVersionUID = 1L;
private final Boolean addSupplementalLogging;
private final Integer archivedLogDestId;
private final Integer additionalArchivedLogDestId;
private final List extraArchivedLogDestIds;
private final Boolean allowSelectNestedTables;
private final Integer parallelAsmReadThreads;
private final Integer readAheadBlocks;
private final Boolean accessAlternateDirectly;
private final Boolean useAlternateFolderForOnline;
private final String oraclePathPrefix;
private final String usePathPrefix;
private final Boolean replacePathPrefix;
private final Boolean enableHomogenousTablespace;
private final Boolean directPathNoLog;
private final Boolean archivedLogsOnly;
private final String asmPassword;
private final String asmServer;
private final String asmUser;
private final String charLengthSemantics;
private final String databaseName;
private final Boolean directPathParallelLoad;
private final Boolean failTasksOnLobTruncation;
private final Integer numberDatatypeScale;
private final String password;
private final Integer port;
private final Boolean readTableSpaceName;
private final Integer retryInterval;
private final String securityDbEncryption;
private final String securityDbEncryptionName;
private final String serverName;
private final String spatialDataOptionToGeoJsonFunctionName;
private final Integer standbyDelayTime;
private final String username;
private final Boolean useBFile;
private final Boolean useDirectPathFullLoad;
private final Boolean useLogminerReader;
private final String secretsManagerAccessRoleArn;
private final String secretsManagerSecretId;
private final String secretsManagerOracleAsmAccessRoleArn;
private final String secretsManagerOracleAsmSecretId;
private final Boolean trimSpaceInChar;
private OracleSettings(BuilderImpl builder) {
this.addSupplementalLogging = builder.addSupplementalLogging;
this.archivedLogDestId = builder.archivedLogDestId;
this.additionalArchivedLogDestId = builder.additionalArchivedLogDestId;
this.extraArchivedLogDestIds = builder.extraArchivedLogDestIds;
this.allowSelectNestedTables = builder.allowSelectNestedTables;
this.parallelAsmReadThreads = builder.parallelAsmReadThreads;
this.readAheadBlocks = builder.readAheadBlocks;
this.accessAlternateDirectly = builder.accessAlternateDirectly;
this.useAlternateFolderForOnline = builder.useAlternateFolderForOnline;
this.oraclePathPrefix = builder.oraclePathPrefix;
this.usePathPrefix = builder.usePathPrefix;
this.replacePathPrefix = builder.replacePathPrefix;
this.enableHomogenousTablespace = builder.enableHomogenousTablespace;
this.directPathNoLog = builder.directPathNoLog;
this.archivedLogsOnly = builder.archivedLogsOnly;
this.asmPassword = builder.asmPassword;
this.asmServer = builder.asmServer;
this.asmUser = builder.asmUser;
this.charLengthSemantics = builder.charLengthSemantics;
this.databaseName = builder.databaseName;
this.directPathParallelLoad = builder.directPathParallelLoad;
this.failTasksOnLobTruncation = builder.failTasksOnLobTruncation;
this.numberDatatypeScale = builder.numberDatatypeScale;
this.password = builder.password;
this.port = builder.port;
this.readTableSpaceName = builder.readTableSpaceName;
this.retryInterval = builder.retryInterval;
this.securityDbEncryption = builder.securityDbEncryption;
this.securityDbEncryptionName = builder.securityDbEncryptionName;
this.serverName = builder.serverName;
this.spatialDataOptionToGeoJsonFunctionName = builder.spatialDataOptionToGeoJsonFunctionName;
this.standbyDelayTime = builder.standbyDelayTime;
this.username = builder.username;
this.useBFile = builder.useBFile;
this.useDirectPathFullLoad = builder.useDirectPathFullLoad;
this.useLogminerReader = builder.useLogminerReader;
this.secretsManagerAccessRoleArn = builder.secretsManagerAccessRoleArn;
this.secretsManagerSecretId = builder.secretsManagerSecretId;
this.secretsManagerOracleAsmAccessRoleArn = builder.secretsManagerOracleAsmAccessRoleArn;
this.secretsManagerOracleAsmSecretId = builder.secretsManagerOracleAsmSecretId;
this.trimSpaceInChar = builder.trimSpaceInChar;
}
/**
*
* Set this attribute to set up table-level supplemental logging for the Oracle database. This attribute enables
* PRIMARY KEY supplemental logging on all tables selected for a migration task.
*
*
* If you use this option, you still need to enable database-level supplemental logging.
*
*
* @return Set this attribute to set up table-level supplemental logging for the Oracle database. This attribute
* enables PRIMARY KEY supplemental logging on all tables selected for a migration task.
*
* If you use this option, you still need to enable database-level supplemental logging.
*/
public final Boolean addSupplementalLogging() {
return addSupplementalLogging;
}
/**
*
* Specifies the ID of the destination for the archived redo logs. This value should be the same as a number in the
* dest_id column of the v$archived_log view. If you work with an additional redo log destination, use the
* AdditionalArchivedLogDestId
option to specify the additional destination ID. Doing this improves
* performance by ensuring that the correct logs are accessed from the outset.
*
*
* @return Specifies the ID of the destination for the archived redo logs. This value should be the same as a number
* in the dest_id column of the v$archived_log view. If you work with an additional redo log destination,
* use the AdditionalArchivedLogDestId
option to specify the additional destination ID. Doing
* this improves performance by ensuring that the correct logs are accessed from the outset.
*/
public final Integer archivedLogDestId() {
return archivedLogDestId;
}
/**
*
* Set this attribute with ArchivedLogDestId
in a primary/ standby setup. This attribute is useful in
* the case of a switchover. In this case, DMS needs to know which destination to get archive redo logs from to read
* changes. This need arises because the previous primary instance is now a standby instance after switchover.
*
*
* Although DMS supports the use of the Oracle RESETLOGS
option to open the database, never use
* RESETLOGS
unless necessary. For additional information about RESETLOGS
, see RMAN Data Repair Concepts in the Oracle Database Backup and Recovery User's Guide.
*
*
* @return Set this attribute with ArchivedLogDestId
in a primary/ standby setup. This attribute is
* useful in the case of a switchover. In this case, DMS needs to know which destination to get archive redo
* logs from to read changes. This need arises because the previous primary instance is now a standby
* instance after switchover.
*
* Although DMS supports the use of the Oracle RESETLOGS
option to open the database, never use
* RESETLOGS
unless necessary. For additional information about RESETLOGS
, see RMAN Data Repair Concepts in the Oracle Database Backup and Recovery User's Guide.
*/
public final Integer additionalArchivedLogDestId() {
return additionalArchivedLogDestId;
}
/**
* For responses, this returns true if the service returned a value for the ExtraArchivedLogDestIds property. This
* DOES NOT check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the
* property). This is useful because the SDK will never return a null collection or map, but you may need to
* differentiate between the service returning nothing (or null) and the service returning an empty collection or
* map. For requests, this returns true if a value for the property was specified in the request builder, and false
* if a value was not specified.
*/
public final boolean hasExtraArchivedLogDestIds() {
return extraArchivedLogDestIds != null && !(extraArchivedLogDestIds instanceof SdkAutoConstructList);
}
/**
*
* Specifies the IDs of one more destinations for one or more archived redo logs. These IDs are the values of the
* dest_id
column in the v$archived_log
view. Use this setting with the
* archivedLogDestId
extra connection attribute in a primary-to-single setup or a
* primary-to-multiple-standby setup.
*
*
* This setting is useful in a switchover when you use an Oracle Data Guard database as a source. In this case, DMS
* needs information about what destination to get archive redo logs from to read changes. DMS needs this because
* after the switchover the previous primary is a standby instance. For example, in a primary-to-single standby
* setup you might apply the following settings.
*
*
* archivedLogDestId=1; ExtraArchivedLogDestIds=[2]
*
*
* In a primary-to-multiple-standby setup, you might apply the following settings.
*
*
* archivedLogDestId=1; ExtraArchivedLogDestIds=[2,3,4]
*
*
* Although DMS supports the use of the Oracle RESETLOGS
option to open the database, never use
* RESETLOGS
unless it's necessary. For more information about RESETLOGS
, see RMAN Data Repair Concepts in the Oracle Database Backup and Recovery User's Guide.
*
*
* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
*
*
* This method will never return null. If you would like to know whether the service returned this field (so that
* you can differentiate between null and empty), you can use the {@link #hasExtraArchivedLogDestIds} method.
*
*
* @return Specifies the IDs of one more destinations for one or more archived redo logs. These IDs are the values
* of the dest_id
column in the v$archived_log
view. Use this setting with the
* archivedLogDestId
extra connection attribute in a primary-to-single setup or a
* primary-to-multiple-standby setup.
*
* This setting is useful in a switchover when you use an Oracle Data Guard database as a source. In this
* case, DMS needs information about what destination to get archive redo logs from to read changes. DMS
* needs this because after the switchover the previous primary is a standby instance. For example, in a
* primary-to-single standby setup you might apply the following settings.
*
*
* archivedLogDestId=1; ExtraArchivedLogDestIds=[2]
*
*
* In a primary-to-multiple-standby setup, you might apply the following settings.
*
*
* archivedLogDestId=1; ExtraArchivedLogDestIds=[2,3,4]
*
*
* Although DMS supports the use of the Oracle RESETLOGS
option to open the database, never use
* RESETLOGS
unless it's necessary. For more information about RESETLOGS
, see RMAN Data Repair Concepts in the Oracle Database Backup and Recovery User's Guide.
*/
public final List extraArchivedLogDestIds() {
return extraArchivedLogDestIds;
}
/**
*
* Set this attribute to true
to enable replication of Oracle tables containing columns that are nested
* tables or defined types.
*
*
* @return Set this attribute to true
to enable replication of Oracle tables containing columns that
* are nested tables or defined types.
*/
public final Boolean allowSelectNestedTables() {
return allowSelectNestedTables;
}
/**
*
* Set this attribute to change the number of threads that DMS configures to perform a change data capture (CDC)
* load using Oracle Automatic Storage Management (ASM). You can specify an integer value between 2 (the default)
* and 8 (the maximum). Use this attribute together with the readAheadBlocks
attribute.
*
*
* @return Set this attribute to change the number of threads that DMS configures to perform a change data capture
* (CDC) load using Oracle Automatic Storage Management (ASM). You can specify an integer value between 2
* (the default) and 8 (the maximum). Use this attribute together with the readAheadBlocks
* attribute.
*/
public final Integer parallelAsmReadThreads() {
return parallelAsmReadThreads;
}
/**
*
* Set this attribute to change the number of read-ahead blocks that DMS configures to perform a change data capture
* (CDC) load using Oracle Automatic Storage Management (ASM). You can specify an integer value between 1000 (the
* default) and 200,000 (the maximum).
*
*
* @return Set this attribute to change the number of read-ahead blocks that DMS configures to perform a change data
* capture (CDC) load using Oracle Automatic Storage Management (ASM). You can specify an integer value
* between 1000 (the default) and 200,000 (the maximum).
*/
public final Integer readAheadBlocks() {
return readAheadBlocks;
}
/**
*
* Set this attribute to false
in order to use the Binary Reader to capture change data for an Amazon
* RDS for Oracle as the source. This tells the DMS instance to not access redo logs through any specified path
* prefix replacement using direct file access.
*
*
* @return Set this attribute to false
in order to use the Binary Reader to capture change data for an
* Amazon RDS for Oracle as the source. This tells the DMS instance to not access redo logs through any
* specified path prefix replacement using direct file access.
*/
public final Boolean accessAlternateDirectly() {
return accessAlternateDirectly;
}
/**
*
* Set this attribute to true
in order to use the Binary Reader to capture change data for an Amazon
* RDS for Oracle as the source. This tells the DMS instance to use any specified prefix replacement to access all
* online redo logs.
*
*
* @return Set this attribute to true
in order to use the Binary Reader to capture change data for an
* Amazon RDS for Oracle as the source. This tells the DMS instance to use any specified prefix replacement
* to access all online redo logs.
*/
public final Boolean useAlternateFolderForOnline() {
return useAlternateFolderForOnline;
}
/**
*
* Set this string attribute to the required value in order to use the Binary Reader to capture change data for an
* Amazon RDS for Oracle as the source. This value specifies the default Oracle root used to access the redo logs.
*
*
* @return Set this string attribute to the required value in order to use the Binary Reader to capture change data
* for an Amazon RDS for Oracle as the source. This value specifies the default Oracle root used to access
* the redo logs.
*/
public final String oraclePathPrefix() {
return oraclePathPrefix;
}
/**
*
* Set this string attribute to the required value in order to use the Binary Reader to capture change data for an
* Amazon RDS for Oracle as the source. This value specifies the path prefix used to replace the default Oracle root
* to access the redo logs.
*
*
* @return Set this string attribute to the required value in order to use the Binary Reader to capture change data
* for an Amazon RDS for Oracle as the source. This value specifies the path prefix used to replace the
* default Oracle root to access the redo logs.
*/
public final String usePathPrefix() {
return usePathPrefix;
}
/**
*
* Set this attribute to true in order to use the Binary Reader to capture change data for an Amazon RDS for Oracle
* as the source. This setting tells DMS instance to replace the default Oracle root with the specified
* usePathPrefix
setting to access the redo logs.
*
*
* @return Set this attribute to true in order to use the Binary Reader to capture change data for an Amazon RDS for
* Oracle as the source. This setting tells DMS instance to replace the default Oracle root with the
* specified usePathPrefix
setting to access the redo logs.
*/
public final Boolean replacePathPrefix() {
return replacePathPrefix;
}
/**
*
* Set this attribute to enable homogenous tablespace replication and create existing tables or indexes under the
* same tablespace on the target.
*
*
* @return Set this attribute to enable homogenous tablespace replication and create existing tables or indexes
* under the same tablespace on the target.
*/
public final Boolean enableHomogenousTablespace() {
return enableHomogenousTablespace;
}
/**
*
* When set to true
, this attribute helps to increase the commit rate on the Oracle target database by
* writing directly to tables and not writing a trail to database logs.
*
*
* @return When set to true
, this attribute helps to increase the commit rate on the Oracle target
* database by writing directly to tables and not writing a trail to database logs.
*/
public final Boolean directPathNoLog() {
return directPathNoLog;
}
/**
*
* When this field is set to Y
, DMS only accesses the archived redo logs. If the archived redo logs are
* stored on Automatic Storage Management (ASM) only, the DMS user account needs to be granted ASM privileges.
*
*
* @return When this field is set to Y
, DMS only accesses the archived redo logs. If the archived redo
* logs are stored on Automatic Storage Management (ASM) only, the DMS user account needs to be granted ASM
* privileges.
*/
public final Boolean archivedLogsOnly() {
return archivedLogsOnly;
}
/**
*
* For an Oracle source endpoint, your Oracle Automatic Storage Management (ASM) password. You can set this value
* from the asm_user_password
value. You set this value as part of the comma-separated value
* that you set to the Password
request parameter when you create the endpoint to access transaction
* logs using Binary Reader. For more information, see Configuration for change data capture (CDC) on an Oracle source database.
*
*
* @return For an Oracle source endpoint, your Oracle Automatic Storage Management (ASM) password. You can set this
* value from the asm_user_password
value. You set this value as part of the
* comma-separated value that you set to the Password
request parameter when you create the
* endpoint to access transaction logs using Binary Reader. For more information, see Configuration for change data capture (CDC) on an Oracle source database.
*/
public final String asmPassword() {
return asmPassword;
}
/**
*
* For an Oracle source endpoint, your ASM server address. You can set this value from the asm_server
* value. You set asm_server
as part of the extra connection attribute string to access an Oracle
* server with Binary Reader that uses ASM. For more information, see Configuration for change data capture (CDC) on an Oracle source database.
*
*
* @return For an Oracle source endpoint, your ASM server address. You can set this value from the
* asm_server
value. You set asm_server
as part of the extra connection attribute
* string to access an Oracle server with Binary Reader that uses ASM. For more information, see Configuration for change data capture (CDC) on an Oracle source database.
*/
public final String asmServer() {
return asmServer;
}
/**
*
* For an Oracle source endpoint, your ASM user name. You can set this value from the asm_user
value.
* You set asm_user
as part of the extra connection attribute string to access an Oracle server with
* Binary Reader that uses ASM. For more information, see Configuration for change data capture (CDC) on an Oracle source database.
*
*
* @return For an Oracle source endpoint, your ASM user name. You can set this value from the asm_user
* value. You set asm_user
as part of the extra connection attribute string to access an Oracle
* server with Binary Reader that uses ASM. For more information, see Configuration for change data capture (CDC) on an Oracle source database.
*/
public final String asmUser() {
return asmUser;
}
/**
*
* Specifies whether the length of a character column is in bytes or in characters. To indicate that the character
* column length is in characters, set this attribute to CHAR
. Otherwise, the character column length
* is in bytes.
*
*
* Example: charLengthSemantics=CHAR;
*
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #charLengthSemantics} will return {@link CharLengthSemantics#UNKNOWN_TO_SDK_VERSION}. The raw value
* returned by the service is available from {@link #charLengthSemanticsAsString}.
*
*
* @return Specifies whether the length of a character column is in bytes or in characters. To indicate that the
* character column length is in characters, set this attribute to CHAR
. Otherwise, the
* character column length is in bytes.
*
* Example: charLengthSemantics=CHAR;
* @see CharLengthSemantics
*/
public final CharLengthSemantics charLengthSemantics() {
return CharLengthSemantics.fromValue(charLengthSemantics);
}
/**
*
* Specifies whether the length of a character column is in bytes or in characters. To indicate that the character
* column length is in characters, set this attribute to CHAR
. Otherwise, the character column length
* is in bytes.
*
*
* Example: charLengthSemantics=CHAR;
*
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #charLengthSemantics} will return {@link CharLengthSemantics#UNKNOWN_TO_SDK_VERSION}. The raw value
* returned by the service is available from {@link #charLengthSemanticsAsString}.
*
*
* @return Specifies whether the length of a character column is in bytes or in characters. To indicate that the
* character column length is in characters, set this attribute to CHAR
. Otherwise, the
* character column length is in bytes.
*
* Example: charLengthSemantics=CHAR;
* @see CharLengthSemantics
*/
public final String charLengthSemanticsAsString() {
return charLengthSemantics;
}
/**
*
* Database name for the endpoint.
*
*
* @return Database name for the endpoint.
*/
public final String databaseName() {
return databaseName;
}
/**
*
* When set to true
, this attribute specifies a parallel load when useDirectPathFullLoad
* is set to Y
. This attribute also only applies when you use the DMS parallel load feature. Note that
* the target table cannot have any constraints or indexes.
*
*
* @return When set to true
, this attribute specifies a parallel load when
* useDirectPathFullLoad
is set to Y
. This attribute also only applies when you
* use the DMS parallel load feature. Note that the target table cannot have any constraints or indexes.
*/
public final Boolean directPathParallelLoad() {
return directPathParallelLoad;
}
/**
*
* When set to true
, this attribute causes a task to fail if the actual size of an LOB column is
* greater than the specified LobMaxSize
.
*
*
* If a 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 attribute causes a task to fail if the actual size of an LOB column
* is greater than the specified LobMaxSize
.
*
* If a task is set to limited LOB mode and this option is set to true
, the task fails instead
* of truncating the LOB data.
*/
public final Boolean failTasksOnLobTruncation() {
return failTasksOnLobTruncation;
}
/**
*
* Specifies the number scale. You can select a scale up to 38, or you can select FLOAT. By default, the NUMBER data
* type is converted to precision 38, scale 10.
*
*
* Example: numberDataTypeScale=12
*
*
* @return Specifies the number scale. You can select a scale up to 38, or you can select FLOAT. By default, the
* NUMBER data type is converted to precision 38, scale 10.
*
* Example: numberDataTypeScale=12
*/
public final Integer numberDatatypeScale() {
return numberDatatypeScale;
}
/**
*
* Endpoint connection password.
*
*
* @return Endpoint connection password.
*/
public final String password() {
return password;
}
/**
*
* Endpoint TCP port.
*
*
* @return Endpoint TCP port.
*/
public final Integer port() {
return port;
}
/**
*
* When set to true
, this attribute supports tablespace replication.
*
*
* @return When set to true
, this attribute supports tablespace replication.
*/
public final Boolean readTableSpaceName() {
return readTableSpaceName;
}
/**
*
* Specifies the number of seconds that the system waits before resending a query.
*
*
* Example: retryInterval=6;
*
*
* @return Specifies the number of seconds that the system waits before resending a query.
*
* Example: retryInterval=6;
*/
public final Integer retryInterval() {
return retryInterval;
}
/**
*
* For an Oracle source endpoint, the transparent data encryption (TDE) password required by AWM DMS to access
* Oracle redo logs encrypted by TDE using Binary Reader. It is also the TDE_Password
part of
* the comma-separated value you set to the Password
request parameter when you create the endpoint.
* The SecurityDbEncryptian
setting is related to this SecurityDbEncryptionName
setting.
* For more information, see
* Supported encryption methods for using Oracle as a source for DMS in the Database Migration Service User
* Guide.
*
*
* @return For an Oracle source endpoint, the transparent data encryption (TDE) password required by AWM DMS to
* access Oracle redo logs encrypted by TDE using Binary Reader. It is also the
* TDE_Password
part of the comma-separated value you set to the Password
* request parameter when you create the endpoint. The SecurityDbEncryptian
setting is related
* to this SecurityDbEncryptionName
setting. For more information, see Supported encryption methods for using Oracle as a source for DMS in the Database Migration
* Service User Guide.
*/
public final String securityDbEncryption() {
return securityDbEncryption;
}
/**
*
* For an Oracle source endpoint, the name of a key used for the transparent data encryption (TDE) of the columns
* and tablespaces in an Oracle source database that is encrypted using TDE. The key value is the value of the
* SecurityDbEncryption
setting. For more information on setting the key name value of
* SecurityDbEncryptionName
, see the information and example for setting the
* securityDbEncryptionName
extra connection attribute in
* Supported encryption methods for using Oracle as a source for DMS in the Database Migration Service User
* Guide.
*
*
* @return For an Oracle source endpoint, the name of a key used for the transparent data encryption (TDE) of the
* columns and tablespaces in an Oracle source database that is encrypted using TDE. The key value is the
* value of the SecurityDbEncryption
setting. For more information on setting the key name
* value of SecurityDbEncryptionName
, see the information and example for setting the
* securityDbEncryptionName
extra connection attribute in Supported encryption methods for using Oracle as a source for DMS in the Database Migration
* Service User Guide.
*/
public final String securityDbEncryptionName() {
return securityDbEncryptionName;
}
/**
*
* Fully qualified domain name of the endpoint.
*
*
* @return Fully qualified domain name of the endpoint.
*/
public final String serverName() {
return serverName;
}
/**
*
* Use this attribute to convert SDO_GEOMETRY
to GEOJSON
format. By default, DMS calls the
* SDO2GEOJSON
custom function if present and accessible. Or you can create your own custom function
* that mimics the operation of SDOGEOJSON
and set SpatialDataOptionToGeoJsonFunctionName
* to call it instead.
*
*
* @return Use this attribute to convert SDO_GEOMETRY
to GEOJSON
format. By default, DMS
* calls the SDO2GEOJSON
custom function if present and accessible. Or you can create your own
* custom function that mimics the operation of SDOGEOJSON
and set
* SpatialDataOptionToGeoJsonFunctionName
to call it instead.
*/
public final String spatialDataOptionToGeoJsonFunctionName() {
return spatialDataOptionToGeoJsonFunctionName;
}
/**
*
* Use this attribute to specify a time in minutes for the delay in standby sync. If the source is an Oracle Active
* Data Guard standby database, use this attribute to specify the time lag between primary and standby databases.
*
*
* In DMS, you can create an Oracle CDC task that uses an Active Data Guard standby instance as a source for
* replicating ongoing changes. Doing this eliminates the need to connect to an active database that might be in
* production.
*
*
* @return Use this attribute to specify a time in minutes for the delay in standby sync. If the source is an Oracle
* Active Data Guard standby database, use this attribute to specify the time lag between primary and
* standby databases.
*
* In DMS, you can create an Oracle CDC task that uses an Active Data Guard standby instance as a source for
* replicating ongoing changes. Doing this eliminates the need to connect to an active database that might
* be in production.
*/
public final Integer standbyDelayTime() {
return standbyDelayTime;
}
/**
*
* Endpoint connection user name.
*
*
* @return Endpoint connection user name.
*/
public final String username() {
return username;
}
/**
*
* Set this attribute to Y to capture change data using the Binary Reader utility. Set
* UseLogminerReader
to N to set this attribute to Y. To use Binary Reader with Amazon RDS for Oracle
* as the source, you set additional attributes. For more information about using this setting with Oracle Automatic
* Storage Management (ASM), see Using
* Oracle LogMiner or DMS Binary Reader for CDC.
*
*
* @return Set this attribute to Y to capture change data using the Binary Reader utility. Set
* UseLogminerReader
to N to set this attribute to Y. To use Binary Reader with Amazon RDS for
* Oracle as the source, you set additional attributes. For more information about using this setting with
* Oracle Automatic Storage Management (ASM), see
* Using Oracle LogMiner or DMS Binary Reader for CDC.
*/
public final Boolean useBFile() {
return useBFile;
}
/**
*
* Set this attribute to Y to have DMS use a direct path full load. Specify this value to use the direct path
* protocol in the Oracle Call Interface (OCI). By using this OCI protocol, you can bulk-load Oracle target tables
* during a full load.
*
*
* @return Set this attribute to Y to have DMS use a direct path full load. Specify this value to use the direct
* path protocol in the Oracle Call Interface (OCI). By using this OCI protocol, you can bulk-load Oracle
* target tables during a full load.
*/
public final Boolean useDirectPathFullLoad() {
return useDirectPathFullLoad;
}
/**
*
* Set this attribute to Y to capture change data using the Oracle LogMiner utility (the default). Set this
* attribute to N if you want to access the redo logs as a binary file. When you set UseLogminerReader
* to N, also set UseBfile
to Y. For more information on this setting and using Oracle ASM, see Using
* Oracle LogMiner or DMS Binary Reader for CDC in the DMS User Guide.
*
*
* @return Set this attribute to Y to capture change data using the Oracle LogMiner utility (the default). Set this
* attribute to N if you want to access the redo logs as a binary file. When you set
* UseLogminerReader
to N, also set UseBfile
to Y. For more information on this
* setting and using Oracle ASM, see
* Using Oracle LogMiner or DMS Binary Reader for CDC in the DMS User Guide.
*/
public final Boolean useLogminerReader() {
return useLogminerReader;
}
/**
*
* 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 Oracle 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 Oracle 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 final String secretsManagerAccessRoleArn() {
return secretsManagerAccessRoleArn;
}
/**
*
* The full ARN, partial ARN, or friendly name of the SecretsManagerSecret
that contains the Oracle
* endpoint connection details.
*
*
* @return The full ARN, partial ARN, or friendly name of the SecretsManagerSecret
that contains the
* Oracle endpoint connection details.
*/
public final String secretsManagerSecretId() {
return secretsManagerSecretId;
}
/**
*
* Required only if your Oracle endpoint uses Automatic Storage Management (ASM). The full ARN of the IAM role that
* specifies DMS as the trusted entity and grants the required permissions to access the
* SecretsManagerOracleAsmSecret
. This SecretsManagerOracleAsmSecret
has the secret value
* that allows access to the Oracle ASM of the endpoint.
*
*
*
* You can specify one of two sets of values for these permissions. You can specify the values for this setting and
* SecretsManagerOracleAsmSecretId
. Or you can specify clear-text values for AsmUserName
,
* AsmPassword
, and AsmServerName
. You can't specify both. For more information on
* creating this SecretsManagerOracleAsmSecret
and the
* SecretsManagerOracleAsmAccessRoleArn
and SecretsManagerOracleAsmSecretId
required to
* access it, see Using
* secrets to access Database Migration Service resources in the Database Migration Service User Guide.
*
*
*
* @return Required only if your Oracle endpoint uses Automatic Storage Management (ASM). The full ARN of the IAM
* role that specifies DMS as the trusted entity and grants the required permissions to access the
* SecretsManagerOracleAsmSecret
. This SecretsManagerOracleAsmSecret
has the
* secret value that allows access to the Oracle ASM of the endpoint.
*
* You can specify one of two sets of values for these permissions. You can specify the values for this
* setting and SecretsManagerOracleAsmSecretId
. Or you can specify clear-text values for
* AsmUserName
, AsmPassword
, and AsmServerName
. You can't specify
* both. For more information on creating this SecretsManagerOracleAsmSecret
and the
* SecretsManagerOracleAsmAccessRoleArn
and SecretsManagerOracleAsmSecretId
* required to access it, see Using secrets to access Database Migration Service resources in the Database Migration Service
* User Guide.
*
*/
public final String secretsManagerOracleAsmAccessRoleArn() {
return secretsManagerOracleAsmAccessRoleArn;
}
/**
*
* Required only if your Oracle endpoint uses Automatic Storage Management (ASM). The full ARN, partial ARN, or
* friendly name of the SecretsManagerOracleAsmSecret
that contains the Oracle ASM connection details
* for the Oracle endpoint.
*
*
* @return Required only if your Oracle endpoint uses Automatic Storage Management (ASM). The full ARN, partial ARN,
* or friendly name of the SecretsManagerOracleAsmSecret
that contains the Oracle ASM
* connection details for the Oracle endpoint.
*/
public final String secretsManagerOracleAsmSecretId() {
return secretsManagerOracleAsmSecretId;
}
/**
*
* 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 final Boolean trimSpaceInChar() {
return trimSpaceInChar;
}
@Override
public Builder toBuilder() {
return new BuilderImpl(this);
}
public static Builder builder() {
return new BuilderImpl();
}
public static Class extends Builder> serializableBuilderClass() {
return BuilderImpl.class;
}
@Override
public final int hashCode() {
int hashCode = 1;
hashCode = 31 * hashCode + Objects.hashCode(addSupplementalLogging());
hashCode = 31 * hashCode + Objects.hashCode(archivedLogDestId());
hashCode = 31 * hashCode + Objects.hashCode(additionalArchivedLogDestId());
hashCode = 31 * hashCode + Objects.hashCode(hasExtraArchivedLogDestIds() ? extraArchivedLogDestIds() : null);
hashCode = 31 * hashCode + Objects.hashCode(allowSelectNestedTables());
hashCode = 31 * hashCode + Objects.hashCode(parallelAsmReadThreads());
hashCode = 31 * hashCode + Objects.hashCode(readAheadBlocks());
hashCode = 31 * hashCode + Objects.hashCode(accessAlternateDirectly());
hashCode = 31 * hashCode + Objects.hashCode(useAlternateFolderForOnline());
hashCode = 31 * hashCode + Objects.hashCode(oraclePathPrefix());
hashCode = 31 * hashCode + Objects.hashCode(usePathPrefix());
hashCode = 31 * hashCode + Objects.hashCode(replacePathPrefix());
hashCode = 31 * hashCode + Objects.hashCode(enableHomogenousTablespace());
hashCode = 31 * hashCode + Objects.hashCode(directPathNoLog());
hashCode = 31 * hashCode + Objects.hashCode(archivedLogsOnly());
hashCode = 31 * hashCode + Objects.hashCode(asmPassword());
hashCode = 31 * hashCode + Objects.hashCode(asmServer());
hashCode = 31 * hashCode + Objects.hashCode(asmUser());
hashCode = 31 * hashCode + Objects.hashCode(charLengthSemanticsAsString());
hashCode = 31 * hashCode + Objects.hashCode(databaseName());
hashCode = 31 * hashCode + Objects.hashCode(directPathParallelLoad());
hashCode = 31 * hashCode + Objects.hashCode(failTasksOnLobTruncation());
hashCode = 31 * hashCode + Objects.hashCode(numberDatatypeScale());
hashCode = 31 * hashCode + Objects.hashCode(password());
hashCode = 31 * hashCode + Objects.hashCode(port());
hashCode = 31 * hashCode + Objects.hashCode(readTableSpaceName());
hashCode = 31 * hashCode + Objects.hashCode(retryInterval());
hashCode = 31 * hashCode + Objects.hashCode(securityDbEncryption());
hashCode = 31 * hashCode + Objects.hashCode(securityDbEncryptionName());
hashCode = 31 * hashCode + Objects.hashCode(serverName());
hashCode = 31 * hashCode + Objects.hashCode(spatialDataOptionToGeoJsonFunctionName());
hashCode = 31 * hashCode + Objects.hashCode(standbyDelayTime());
hashCode = 31 * hashCode + Objects.hashCode(username());
hashCode = 31 * hashCode + Objects.hashCode(useBFile());
hashCode = 31 * hashCode + Objects.hashCode(useDirectPathFullLoad());
hashCode = 31 * hashCode + Objects.hashCode(useLogminerReader());
hashCode = 31 * hashCode + Objects.hashCode(secretsManagerAccessRoleArn());
hashCode = 31 * hashCode + Objects.hashCode(secretsManagerSecretId());
hashCode = 31 * hashCode + Objects.hashCode(secretsManagerOracleAsmAccessRoleArn());
hashCode = 31 * hashCode + Objects.hashCode(secretsManagerOracleAsmSecretId());
hashCode = 31 * hashCode + Objects.hashCode(trimSpaceInChar());
return hashCode;
}
@Override
public final boolean equals(Object obj) {
return equalsBySdkFields(obj);
}
@Override
public final boolean equalsBySdkFields(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof OracleSettings)) {
return false;
}
OracleSettings other = (OracleSettings) obj;
return Objects.equals(addSupplementalLogging(), other.addSupplementalLogging())
&& Objects.equals(archivedLogDestId(), other.archivedLogDestId())
&& Objects.equals(additionalArchivedLogDestId(), other.additionalArchivedLogDestId())
&& hasExtraArchivedLogDestIds() == other.hasExtraArchivedLogDestIds()
&& Objects.equals(extraArchivedLogDestIds(), other.extraArchivedLogDestIds())
&& Objects.equals(allowSelectNestedTables(), other.allowSelectNestedTables())
&& Objects.equals(parallelAsmReadThreads(), other.parallelAsmReadThreads())
&& Objects.equals(readAheadBlocks(), other.readAheadBlocks())
&& Objects.equals(accessAlternateDirectly(), other.accessAlternateDirectly())
&& Objects.equals(useAlternateFolderForOnline(), other.useAlternateFolderForOnline())
&& Objects.equals(oraclePathPrefix(), other.oraclePathPrefix())
&& Objects.equals(usePathPrefix(), other.usePathPrefix())
&& Objects.equals(replacePathPrefix(), other.replacePathPrefix())
&& Objects.equals(enableHomogenousTablespace(), other.enableHomogenousTablespace())
&& Objects.equals(directPathNoLog(), other.directPathNoLog())
&& Objects.equals(archivedLogsOnly(), other.archivedLogsOnly())
&& Objects.equals(asmPassword(), other.asmPassword()) && Objects.equals(asmServer(), other.asmServer())
&& Objects.equals(asmUser(), other.asmUser())
&& Objects.equals(charLengthSemanticsAsString(), other.charLengthSemanticsAsString())
&& Objects.equals(databaseName(), other.databaseName())
&& Objects.equals(directPathParallelLoad(), other.directPathParallelLoad())
&& Objects.equals(failTasksOnLobTruncation(), other.failTasksOnLobTruncation())
&& Objects.equals(numberDatatypeScale(), other.numberDatatypeScale())
&& Objects.equals(password(), other.password()) && Objects.equals(port(), other.port())
&& Objects.equals(readTableSpaceName(), other.readTableSpaceName())
&& Objects.equals(retryInterval(), other.retryInterval())
&& Objects.equals(securityDbEncryption(), other.securityDbEncryption())
&& Objects.equals(securityDbEncryptionName(), other.securityDbEncryptionName())
&& Objects.equals(serverName(), other.serverName())
&& Objects.equals(spatialDataOptionToGeoJsonFunctionName(), other.spatialDataOptionToGeoJsonFunctionName())
&& Objects.equals(standbyDelayTime(), other.standbyDelayTime()) && Objects.equals(username(), other.username())
&& Objects.equals(useBFile(), other.useBFile())
&& Objects.equals(useDirectPathFullLoad(), other.useDirectPathFullLoad())
&& Objects.equals(useLogminerReader(), other.useLogminerReader())
&& Objects.equals(secretsManagerAccessRoleArn(), other.secretsManagerAccessRoleArn())
&& Objects.equals(secretsManagerSecretId(), other.secretsManagerSecretId())
&& Objects.equals(secretsManagerOracleAsmAccessRoleArn(), other.secretsManagerOracleAsmAccessRoleArn())
&& Objects.equals(secretsManagerOracleAsmSecretId(), other.secretsManagerOracleAsmSecretId())
&& Objects.equals(trimSpaceInChar(), other.trimSpaceInChar());
}
/**
* 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.
*/
@Override
public final String toString() {
return ToString.builder("OracleSettings").add("AddSupplementalLogging", addSupplementalLogging())
.add("ArchivedLogDestId", archivedLogDestId()).add("AdditionalArchivedLogDestId", additionalArchivedLogDestId())
.add("ExtraArchivedLogDestIds", hasExtraArchivedLogDestIds() ? extraArchivedLogDestIds() : null)
.add("AllowSelectNestedTables", allowSelectNestedTables())
.add("ParallelAsmReadThreads", parallelAsmReadThreads()).add("ReadAheadBlocks", readAheadBlocks())
.add("AccessAlternateDirectly", accessAlternateDirectly())
.add("UseAlternateFolderForOnline", useAlternateFolderForOnline()).add("OraclePathPrefix", oraclePathPrefix())
.add("UsePathPrefix", usePathPrefix()).add("ReplacePathPrefix", replacePathPrefix())
.add("EnableHomogenousTablespace", enableHomogenousTablespace()).add("DirectPathNoLog", directPathNoLog())
.add("ArchivedLogsOnly", archivedLogsOnly())
.add("AsmPassword", asmPassword() == null ? null : "*** Sensitive Data Redacted ***")
.add("AsmServer", asmServer()).add("AsmUser", asmUser())
.add("CharLengthSemantics", charLengthSemanticsAsString()).add("DatabaseName", databaseName())
.add("DirectPathParallelLoad", directPathParallelLoad())
.add("FailTasksOnLobTruncation", failTasksOnLobTruncation()).add("NumberDatatypeScale", numberDatatypeScale())
.add("Password", password() == null ? null : "*** Sensitive Data Redacted ***").add("Port", port())
.add("ReadTableSpaceName", readTableSpaceName()).add("RetryInterval", retryInterval())
.add("SecurityDbEncryption", securityDbEncryption() == null ? null : "*** Sensitive Data Redacted ***")
.add("SecurityDbEncryptionName", securityDbEncryptionName()).add("ServerName", serverName())
.add("SpatialDataOptionToGeoJsonFunctionName", spatialDataOptionToGeoJsonFunctionName())
.add("StandbyDelayTime", standbyDelayTime()).add("Username", username()).add("UseBFile", useBFile())
.add("UseDirectPathFullLoad", useDirectPathFullLoad()).add("UseLogminerReader", useLogminerReader())
.add("SecretsManagerAccessRoleArn", secretsManagerAccessRoleArn())
.add("SecretsManagerSecretId", secretsManagerSecretId())
.add("SecretsManagerOracleAsmAccessRoleArn", secretsManagerOracleAsmAccessRoleArn())
.add("SecretsManagerOracleAsmSecretId", secretsManagerOracleAsmSecretId())
.add("TrimSpaceInChar", trimSpaceInChar()).build();
}
public final Optional getValueForField(String fieldName, Class clazz) {
switch (fieldName) {
case "AddSupplementalLogging":
return Optional.ofNullable(clazz.cast(addSupplementalLogging()));
case "ArchivedLogDestId":
return Optional.ofNullable(clazz.cast(archivedLogDestId()));
case "AdditionalArchivedLogDestId":
return Optional.ofNullable(clazz.cast(additionalArchivedLogDestId()));
case "ExtraArchivedLogDestIds":
return Optional.ofNullable(clazz.cast(extraArchivedLogDestIds()));
case "AllowSelectNestedTables":
return Optional.ofNullable(clazz.cast(allowSelectNestedTables()));
case "ParallelAsmReadThreads":
return Optional.ofNullable(clazz.cast(parallelAsmReadThreads()));
case "ReadAheadBlocks":
return Optional.ofNullable(clazz.cast(readAheadBlocks()));
case "AccessAlternateDirectly":
return Optional.ofNullable(clazz.cast(accessAlternateDirectly()));
case "UseAlternateFolderForOnline":
return Optional.ofNullable(clazz.cast(useAlternateFolderForOnline()));
case "OraclePathPrefix":
return Optional.ofNullable(clazz.cast(oraclePathPrefix()));
case "UsePathPrefix":
return Optional.ofNullable(clazz.cast(usePathPrefix()));
case "ReplacePathPrefix":
return Optional.ofNullable(clazz.cast(replacePathPrefix()));
case "EnableHomogenousTablespace":
return Optional.ofNullable(clazz.cast(enableHomogenousTablespace()));
case "DirectPathNoLog":
return Optional.ofNullable(clazz.cast(directPathNoLog()));
case "ArchivedLogsOnly":
return Optional.ofNullable(clazz.cast(archivedLogsOnly()));
case "AsmPassword":
return Optional.ofNullable(clazz.cast(asmPassword()));
case "AsmServer":
return Optional.ofNullable(clazz.cast(asmServer()));
case "AsmUser":
return Optional.ofNullable(clazz.cast(asmUser()));
case "CharLengthSemantics":
return Optional.ofNullable(clazz.cast(charLengthSemanticsAsString()));
case "DatabaseName":
return Optional.ofNullable(clazz.cast(databaseName()));
case "DirectPathParallelLoad":
return Optional.ofNullable(clazz.cast(directPathParallelLoad()));
case "FailTasksOnLobTruncation":
return Optional.ofNullable(clazz.cast(failTasksOnLobTruncation()));
case "NumberDatatypeScale":
return Optional.ofNullable(clazz.cast(numberDatatypeScale()));
case "Password":
return Optional.ofNullable(clazz.cast(password()));
case "Port":
return Optional.ofNullable(clazz.cast(port()));
case "ReadTableSpaceName":
return Optional.ofNullable(clazz.cast(readTableSpaceName()));
case "RetryInterval":
return Optional.ofNullable(clazz.cast(retryInterval()));
case "SecurityDbEncryption":
return Optional.ofNullable(clazz.cast(securityDbEncryption()));
case "SecurityDbEncryptionName":
return Optional.ofNullable(clazz.cast(securityDbEncryptionName()));
case "ServerName":
return Optional.ofNullable(clazz.cast(serverName()));
case "SpatialDataOptionToGeoJsonFunctionName":
return Optional.ofNullable(clazz.cast(spatialDataOptionToGeoJsonFunctionName()));
case "StandbyDelayTime":
return Optional.ofNullable(clazz.cast(standbyDelayTime()));
case "Username":
return Optional.ofNullable(clazz.cast(username()));
case "UseBFile":
return Optional.ofNullable(clazz.cast(useBFile()));
case "UseDirectPathFullLoad":
return Optional.ofNullable(clazz.cast(useDirectPathFullLoad()));
case "UseLogminerReader":
return Optional.ofNullable(clazz.cast(useLogminerReader()));
case "SecretsManagerAccessRoleArn":
return Optional.ofNullable(clazz.cast(secretsManagerAccessRoleArn()));
case "SecretsManagerSecretId":
return Optional.ofNullable(clazz.cast(secretsManagerSecretId()));
case "SecretsManagerOracleAsmAccessRoleArn":
return Optional.ofNullable(clazz.cast(secretsManagerOracleAsmAccessRoleArn()));
case "SecretsManagerOracleAsmSecretId":
return Optional.ofNullable(clazz.cast(secretsManagerOracleAsmSecretId()));
case "TrimSpaceInChar":
return Optional.ofNullable(clazz.cast(trimSpaceInChar()));
default:
return Optional.empty();
}
}
@Override
public final List> sdkFields() {
return SDK_FIELDS;
}
private static Function