software.amazon.awssdk.services.databasemigration.model.CreateEndpointRequest 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.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.awscore.AwsRequestOverrideConfiguration;
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;
/**
*
*/
@Generated("software.amazon.awssdk:codegen")
public final class CreateEndpointRequest extends DatabaseMigrationRequest implements
ToCopyableBuilder {
private static final SdkField ENDPOINT_IDENTIFIER_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("EndpointIdentifier").getter(getter(CreateEndpointRequest::endpointIdentifier))
.setter(setter(Builder::endpointIdentifier))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EndpointIdentifier").build())
.build();
private static final SdkField ENDPOINT_TYPE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("EndpointType").getter(getter(CreateEndpointRequest::endpointTypeAsString))
.setter(setter(Builder::endpointType))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EndpointType").build()).build();
private static final SdkField ENGINE_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("EngineName").getter(getter(CreateEndpointRequest::engineName)).setter(setter(Builder::engineName))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EngineName").build()).build();
private static final SdkField USERNAME_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("Username").getter(getter(CreateEndpointRequest::username)).setter(setter(Builder::username))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Username").build()).build();
private static final SdkField PASSWORD_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("Password").getter(getter(CreateEndpointRequest::password)).setter(setter(Builder::password))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Password").build()).build();
private static final SdkField SERVER_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("ServerName").getter(getter(CreateEndpointRequest::serverName)).setter(setter(Builder::serverName))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ServerName").build()).build();
private static final SdkField PORT_FIELD = SdkField. builder(MarshallingType.INTEGER).memberName("Port")
.getter(getter(CreateEndpointRequest::port)).setter(setter(Builder::port))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Port").build()).build();
private static final SdkField DATABASE_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("DatabaseName").getter(getter(CreateEndpointRequest::databaseName)).setter(setter(Builder::databaseName))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DatabaseName").build()).build();
private static final SdkField EXTRA_CONNECTION_ATTRIBUTES_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("ExtraConnectionAttributes").getter(getter(CreateEndpointRequest::extraConnectionAttributes))
.setter(setter(Builder::extraConnectionAttributes))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ExtraConnectionAttributes").build())
.build();
private static final SdkField KMS_KEY_ID_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("KmsKeyId").getter(getter(CreateEndpointRequest::kmsKeyId)).setter(setter(Builder::kmsKeyId))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("KmsKeyId").build()).build();
private static final SdkField> TAGS_FIELD = SdkField
.> builder(MarshallingType.LIST)
.memberName("Tags")
.getter(getter(CreateEndpointRequest::tags))
.setter(setter(Builder::tags))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Tags").build(),
ListTrait
.builder()
.memberLocationName(null)
.memberFieldInfo(
SdkField. builder(MarshallingType.SDK_POJO)
.constructor(Tag::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("member").build()).build()).build()).build();
private static final SdkField CERTIFICATE_ARN_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("CertificateArn").getter(getter(CreateEndpointRequest::certificateArn))
.setter(setter(Builder::certificateArn))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CertificateArn").build()).build();
private static final SdkField SSL_MODE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("SslMode").getter(getter(CreateEndpointRequest::sslModeAsString)).setter(setter(Builder::sslMode))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SslMode").build()).build();
private static final SdkField SERVICE_ACCESS_ROLE_ARN_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("ServiceAccessRoleArn").getter(getter(CreateEndpointRequest::serviceAccessRoleArn))
.setter(setter(Builder::serviceAccessRoleArn))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ServiceAccessRoleArn").build())
.build();
private static final SdkField EXTERNAL_TABLE_DEFINITION_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("ExternalTableDefinition").getter(getter(CreateEndpointRequest::externalTableDefinition))
.setter(setter(Builder::externalTableDefinition))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ExternalTableDefinition").build())
.build();
private static final SdkField DYNAMO_DB_SETTINGS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("DynamoDbSettings")
.getter(getter(CreateEndpointRequest::dynamoDbSettings)).setter(setter(Builder::dynamoDbSettings))
.constructor(DynamoDbSettings::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DynamoDbSettings").build()).build();
private static final SdkField S3_SETTINGS_FIELD = SdkField. builder(MarshallingType.SDK_POJO)
.memberName("S3Settings").getter(getter(CreateEndpointRequest::s3Settings)).setter(setter(Builder::s3Settings))
.constructor(S3Settings::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("S3Settings").build()).build();
private static final SdkField DMS_TRANSFER_SETTINGS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("DmsTransferSettings")
.getter(getter(CreateEndpointRequest::dmsTransferSettings)).setter(setter(Builder::dmsTransferSettings))
.constructor(DmsTransferSettings::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DmsTransferSettings").build())
.build();
private static final SdkField MONGO_DB_SETTINGS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("MongoDbSettings")
.getter(getter(CreateEndpointRequest::mongoDbSettings)).setter(setter(Builder::mongoDbSettings))
.constructor(MongoDbSettings::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("MongoDbSettings").build()).build();
private static final SdkField KINESIS_SETTINGS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("KinesisSettings")
.getter(getter(CreateEndpointRequest::kinesisSettings)).setter(setter(Builder::kinesisSettings))
.constructor(KinesisSettings::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("KinesisSettings").build()).build();
private static final SdkField KAFKA_SETTINGS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("KafkaSettings")
.getter(getter(CreateEndpointRequest::kafkaSettings)).setter(setter(Builder::kafkaSettings))
.constructor(KafkaSettings::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("KafkaSettings").build()).build();
private static final SdkField ELASTICSEARCH_SETTINGS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("ElasticsearchSettings")
.getter(getter(CreateEndpointRequest::elasticsearchSettings)).setter(setter(Builder::elasticsearchSettings))
.constructor(ElasticsearchSettings::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ElasticsearchSettings").build())
.build();
private static final SdkField NEPTUNE_SETTINGS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("NeptuneSettings")
.getter(getter(CreateEndpointRequest::neptuneSettings)).setter(setter(Builder::neptuneSettings))
.constructor(NeptuneSettings::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("NeptuneSettings").build()).build();
private static final SdkField REDSHIFT_SETTINGS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("RedshiftSettings")
.getter(getter(CreateEndpointRequest::redshiftSettings)).setter(setter(Builder::redshiftSettings))
.constructor(RedshiftSettings::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("RedshiftSettings").build()).build();
private static final SdkField POSTGRE_SQL_SETTINGS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("PostgreSQLSettings")
.getter(getter(CreateEndpointRequest::postgreSQLSettings)).setter(setter(Builder::postgreSQLSettings))
.constructor(PostgreSQLSettings::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("PostgreSQLSettings").build())
.build();
private static final SdkField MY_SQL_SETTINGS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("MySQLSettings")
.getter(getter(CreateEndpointRequest::mySQLSettings)).setter(setter(Builder::mySQLSettings))
.constructor(MySQLSettings::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("MySQLSettings").build()).build();
private static final SdkField ORACLE_SETTINGS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("OracleSettings")
.getter(getter(CreateEndpointRequest::oracleSettings)).setter(setter(Builder::oracleSettings))
.constructor(OracleSettings::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("OracleSettings").build()).build();
private static final SdkField SYBASE_SETTINGS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("SybaseSettings")
.getter(getter(CreateEndpointRequest::sybaseSettings)).setter(setter(Builder::sybaseSettings))
.constructor(SybaseSettings::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SybaseSettings").build()).build();
private static final SdkField MICROSOFT_SQL_SERVER_SETTINGS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO)
.memberName("MicrosoftSQLServerSettings")
.getter(getter(CreateEndpointRequest::microsoftSQLServerSettings))
.setter(setter(Builder::microsoftSQLServerSettings))
.constructor(MicrosoftSQLServerSettings::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("MicrosoftSQLServerSettings").build())
.build();
private static final SdkField IBM_DB2_SETTINGS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("IBMDb2Settings")
.getter(getter(CreateEndpointRequest::ibmDb2Settings)).setter(setter(Builder::ibmDb2Settings))
.constructor(IBMDb2Settings::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("IBMDb2Settings").build()).build();
private static final SdkField RESOURCE_IDENTIFIER_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("ResourceIdentifier").getter(getter(CreateEndpointRequest::resourceIdentifier))
.setter(setter(Builder::resourceIdentifier))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ResourceIdentifier").build())
.build();
private static final SdkField DOC_DB_SETTINGS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("DocDbSettings")
.getter(getter(CreateEndpointRequest::docDbSettings)).setter(setter(Builder::docDbSettings))
.constructor(DocDbSettings::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DocDbSettings").build()).build();
private static final SdkField REDIS_SETTINGS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("RedisSettings")
.getter(getter(CreateEndpointRequest::redisSettings)).setter(setter(Builder::redisSettings))
.constructor(RedisSettings::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("RedisSettings").build()).build();
private static final SdkField GCP_MY_SQL_SETTINGS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("GcpMySQLSettings")
.getter(getter(CreateEndpointRequest::gcpMySQLSettings)).setter(setter(Builder::gcpMySQLSettings))
.constructor(GcpMySQLSettings::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("GcpMySQLSettings").build()).build();
private static final SdkField TIMESTREAM_SETTINGS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("TimestreamSettings")
.getter(getter(CreateEndpointRequest::timestreamSettings)).setter(setter(Builder::timestreamSettings))
.constructor(TimestreamSettings::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("TimestreamSettings").build())
.build();
private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(ENDPOINT_IDENTIFIER_FIELD,
ENDPOINT_TYPE_FIELD, ENGINE_NAME_FIELD, USERNAME_FIELD, PASSWORD_FIELD, SERVER_NAME_FIELD, PORT_FIELD,
DATABASE_NAME_FIELD, EXTRA_CONNECTION_ATTRIBUTES_FIELD, KMS_KEY_ID_FIELD, TAGS_FIELD, CERTIFICATE_ARN_FIELD,
SSL_MODE_FIELD, SERVICE_ACCESS_ROLE_ARN_FIELD, EXTERNAL_TABLE_DEFINITION_FIELD, DYNAMO_DB_SETTINGS_FIELD,
S3_SETTINGS_FIELD, DMS_TRANSFER_SETTINGS_FIELD, MONGO_DB_SETTINGS_FIELD, KINESIS_SETTINGS_FIELD,
KAFKA_SETTINGS_FIELD, ELASTICSEARCH_SETTINGS_FIELD, NEPTUNE_SETTINGS_FIELD, REDSHIFT_SETTINGS_FIELD,
POSTGRE_SQL_SETTINGS_FIELD, MY_SQL_SETTINGS_FIELD, ORACLE_SETTINGS_FIELD, SYBASE_SETTINGS_FIELD,
MICROSOFT_SQL_SERVER_SETTINGS_FIELD, IBM_DB2_SETTINGS_FIELD, RESOURCE_IDENTIFIER_FIELD, DOC_DB_SETTINGS_FIELD,
REDIS_SETTINGS_FIELD, GCP_MY_SQL_SETTINGS_FIELD, TIMESTREAM_SETTINGS_FIELD));
private static final Map> SDK_NAME_TO_FIELD = memberNameToFieldInitializer();
private final String endpointIdentifier;
private final String endpointType;
private final String engineName;
private final String username;
private final String password;
private final String serverName;
private final Integer port;
private final String databaseName;
private final String extraConnectionAttributes;
private final String kmsKeyId;
private final List tags;
private final String certificateArn;
private final String sslMode;
private final String serviceAccessRoleArn;
private final String externalTableDefinition;
private final DynamoDbSettings dynamoDbSettings;
private final S3Settings s3Settings;
private final DmsTransferSettings dmsTransferSettings;
private final MongoDbSettings mongoDbSettings;
private final KinesisSettings kinesisSettings;
private final KafkaSettings kafkaSettings;
private final ElasticsearchSettings elasticsearchSettings;
private final NeptuneSettings neptuneSettings;
private final RedshiftSettings redshiftSettings;
private final PostgreSQLSettings postgreSQLSettings;
private final MySQLSettings mySQLSettings;
private final OracleSettings oracleSettings;
private final SybaseSettings sybaseSettings;
private final MicrosoftSQLServerSettings microsoftSQLServerSettings;
private final IBMDb2Settings ibmDb2Settings;
private final String resourceIdentifier;
private final DocDbSettings docDbSettings;
private final RedisSettings redisSettings;
private final GcpMySQLSettings gcpMySQLSettings;
private final TimestreamSettings timestreamSettings;
private CreateEndpointRequest(BuilderImpl builder) {
super(builder);
this.endpointIdentifier = builder.endpointIdentifier;
this.endpointType = builder.endpointType;
this.engineName = builder.engineName;
this.username = builder.username;
this.password = builder.password;
this.serverName = builder.serverName;
this.port = builder.port;
this.databaseName = builder.databaseName;
this.extraConnectionAttributes = builder.extraConnectionAttributes;
this.kmsKeyId = builder.kmsKeyId;
this.tags = builder.tags;
this.certificateArn = builder.certificateArn;
this.sslMode = builder.sslMode;
this.serviceAccessRoleArn = builder.serviceAccessRoleArn;
this.externalTableDefinition = builder.externalTableDefinition;
this.dynamoDbSettings = builder.dynamoDbSettings;
this.s3Settings = builder.s3Settings;
this.dmsTransferSettings = builder.dmsTransferSettings;
this.mongoDbSettings = builder.mongoDbSettings;
this.kinesisSettings = builder.kinesisSettings;
this.kafkaSettings = builder.kafkaSettings;
this.elasticsearchSettings = builder.elasticsearchSettings;
this.neptuneSettings = builder.neptuneSettings;
this.redshiftSettings = builder.redshiftSettings;
this.postgreSQLSettings = builder.postgreSQLSettings;
this.mySQLSettings = builder.mySQLSettings;
this.oracleSettings = builder.oracleSettings;
this.sybaseSettings = builder.sybaseSettings;
this.microsoftSQLServerSettings = builder.microsoftSQLServerSettings;
this.ibmDb2Settings = builder.ibmDb2Settings;
this.resourceIdentifier = builder.resourceIdentifier;
this.docDbSettings = builder.docDbSettings;
this.redisSettings = builder.redisSettings;
this.gcpMySQLSettings = builder.gcpMySQLSettings;
this.timestreamSettings = builder.timestreamSettings;
}
/**
*
* The database endpoint identifier. Identifiers must begin with a letter and must contain only ASCII letters,
* digits, and hyphens. They can't end with a hyphen, or contain two consecutive hyphens.
*
*
* @return The database endpoint identifier. Identifiers must begin with a letter and must contain only ASCII
* letters, digits, and hyphens. They can't end with a hyphen, or contain two consecutive hyphens.
*/
public final String endpointIdentifier() {
return endpointIdentifier;
}
/**
*
* The type of endpoint. Valid values are source
and target
.
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #endpointType} will
* return {@link ReplicationEndpointTypeValue#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is
* available from {@link #endpointTypeAsString}.
*
*
* @return The type of endpoint. Valid values are source
and target
.
* @see ReplicationEndpointTypeValue
*/
public final ReplicationEndpointTypeValue endpointType() {
return ReplicationEndpointTypeValue.fromValue(endpointType);
}
/**
*
* The type of endpoint. Valid values are source
and target
.
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #endpointType} will
* return {@link ReplicationEndpointTypeValue#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is
* available from {@link #endpointTypeAsString}.
*
*
* @return The type of endpoint. Valid values are source
and target
.
* @see ReplicationEndpointTypeValue
*/
public final String endpointTypeAsString() {
return endpointType;
}
/**
*
* The type of engine for the endpoint. Valid values, depending on the EndpointType
value, include
* "mysql"
, "oracle"
, "postgres"
, "mariadb"
,
* "aurora"
, "aurora-postgresql"
, "opensearch"
, "redshift"
,
* "s3"
, "db2"
, "db2-zos"
, "azuredb"
, "sybase"
,
* "dynamodb"
, "mongodb"
, "kinesis"
, "kafka"
,
* "elasticsearch"
, "docdb"
, "sqlserver"
, "neptune"
,
* "babelfish"
, redshift-serverless
, aurora-serverless
,
* aurora-postgresql-serverless
, gcp-mysql
, azure-sql-managed-instance
,
* redis
, dms-transfer
.
*
*
* @return The type of engine for the endpoint. Valid values, depending on the EndpointType
value,
* include "mysql"
, "oracle"
, "postgres"
, "mariadb"
,
* "aurora"
, "aurora-postgresql"
, "opensearch"
,
* "redshift"
, "s3"
, "db2"
, "db2-zos"
,
* "azuredb"
, "sybase"
, "dynamodb"
, "mongodb"
,
* "kinesis"
, "kafka"
, "elasticsearch"
, "docdb"
,
* "sqlserver"
, "neptune"
, "babelfish"
,
* redshift-serverless
, aurora-serverless
,
* aurora-postgresql-serverless
, gcp-mysql
,
* azure-sql-managed-instance
, redis
, dms-transfer
.
*/
public final String engineName() {
return engineName;
}
/**
*
* The user name to be used to log in to the endpoint database.
*
*
* @return The user name to be used to log in to the endpoint database.
*/
public final String username() {
return username;
}
/**
*
* The password to be used to log in to the endpoint database.
*
*
* @return The password to be used to log in to the endpoint database.
*/
public final String password() {
return password;
}
/**
*
* The name of the server where the endpoint database resides.
*
*
* @return The name of the server where the endpoint database resides.
*/
public final String serverName() {
return serverName;
}
/**
*
* The port used by the endpoint database.
*
*
* @return The port used by the endpoint database.
*/
public final Integer port() {
return port;
}
/**
*
* The name of the endpoint database. For a MySQL source or target endpoint, do not specify DatabaseName. To migrate
* to a specific database, use this setting and targetDbType
.
*
*
* @return The name of the endpoint database. For a MySQL source or target endpoint, do not specify DatabaseName. To
* migrate to a specific database, use this setting and targetDbType
.
*/
public final String databaseName() {
return databaseName;
}
/**
*
* Additional attributes associated with the connection. Each attribute is specified as a name-value pair associated
* by an equal sign (=). Multiple attributes are separated by a semicolon (;) with no additional white space. For
* information on the attributes available for connecting your source or target endpoint, see Working with DMS Endpoints in the
* Database Migration Service User Guide.
*
*
* @return Additional attributes associated with the connection. Each attribute is specified as a name-value pair
* associated by an equal sign (=). Multiple attributes are separated by a semicolon (;) with no additional
* white space. For information on the attributes available for connecting your source or target endpoint,
* see Working with DMS
* Endpoints in the Database Migration Service User Guide.
*/
public final String extraConnectionAttributes() {
return extraConnectionAttributes;
}
/**
*
* An KMS key identifier that is used to encrypt the connection parameters for the endpoint.
*
*
* If you don't specify a value for the KmsKeyId
parameter, then DMS uses your default encryption key.
*
*
* KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has
* a different default encryption key for each Amazon Web Services Region.
*
*
* @return An KMS key identifier that is used to encrypt the connection parameters for the endpoint.
*
* If you don't specify a value for the KmsKeyId
parameter, then DMS uses your default
* encryption key.
*
*
* KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services
* account has a different default encryption key for each Amazon Web Services Region.
*/
public final String kmsKeyId() {
return kmsKeyId;
}
/**
* For responses, this returns true if the service returned a value for the Tags 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 hasTags() {
return tags != null && !(tags instanceof SdkAutoConstructList);
}
/**
*
* One or more tags to be assigned to the endpoint.
*
*
* 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 #hasTags} method.
*
*
* @return One or more tags to be assigned to the endpoint.
*/
public final List tags() {
return tags;
}
/**
*
* The Amazon Resource Name (ARN) for the certificate.
*
*
* @return The Amazon Resource Name (ARN) for the certificate.
*/
public final String certificateArn() {
return certificateArn;
}
/**
*
* The Secure Sockets Layer (SSL) mode to use for the SSL connection. The default is none
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #sslMode} will
* return {@link DmsSslModeValue#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #sslModeAsString}.
*
*
* @return The Secure Sockets Layer (SSL) mode to use for the SSL connection. The default is none
* @see DmsSslModeValue
*/
public final DmsSslModeValue sslMode() {
return DmsSslModeValue.fromValue(sslMode);
}
/**
*
* The Secure Sockets Layer (SSL) mode to use for the SSL connection. The default is none
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #sslMode} will
* return {@link DmsSslModeValue#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #sslModeAsString}.
*
*
* @return The Secure Sockets Layer (SSL) mode to use for the SSL connection. The default is none
* @see DmsSslModeValue
*/
public final String sslModeAsString() {
return sslMode;
}
/**
*
* The Amazon Resource Name (ARN) for the service access role that you want to use to create the endpoint. The role
* must allow the iam:PassRole
action.
*
*
* @return The Amazon Resource Name (ARN) for the service access role that you want to use to create the endpoint.
* The role must allow the iam:PassRole
action.
*/
public final String serviceAccessRoleArn() {
return serviceAccessRoleArn;
}
/**
*
* The external table definition.
*
*
* @return The external table definition.
*/
public final String externalTableDefinition() {
return externalTableDefinition;
}
/**
*
* Settings in JSON format for the target Amazon DynamoDB endpoint. For information about other available settings,
* see Using Object Mapping to Migrate Data to DynamoDB in the Database Migration Service User Guide.
*
*
* @return Settings in JSON format for the target Amazon DynamoDB endpoint. For information about other available
* settings, see Using Object Mapping to Migrate Data to DynamoDB in the Database Migration Service User
* Guide.
*/
public final DynamoDbSettings dynamoDbSettings() {
return dynamoDbSettings;
}
/**
*
* Settings in JSON format for the target Amazon S3 endpoint. For more information about the available settings, see
* Extra
* Connection Attributes When Using Amazon S3 as a Target for DMS in the Database Migration Service User
* Guide.
*
*
* @return Settings in JSON format for the target Amazon S3 endpoint. For more information about the available
* settings, see Extra Connection Attributes When Using Amazon S3 as a Target for DMS in the Database Migration
* Service User Guide.
*/
public final S3Settings s3Settings() {
return s3Settings;
}
/**
*
* The settings in JSON format for the DMS transfer type of source endpoint.
*
*
* Possible settings include the following:
*
*
* -
*
* ServiceAccessRoleArn
- The Amazon Resource Name (ARN) used by the service access IAM role. The role
* must allow the iam:PassRole
action.
*
*
* -
*
* BucketName
- The name of the S3 bucket to use.
*
*
*
*
* Shorthand syntax for these settings is as follows: ServiceAccessRoleArn=string,BucketName=string
*
*
* JSON syntax for these settings is as follows:
* { "ServiceAccessRoleArn": "string", "BucketName": "string", }
*
*
* @return The settings in JSON format for the DMS transfer type of source endpoint.
*
* Possible settings include the following:
*
*
* -
*
* ServiceAccessRoleArn
- The Amazon Resource Name (ARN) used by the service access IAM role.
* The role must allow the iam:PassRole
action.
*
*
* -
*
* BucketName
- The name of the S3 bucket to use.
*
*
*
*
* Shorthand syntax for these settings is as follows:
* ServiceAccessRoleArn=string,BucketName=string
*
*
* JSON syntax for these settings is as follows:
* { "ServiceAccessRoleArn": "string", "BucketName": "string", }
*/
public final DmsTransferSettings dmsTransferSettings() {
return dmsTransferSettings;
}
/**
*
* Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see
* Endpoint configuration settings when using MongoDB as a source for Database Migration Service in the
* Database Migration Service User Guide.
*
*
* @return Settings in JSON format for the source MongoDB endpoint. For more information about the available
* settings, see Endpoint configuration settings when using MongoDB as a source for Database Migration Service in the
* Database Migration Service User Guide.
*/
public final MongoDbSettings mongoDbSettings() {
return mongoDbSettings;
}
/**
*
* Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams. For more information about the
* available settings, see Using object mapping to migrate data to a Kinesis data stream in the Database Migration Service User
* Guide.
*
*
* @return Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams. For more information
* about the available settings, see Using object mapping to migrate data to a Kinesis data stream in the Database Migration Service
* User Guide.
*/
public final KinesisSettings kinesisSettings() {
return kinesisSettings;
}
/**
*
* Settings in JSON format for the target Apache Kafka endpoint. For more information about the available settings,
* see Using object mapping to migrate data to a Kafka topic in the Database Migration Service User Guide.
*
*
* @return Settings in JSON format for the target Apache Kafka endpoint. For more information about the available
* settings, see Using object mapping to migrate data to a Kafka topic in the Database Migration Service User
* Guide.
*/
public final KafkaSettings kafkaSettings() {
return kafkaSettings;
}
/**
*
* Settings in JSON format for the target OpenSearch endpoint. For more information about the available settings,
* see Extra Connection Attributes When Using OpenSearch as a Target for DMS in the Database Migration Service
* User Guide.
*
*
* @return Settings in JSON format for the target OpenSearch endpoint. For more information about the available
* settings, see Extra Connection Attributes When Using OpenSearch as a Target for DMS in the Database Migration
* Service User Guide.
*/
public final ElasticsearchSettings elasticsearchSettings() {
return elasticsearchSettings;
}
/**
*
* Settings in JSON format for the target Amazon Neptune endpoint. For more information about the available
* settings, see Specifying graph-mapping rules using Gremlin and R2RML for Amazon Neptune as a target in the Database
* Migration Service User Guide.
*
*
* @return Settings in JSON format for the target Amazon Neptune endpoint. For more information about the available
* settings, see Specifying graph-mapping rules using Gremlin and R2RML for Amazon Neptune as a target in the
* Database Migration Service User Guide.
*/
public final NeptuneSettings neptuneSettings() {
return neptuneSettings;
}
/**
* Returns the value of the RedshiftSettings property for this object.
*
* @return The value of the RedshiftSettings property for this object.
*/
public final RedshiftSettings redshiftSettings() {
return redshiftSettings;
}
/**
*
* Settings in JSON format for the source and target PostgreSQL endpoint. For information about other available
* settings, see Extra connection attributes when using PostgreSQL as a source for DMS and Extra connection attributes when using PostgreSQL as a target for DMS in the Database Migration Service
* User Guide.
*
*
* @return Settings in JSON format for the source and target PostgreSQL endpoint. For information about other
* available settings, see Extra connection attributes when using PostgreSQL as a source for DMS and Extra connection attributes when using PostgreSQL as a target for DMS in the Database Migration
* Service User Guide.
*/
public final PostgreSQLSettings postgreSQLSettings() {
return postgreSQLSettings;
}
/**
*
* Settings in JSON format for the source and target MySQL endpoint. For information about other available settings,
* see Extra connection attributes when using MySQL as a source for DMS and Extra connection attributes when using a MySQL-compatible database as a target for DMS in the Database
* Migration Service User Guide.
*
*
* @return Settings in JSON format for the source and target MySQL endpoint. For information about other available
* settings, see Extra connection attributes when using MySQL as a source for DMS and Extra connection attributes when using a MySQL-compatible database as a target for DMS in the
* Database Migration Service User Guide.
*/
public final MySQLSettings mySQLSettings() {
return mySQLSettings;
}
/**
*
* Settings in JSON format for the source and target Oracle endpoint. For information about other available
* settings, see Extra connection attributes when using Oracle as a source for DMS and
* Extra connection attributes when using Oracle as a target for DMS in the Database Migration Service User
* Guide.
*
*
* @return Settings in JSON format for the source and target Oracle endpoint. For information about other available
* settings, see Extra connection attributes when using Oracle as a source for DMS and Extra connection attributes when using Oracle as a target for DMS in the Database Migration
* Service User Guide.
*/
public final OracleSettings oracleSettings() {
return oracleSettings;
}
/**
*
* Settings in JSON format for the source and target SAP ASE endpoint. For information about other available
* settings, see Extra connection attributes when using SAP ASE as a source for DMS and Extra connection attributes when using SAP ASE as a target for DMS in the Database Migration Service User
* Guide.
*
*
* @return Settings in JSON format for the source and target SAP ASE endpoint. For information about other available
* settings, see Extra connection attributes when using SAP ASE as a source for DMS and Extra connection attributes when using SAP ASE as a target for DMS in the Database Migration
* Service User Guide.
*/
public final SybaseSettings sybaseSettings() {
return sybaseSettings;
}
/**
*
* Settings in JSON format for the source and target Microsoft SQL Server endpoint. For information about other
* available settings, see Extra connection attributes when using SQL Server as a source for DMS and Extra connection attributes when using SQL Server as a target for DMS in the Database Migration Service
* User Guide.
*
*
* @return Settings in JSON format for the source and target Microsoft SQL Server endpoint. For information about
* other available settings, see Extra connection attributes when using SQL Server as a source for DMS and Extra connection attributes when using SQL Server as a target for DMS in the Database Migration
* Service User Guide.
*/
public final MicrosoftSQLServerSettings microsoftSQLServerSettings() {
return microsoftSQLServerSettings;
}
/**
*
* Settings in JSON format for the source IBM Db2 LUW endpoint. For information about other available settings, see
*
* Extra connection attributes when using Db2 LUW as a source for DMS in the Database Migration Service User
* Guide.
*
*
* @return Settings in JSON format for the source IBM Db2 LUW endpoint. For information about other available
* settings, see Extra connection attributes when using Db2 LUW as a source for DMS in the Database Migration
* Service User Guide.
*/
public final IBMDb2Settings ibmDb2Settings() {
return ibmDb2Settings;
}
/**
*
* A friendly name for the resource identifier at the end of the EndpointArn
response parameter that is
* returned in the created Endpoint
object. The value for this parameter can have up to 31 characters.
* It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two
* consecutive hyphens, and can only begin with a letter, such as Example-App-ARN1
. For example, this
* value might result in the EndpointArn
value
* arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1
. If you don't specify a
* ResourceIdentifier
value, DMS generates a default identifier value for the end of
* EndpointArn
.
*
*
* @return A friendly name for the resource identifier at the end of the EndpointArn
response parameter
* that is returned in the created Endpoint
object. The value for this parameter can have up to
* 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a
* hyphen or contain two consecutive hyphens, and can only begin with a letter, such as
* Example-App-ARN1
. For example, this value might result in the EndpointArn
value
* arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1
. If you don't specify a
* ResourceIdentifier
value, DMS generates a default identifier value for the end of
* EndpointArn
.
*/
public final String resourceIdentifier() {
return resourceIdentifier;
}
/**
* Returns the value of the DocDbSettings property for this object.
*
* @return The value of the DocDbSettings property for this object.
*/
public final DocDbSettings docDbSettings() {
return docDbSettings;
}
/**
*
* Settings in JSON format for the target Redis endpoint.
*
*
* @return Settings in JSON format for the target Redis endpoint.
*/
public final RedisSettings redisSettings() {
return redisSettings;
}
/**
*
* Settings in JSON format for the source GCP MySQL endpoint.
*
*
* @return Settings in JSON format for the source GCP MySQL endpoint.
*/
public final GcpMySQLSettings gcpMySQLSettings() {
return gcpMySQLSettings;
}
/**
*
* Settings in JSON format for the target Amazon Timestream endpoint.
*
*
* @return Settings in JSON format for the target Amazon Timestream endpoint.
*/
public final TimestreamSettings timestreamSettings() {
return timestreamSettings;
}
@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 + super.hashCode();
hashCode = 31 * hashCode + Objects.hashCode(endpointIdentifier());
hashCode = 31 * hashCode + Objects.hashCode(endpointTypeAsString());
hashCode = 31 * hashCode + Objects.hashCode(engineName());
hashCode = 31 * hashCode + Objects.hashCode(username());
hashCode = 31 * hashCode + Objects.hashCode(password());
hashCode = 31 * hashCode + Objects.hashCode(serverName());
hashCode = 31 * hashCode + Objects.hashCode(port());
hashCode = 31 * hashCode + Objects.hashCode(databaseName());
hashCode = 31 * hashCode + Objects.hashCode(extraConnectionAttributes());
hashCode = 31 * hashCode + Objects.hashCode(kmsKeyId());
hashCode = 31 * hashCode + Objects.hashCode(hasTags() ? tags() : null);
hashCode = 31 * hashCode + Objects.hashCode(certificateArn());
hashCode = 31 * hashCode + Objects.hashCode(sslModeAsString());
hashCode = 31 * hashCode + Objects.hashCode(serviceAccessRoleArn());
hashCode = 31 * hashCode + Objects.hashCode(externalTableDefinition());
hashCode = 31 * hashCode + Objects.hashCode(dynamoDbSettings());
hashCode = 31 * hashCode + Objects.hashCode(s3Settings());
hashCode = 31 * hashCode + Objects.hashCode(dmsTransferSettings());
hashCode = 31 * hashCode + Objects.hashCode(mongoDbSettings());
hashCode = 31 * hashCode + Objects.hashCode(kinesisSettings());
hashCode = 31 * hashCode + Objects.hashCode(kafkaSettings());
hashCode = 31 * hashCode + Objects.hashCode(elasticsearchSettings());
hashCode = 31 * hashCode + Objects.hashCode(neptuneSettings());
hashCode = 31 * hashCode + Objects.hashCode(redshiftSettings());
hashCode = 31 * hashCode + Objects.hashCode(postgreSQLSettings());
hashCode = 31 * hashCode + Objects.hashCode(mySQLSettings());
hashCode = 31 * hashCode + Objects.hashCode(oracleSettings());
hashCode = 31 * hashCode + Objects.hashCode(sybaseSettings());
hashCode = 31 * hashCode + Objects.hashCode(microsoftSQLServerSettings());
hashCode = 31 * hashCode + Objects.hashCode(ibmDb2Settings());
hashCode = 31 * hashCode + Objects.hashCode(resourceIdentifier());
hashCode = 31 * hashCode + Objects.hashCode(docDbSettings());
hashCode = 31 * hashCode + Objects.hashCode(redisSettings());
hashCode = 31 * hashCode + Objects.hashCode(gcpMySQLSettings());
hashCode = 31 * hashCode + Objects.hashCode(timestreamSettings());
return hashCode;
}
@Override
public final boolean equals(Object obj) {
return super.equals(obj) && equalsBySdkFields(obj);
}
@Override
public final boolean equalsBySdkFields(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof CreateEndpointRequest)) {
return false;
}
CreateEndpointRequest other = (CreateEndpointRequest) obj;
return Objects.equals(endpointIdentifier(), other.endpointIdentifier())
&& Objects.equals(endpointTypeAsString(), other.endpointTypeAsString())
&& Objects.equals(engineName(), other.engineName()) && Objects.equals(username(), other.username())
&& Objects.equals(password(), other.password()) && Objects.equals(serverName(), other.serverName())
&& Objects.equals(port(), other.port()) && Objects.equals(databaseName(), other.databaseName())
&& Objects.equals(extraConnectionAttributes(), other.extraConnectionAttributes())
&& Objects.equals(kmsKeyId(), other.kmsKeyId()) && hasTags() == other.hasTags()
&& Objects.equals(tags(), other.tags()) && Objects.equals(certificateArn(), other.certificateArn())
&& Objects.equals(sslModeAsString(), other.sslModeAsString())
&& Objects.equals(serviceAccessRoleArn(), other.serviceAccessRoleArn())
&& Objects.equals(externalTableDefinition(), other.externalTableDefinition())
&& Objects.equals(dynamoDbSettings(), other.dynamoDbSettings())
&& Objects.equals(s3Settings(), other.s3Settings())
&& Objects.equals(dmsTransferSettings(), other.dmsTransferSettings())
&& Objects.equals(mongoDbSettings(), other.mongoDbSettings())
&& Objects.equals(kinesisSettings(), other.kinesisSettings())
&& Objects.equals(kafkaSettings(), other.kafkaSettings())
&& Objects.equals(elasticsearchSettings(), other.elasticsearchSettings())
&& Objects.equals(neptuneSettings(), other.neptuneSettings())
&& Objects.equals(redshiftSettings(), other.redshiftSettings())
&& Objects.equals(postgreSQLSettings(), other.postgreSQLSettings())
&& Objects.equals(mySQLSettings(), other.mySQLSettings())
&& Objects.equals(oracleSettings(), other.oracleSettings())
&& Objects.equals(sybaseSettings(), other.sybaseSettings())
&& Objects.equals(microsoftSQLServerSettings(), other.microsoftSQLServerSettings())
&& Objects.equals(ibmDb2Settings(), other.ibmDb2Settings())
&& Objects.equals(resourceIdentifier(), other.resourceIdentifier())
&& Objects.equals(docDbSettings(), other.docDbSettings())
&& Objects.equals(redisSettings(), other.redisSettings())
&& Objects.equals(gcpMySQLSettings(), other.gcpMySQLSettings())
&& Objects.equals(timestreamSettings(), other.timestreamSettings());
}
/**
* 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("CreateEndpointRequest").add("EndpointIdentifier", endpointIdentifier())
.add("EndpointType", endpointTypeAsString()).add("EngineName", engineName()).add("Username", username())
.add("Password", password() == null ? null : "*** Sensitive Data Redacted ***").add("ServerName", serverName())
.add("Port", port()).add("DatabaseName", databaseName())
.add("ExtraConnectionAttributes", extraConnectionAttributes()).add("KmsKeyId", kmsKeyId())
.add("Tags", hasTags() ? tags() : null).add("CertificateArn", certificateArn()).add("SslMode", sslModeAsString())
.add("ServiceAccessRoleArn", serviceAccessRoleArn()).add("ExternalTableDefinition", externalTableDefinition())
.add("DynamoDbSettings", dynamoDbSettings()).add("S3Settings", s3Settings())
.add("DmsTransferSettings", dmsTransferSettings()).add("MongoDbSettings", mongoDbSettings())
.add("KinesisSettings", kinesisSettings()).add("KafkaSettings", kafkaSettings())
.add("ElasticsearchSettings", elasticsearchSettings()).add("NeptuneSettings", neptuneSettings())
.add("RedshiftSettings", redshiftSettings()).add("PostgreSQLSettings", postgreSQLSettings())
.add("MySQLSettings", mySQLSettings()).add("OracleSettings", oracleSettings())
.add("SybaseSettings", sybaseSettings()).add("MicrosoftSQLServerSettings", microsoftSQLServerSettings())
.add("IBMDb2Settings", ibmDb2Settings()).add("ResourceIdentifier", resourceIdentifier())
.add("DocDbSettings", docDbSettings()).add("RedisSettings", redisSettings())
.add("GcpMySQLSettings", gcpMySQLSettings()).add("TimestreamSettings", timestreamSettings()).build();
}
public final Optional getValueForField(String fieldName, Class clazz) {
switch (fieldName) {
case "EndpointIdentifier":
return Optional.ofNullable(clazz.cast(endpointIdentifier()));
case "EndpointType":
return Optional.ofNullable(clazz.cast(endpointTypeAsString()));
case "EngineName":
return Optional.ofNullable(clazz.cast(engineName()));
case "Username":
return Optional.ofNullable(clazz.cast(username()));
case "Password":
return Optional.ofNullable(clazz.cast(password()));
case "ServerName":
return Optional.ofNullable(clazz.cast(serverName()));
case "Port":
return Optional.ofNullable(clazz.cast(port()));
case "DatabaseName":
return Optional.ofNullable(clazz.cast(databaseName()));
case "ExtraConnectionAttributes":
return Optional.ofNullable(clazz.cast(extraConnectionAttributes()));
case "KmsKeyId":
return Optional.ofNullable(clazz.cast(kmsKeyId()));
case "Tags":
return Optional.ofNullable(clazz.cast(tags()));
case "CertificateArn":
return Optional.ofNullable(clazz.cast(certificateArn()));
case "SslMode":
return Optional.ofNullable(clazz.cast(sslModeAsString()));
case "ServiceAccessRoleArn":
return Optional.ofNullable(clazz.cast(serviceAccessRoleArn()));
case "ExternalTableDefinition":
return Optional.ofNullable(clazz.cast(externalTableDefinition()));
case "DynamoDbSettings":
return Optional.ofNullable(clazz.cast(dynamoDbSettings()));
case "S3Settings":
return Optional.ofNullable(clazz.cast(s3Settings()));
case "DmsTransferSettings":
return Optional.ofNullable(clazz.cast(dmsTransferSettings()));
case "MongoDbSettings":
return Optional.ofNullable(clazz.cast(mongoDbSettings()));
case "KinesisSettings":
return Optional.ofNullable(clazz.cast(kinesisSettings()));
case "KafkaSettings":
return Optional.ofNullable(clazz.cast(kafkaSettings()));
case "ElasticsearchSettings":
return Optional.ofNullable(clazz.cast(elasticsearchSettings()));
case "NeptuneSettings":
return Optional.ofNullable(clazz.cast(neptuneSettings()));
case "RedshiftSettings":
return Optional.ofNullable(clazz.cast(redshiftSettings()));
case "PostgreSQLSettings":
return Optional.ofNullable(clazz.cast(postgreSQLSettings()));
case "MySQLSettings":
return Optional.ofNullable(clazz.cast(mySQLSettings()));
case "OracleSettings":
return Optional.ofNullable(clazz.cast(oracleSettings()));
case "SybaseSettings":
return Optional.ofNullable(clazz.cast(sybaseSettings()));
case "MicrosoftSQLServerSettings":
return Optional.ofNullable(clazz.cast(microsoftSQLServerSettings()));
case "IBMDb2Settings":
return Optional.ofNullable(clazz.cast(ibmDb2Settings()));
case "ResourceIdentifier":
return Optional.ofNullable(clazz.cast(resourceIdentifier()));
case "DocDbSettings":
return Optional.ofNullable(clazz.cast(docDbSettings()));
case "RedisSettings":
return Optional.ofNullable(clazz.cast(redisSettings()));
case "GcpMySQLSettings":
return Optional.ofNullable(clazz.cast(gcpMySQLSettings()));
case "TimestreamSettings":
return Optional.ofNullable(clazz.cast(timestreamSettings()));
default:
return Optional.empty();
}
}
@Override
public final List> sdkFields() {
return SDK_FIELDS;
}
@Override
public final Map> sdkFieldNameToField() {
return SDK_NAME_TO_FIELD;
}
private static Map> memberNameToFieldInitializer() {
Map> map = new HashMap<>();
map.put("EndpointIdentifier", ENDPOINT_IDENTIFIER_FIELD);
map.put("EndpointType", ENDPOINT_TYPE_FIELD);
map.put("EngineName", ENGINE_NAME_FIELD);
map.put("Username", USERNAME_FIELD);
map.put("Password", PASSWORD_FIELD);
map.put("ServerName", SERVER_NAME_FIELD);
map.put("Port", PORT_FIELD);
map.put("DatabaseName", DATABASE_NAME_FIELD);
map.put("ExtraConnectionAttributes", EXTRA_CONNECTION_ATTRIBUTES_FIELD);
map.put("KmsKeyId", KMS_KEY_ID_FIELD);
map.put("Tags", TAGS_FIELD);
map.put("CertificateArn", CERTIFICATE_ARN_FIELD);
map.put("SslMode", SSL_MODE_FIELD);
map.put("ServiceAccessRoleArn", SERVICE_ACCESS_ROLE_ARN_FIELD);
map.put("ExternalTableDefinition", EXTERNAL_TABLE_DEFINITION_FIELD);
map.put("DynamoDbSettings", DYNAMO_DB_SETTINGS_FIELD);
map.put("S3Settings", S3_SETTINGS_FIELD);
map.put("DmsTransferSettings", DMS_TRANSFER_SETTINGS_FIELD);
map.put("MongoDbSettings", MONGO_DB_SETTINGS_FIELD);
map.put("KinesisSettings", KINESIS_SETTINGS_FIELD);
map.put("KafkaSettings", KAFKA_SETTINGS_FIELD);
map.put("ElasticsearchSettings", ELASTICSEARCH_SETTINGS_FIELD);
map.put("NeptuneSettings", NEPTUNE_SETTINGS_FIELD);
map.put("RedshiftSettings", REDSHIFT_SETTINGS_FIELD);
map.put("PostgreSQLSettings", POSTGRE_SQL_SETTINGS_FIELD);
map.put("MySQLSettings", MY_SQL_SETTINGS_FIELD);
map.put("OracleSettings", ORACLE_SETTINGS_FIELD);
map.put("SybaseSettings", SYBASE_SETTINGS_FIELD);
map.put("MicrosoftSQLServerSettings", MICROSOFT_SQL_SERVER_SETTINGS_FIELD);
map.put("IBMDb2Settings", IBM_DB2_SETTINGS_FIELD);
map.put("ResourceIdentifier", RESOURCE_IDENTIFIER_FIELD);
map.put("DocDbSettings", DOC_DB_SETTINGS_FIELD);
map.put("RedisSettings", REDIS_SETTINGS_FIELD);
map.put("GcpMySQLSettings", GCP_MY_SQL_SETTINGS_FIELD);
map.put("TimestreamSettings", TIMESTREAM_SETTINGS_FIELD);
return Collections.unmodifiableMap(map);
}
private static Function