software.amazon.awssdk.services.databasemigration.model.Endpoint Maven / Gradle / Ivy
Show all versions of databasemigration Show documentation
/*
* 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.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
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.LocationTrait;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;
/**
*
* Describes an endpoint of a database instance in response to operations such as the following:
*
*
* -
*
* CreateEndpoint
*
*
* -
*
* DescribeEndpoint
*
*
* -
*
* DescribeEndpointTypes
*
*
* -
*
* ModifyEndpoint
*
*
*
*/
@Generated("software.amazon.awssdk:codegen")
public final class Endpoint implements SdkPojo, Serializable, ToCopyableBuilder {
private static final SdkField ENDPOINT_IDENTIFIER_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("EndpointIdentifier").getter(getter(Endpoint::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(Endpoint::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(Endpoint::engineName)).setter(setter(Builder::engineName))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EngineName").build()).build();
private static final SdkField ENGINE_DISPLAY_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("EngineDisplayName").getter(getter(Endpoint::engineDisplayName))
.setter(setter(Builder::engineDisplayName))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EngineDisplayName").build()).build();
private static final SdkField USERNAME_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("Username").getter(getter(Endpoint::username)).setter(setter(Builder::username))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Username").build()).build();
private static final SdkField SERVER_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("ServerName").getter(getter(Endpoint::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(Endpoint::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(Endpoint::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(Endpoint::extraConnectionAttributes))
.setter(setter(Builder::extraConnectionAttributes))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ExtraConnectionAttributes").build())
.build();
private static final SdkField STATUS_FIELD = SdkField. builder(MarshallingType.STRING).memberName("Status")
.getter(getter(Endpoint::status)).setter(setter(Builder::status))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Status").build()).build();
private static final SdkField KMS_KEY_ID_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("KmsKeyId").getter(getter(Endpoint::kmsKeyId)).setter(setter(Builder::kmsKeyId))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("KmsKeyId").build()).build();
private static final SdkField ENDPOINT_ARN_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("EndpointArn").getter(getter(Endpoint::endpointArn)).setter(setter(Builder::endpointArn))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EndpointArn").build()).build();
private static final SdkField CERTIFICATE_ARN_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("CertificateArn").getter(getter(Endpoint::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(Endpoint::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(Endpoint::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(Endpoint::externalTableDefinition))
.setter(setter(Builder::externalTableDefinition))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ExternalTableDefinition").build())
.build();
private static final SdkField EXTERNAL_ID_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("ExternalId").getter(getter(Endpoint::externalId)).setter(setter(Builder::externalId))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ExternalId").build()).build();
private static final SdkField DYNAMO_DB_SETTINGS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("DynamoDbSettings")
.getter(getter(Endpoint::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(Endpoint::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(Endpoint::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(Endpoint::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(Endpoint::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(Endpoint::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(Endpoint::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(Endpoint::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(Endpoint::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(Endpoint::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(Endpoint::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(Endpoint::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(Endpoint::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(Endpoint::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(Endpoint::ibmDb2Settings)).setter(setter(Builder::ibmDb2Settings))
.constructor(IBMDb2Settings::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("IBMDb2Settings").build()).build();
private static final SdkField DOC_DB_SETTINGS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("DocDbSettings")
.getter(getter(Endpoint::docDbSettings)).setter(setter(Builder::docDbSettings)).constructor(DocDbSettings::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DocDbSettings").build()).build();
private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(ENDPOINT_IDENTIFIER_FIELD,
ENDPOINT_TYPE_FIELD, ENGINE_NAME_FIELD, ENGINE_DISPLAY_NAME_FIELD, USERNAME_FIELD, SERVER_NAME_FIELD, PORT_FIELD,
DATABASE_NAME_FIELD, EXTRA_CONNECTION_ATTRIBUTES_FIELD, STATUS_FIELD, KMS_KEY_ID_FIELD, ENDPOINT_ARN_FIELD,
CERTIFICATE_ARN_FIELD, SSL_MODE_FIELD, SERVICE_ACCESS_ROLE_ARN_FIELD, EXTERNAL_TABLE_DEFINITION_FIELD,
EXTERNAL_ID_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, DOC_DB_SETTINGS_FIELD));
private static final long serialVersionUID = 1L;
private final String endpointIdentifier;
private final String endpointType;
private final String engineName;
private final String engineDisplayName;
private final String username;
private final String serverName;
private final Integer port;
private final String databaseName;
private final String extraConnectionAttributes;
private final String status;
private final String kmsKeyId;
private final String endpointArn;
private final String certificateArn;
private final String sslMode;
private final String serviceAccessRoleArn;
private final String externalTableDefinition;
private final String externalId;
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 DocDbSettings docDbSettings;
private Endpoint(BuilderImpl builder) {
this.endpointIdentifier = builder.endpointIdentifier;
this.endpointType = builder.endpointType;
this.engineName = builder.engineName;
this.engineDisplayName = builder.engineDisplayName;
this.username = builder.username;
this.serverName = builder.serverName;
this.port = builder.port;
this.databaseName = builder.databaseName;
this.extraConnectionAttributes = builder.extraConnectionAttributes;
this.status = builder.status;
this.kmsKeyId = builder.kmsKeyId;
this.endpointArn = builder.endpointArn;
this.certificateArn = builder.certificateArn;
this.sslMode = builder.sslMode;
this.serviceAccessRoleArn = builder.serviceAccessRoleArn;
this.externalTableDefinition = builder.externalTableDefinition;
this.externalId = builder.externalId;
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.docDbSettings = builder.docDbSettings;
}
/**
*
* 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 database engine name. Valid values, depending on the EndpointType, include "mysql"
,
* "oracle"
, "postgres"
, "mariadb"
, "aurora"
,
* "aurora-postgresql"
, "redshift"
, "s3"
, "db2"
,
* "azuredb"
, "sybase"
, "dynamodb"
, "mongodb"
,
* "kinesis"
, "kafka"
, "elasticsearch"
, "documentdb"
,
* "sqlserver"
, and "neptune"
.
*
*
* @return The database engine name. Valid values, depending on the EndpointType, include "mysql"
,
* "oracle"
, "postgres"
, "mariadb"
, "aurora"
,
* "aurora-postgresql"
, "redshift"
, "s3"
, "db2"
,
* "azuredb"
, "sybase"
, "dynamodb"
, "mongodb"
,
* "kinesis"
, "kafka"
, "elasticsearch"
, "documentdb"
,
* "sqlserver"
, and "neptune"
.
*/
public final String engineName() {
return engineName;
}
/**
*
* The expanded name for the engine name. For example, if the EngineName
parameter is "aurora," this
* value would be "Amazon Aurora MySQL."
*
*
* @return The expanded name for the engine name. For example, if the EngineName
parameter is "aurora,"
* this value would be "Amazon Aurora MySQL."
*/
public final String engineDisplayName() {
return engineDisplayName;
}
/**
*
* The user name used to connect to the endpoint.
*
*
* @return The user name used to connect to the endpoint.
*/
public final String username() {
return username;
}
/**
*
* The name of the server at the endpoint.
*
*
* @return The name of the server at the endpoint.
*/
public final String serverName() {
return serverName;
}
/**
*
* The port value used to access the endpoint.
*
*
* @return The port value used to access the endpoint.
*/
public final Integer port() {
return port;
}
/**
*
* The name of the database at the endpoint.
*
*
* @return The name of the database at the endpoint.
*/
public final String databaseName() {
return databaseName;
}
/**
*
* Additional connection attributes used to connect to the endpoint.
*
*
* @return Additional connection attributes used to connect to the endpoint.
*/
public final String extraConnectionAttributes() {
return extraConnectionAttributes;
}
/**
*
* The status of the endpoint.
*
*
* @return The status of the endpoint.
*/
public final String status() {
return status;
}
/**
*
* An AWS 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 AWS DMS uses your default encryption
* key.
*
*
* AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default
* encryption key for each AWS Region.
*
*
* @return An AWS 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 AWS DMS uses your default
* encryption key.
*
*
* AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default
* encryption key for each AWS Region.
*/
public final String kmsKeyId() {
return kmsKeyId;
}
/**
*
* The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.
*
*
* @return The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.
*/
public final String endpointArn() {
return endpointArn;
}
/**
*
* The Amazon Resource Name (ARN) used for SSL connection to the endpoint.
*
*
* @return The Amazon Resource Name (ARN) used for SSL connection to the endpoint.
*/
public final String certificateArn() {
return certificateArn;
}
/**
*
* The SSL mode used to connect to the endpoint. The default value 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 SSL mode used to connect to the endpoint. The default value is none
.
* @see DmsSslModeValue
*/
public final DmsSslModeValue sslMode() {
return DmsSslModeValue.fromValue(sslMode);
}
/**
*
* The SSL mode used to connect to the endpoint. The default value 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 SSL mode used to connect to the endpoint. The default value is none
.
* @see DmsSslModeValue
*/
public final String sslModeAsString() {
return sslMode;
}
/**
*
* The Amazon Resource Name (ARN) used by the service access IAM role.
*
*
* @return The Amazon Resource Name (ARN) used by the service access IAM role.
*/
public final String serviceAccessRoleArn() {
return serviceAccessRoleArn;
}
/**
*
* The external table definition.
*
*
* @return The external table definition.
*/
public final String externalTableDefinition() {
return externalTableDefinition;
}
/**
*
* Value returned by a call to CreateEndpoint that can be used for cross-account validation. Use it on a subsequent
* call to CreateEndpoint to create the endpoint with a cross-account.
*
*
* @return Value returned by a call to CreateEndpoint that can be used for cross-account validation. Use it on a
* subsequent call to CreateEndpoint to create the endpoint with a cross-account.
*/
public final String externalId() {
return externalId;
}
/**
*
* The settings for the DynamoDB target endpoint. For more information, see the DynamoDBSettings
* structure.
*
*
* @return The settings for the DynamoDB target endpoint. For more information, see the
* DynamoDBSettings
structure.
*/
public final DynamoDbSettings dynamoDbSettings() {
return dynamoDbSettings;
}
/**
*
* The settings for the S3 target endpoint. For more information, see the S3Settings
structure.
*
*
* @return The settings for the S3 target endpoint. For more information, see the S3Settings
structure.
*/
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 IAM role that has permission to access the Amazon S3 bucket.
*
*
* -
*
* BucketName
- The name of the S3 bucket to use.
*
*
* -
*
* CompressionType
- An optional parameter to use GZIP to compress the target files. To use GZIP, set
* this value to NONE
(the default). To keep the files uncompressed, don't use this value.
*
*
*
*
* Shorthand syntax for these settings is as follows:
* ServiceAccessRoleArn=string,BucketName=string,CompressionType=string
*
*
* JSON syntax for these settings is as follows:
* { "ServiceAccessRoleArn": "string", "BucketName": "string", "CompressionType": "none"|"gzip" }
*
*
* @return The settings in JSON format for the DMS transfer type of source endpoint.
*
* Possible settings include the following:
*
*
* -
*
* ServiceAccessRoleArn
- The IAM role that has permission to access the Amazon S3 bucket.
*
*
* -
*
* BucketName
- The name of the S3 bucket to use.
*
*
* -
*
* CompressionType
- An optional parameter to use GZIP to compress the target files. To use
* GZIP, set this value to NONE
(the default). To keep the files uncompressed, don't use this
* value.
*
*
*
*
* Shorthand syntax for these settings is as follows:
* ServiceAccessRoleArn=string,BucketName=string,CompressionType=string
*
*
* JSON syntax for these settings is as follows:
* { "ServiceAccessRoleArn": "string", "BucketName": "string", "CompressionType": "none"|"gzip" }
*/
public final DmsTransferSettings dmsTransferSettings() {
return dmsTransferSettings;
}
/**
*
* The settings for the MongoDB source endpoint. For more information, see the MongoDbSettings
* structure.
*
*
* @return The settings for the MongoDB source endpoint. For more information, see the MongoDbSettings
* structure.
*/
public final MongoDbSettings mongoDbSettings() {
return mongoDbSettings;
}
/**
*
* The settings for the Amazon Kinesis target endpoint. For more information, see the KinesisSettings
* structure.
*
*
* @return The settings for the Amazon Kinesis target endpoint. For more information, see the
* KinesisSettings
structure.
*/
public final KinesisSettings kinesisSettings() {
return kinesisSettings;
}
/**
*
* The settings for the Apache Kafka target endpoint. For more information, see the KafkaSettings
* structure.
*
*
* @return The settings for the Apache Kafka target endpoint. For more information, see the
* KafkaSettings
structure.
*/
public final KafkaSettings kafkaSettings() {
return kafkaSettings;
}
/**
*
* The settings for the Elasticsearch source endpoint. For more information, see the
* ElasticsearchSettings
structure.
*
*
* @return The settings for the Elasticsearch source endpoint. For more information, see the
* ElasticsearchSettings
structure.
*/
public final ElasticsearchSettings elasticsearchSettings() {
return elasticsearchSettings;
}
/**
*
* The settings for the Amazon Neptune target endpoint. For more information, see the NeptuneSettings
* structure.
*
*
* @return The settings for the Amazon Neptune target endpoint. For more information, see the
* NeptuneSettings
structure.
*/
public final NeptuneSettings neptuneSettings() {
return neptuneSettings;
}
/**
*
* Settings for the Amazon Redshift endpoint.
*
*
* @return Settings for the Amazon Redshift endpoint.
*/
public final RedshiftSettings redshiftSettings() {
return redshiftSettings;
}
/**
*
* The settings for the PostgreSQL source and target endpoint. For more information, see the
* PostgreSQLSettings
structure.
*
*
* @return The settings for the PostgreSQL source and target endpoint. For more information, see the
* PostgreSQLSettings
structure.
*/
public final PostgreSQLSettings postgreSQLSettings() {
return postgreSQLSettings;
}
/**
*
* The settings for the MySQL source and target endpoint. For more information, see the MySQLSettings
* structure.
*
*
* @return The settings for the MySQL source and target endpoint. For more information, see the
* MySQLSettings
structure.
*/
public final MySQLSettings mySQLSettings() {
return mySQLSettings;
}
/**
*
* The settings for the Oracle source and target endpoint. For more information, see the OracleSettings
* structure.
*
*
* @return The settings for the Oracle source and target endpoint. For more information, see the
* OracleSettings
structure.
*/
public final OracleSettings oracleSettings() {
return oracleSettings;
}
/**
*
* The settings for the SAP ASE source and target endpoint. For more information, see the
* SybaseSettings
structure.
*
*
* @return The settings for the SAP ASE source and target endpoint. For more information, see the
* SybaseSettings
structure.
*/
public final SybaseSettings sybaseSettings() {
return sybaseSettings;
}
/**
*
* The settings for the Microsoft SQL Server source and target endpoint. For more information, see the
* MicrosoftSQLServerSettings
structure.
*
*
* @return The settings for the Microsoft SQL Server source and target endpoint. For more information, see the
* MicrosoftSQLServerSettings
structure.
*/
public final MicrosoftSQLServerSettings microsoftSQLServerSettings() {
return microsoftSQLServerSettings;
}
/**
*
* The settings for the IBM Db2 LUW source endpoint. For more information, see the IBMDb2Settings
* structure.
*
*
* @return The settings for the IBM Db2 LUW source endpoint. For more information, see the
* IBMDb2Settings
structure.
*/
public final IBMDb2Settings ibmDb2Settings() {
return ibmDb2Settings;
}
/**
* 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;
}
@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(endpointIdentifier());
hashCode = 31 * hashCode + Objects.hashCode(endpointTypeAsString());
hashCode = 31 * hashCode + Objects.hashCode(engineName());
hashCode = 31 * hashCode + Objects.hashCode(engineDisplayName());
hashCode = 31 * hashCode + Objects.hashCode(username());
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(status());
hashCode = 31 * hashCode + Objects.hashCode(kmsKeyId());
hashCode = 31 * hashCode + Objects.hashCode(endpointArn());
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(externalId());
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(docDbSettings());
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 Endpoint)) {
return false;
}
Endpoint other = (Endpoint) obj;
return Objects.equals(endpointIdentifier(), other.endpointIdentifier())
&& Objects.equals(endpointTypeAsString(), other.endpointTypeAsString())
&& Objects.equals(engineName(), other.engineName())
&& Objects.equals(engineDisplayName(), other.engineDisplayName()) && Objects.equals(username(), other.username())
&& Objects.equals(serverName(), other.serverName()) && Objects.equals(port(), other.port())
&& Objects.equals(databaseName(), other.databaseName())
&& Objects.equals(extraConnectionAttributes(), other.extraConnectionAttributes())
&& Objects.equals(status(), other.status()) && Objects.equals(kmsKeyId(), other.kmsKeyId())
&& Objects.equals(endpointArn(), other.endpointArn()) && Objects.equals(certificateArn(), other.certificateArn())
&& Objects.equals(sslModeAsString(), other.sslModeAsString())
&& Objects.equals(serviceAccessRoleArn(), other.serviceAccessRoleArn())
&& Objects.equals(externalTableDefinition(), other.externalTableDefinition())
&& Objects.equals(externalId(), other.externalId())
&& 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(docDbSettings(), other.docDbSettings());
}
/**
* 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("Endpoint").add("EndpointIdentifier", endpointIdentifier())
.add("EndpointType", endpointTypeAsString()).add("EngineName", engineName())
.add("EngineDisplayName", engineDisplayName()).add("Username", username()).add("ServerName", serverName())
.add("Port", port()).add("DatabaseName", databaseName())
.add("ExtraConnectionAttributes", extraConnectionAttributes()).add("Status", status())
.add("KmsKeyId", kmsKeyId()).add("EndpointArn", endpointArn()).add("CertificateArn", certificateArn())
.add("SslMode", sslModeAsString()).add("ServiceAccessRoleArn", serviceAccessRoleArn())
.add("ExternalTableDefinition", externalTableDefinition()).add("ExternalId", externalId())
.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("DocDbSettings", docDbSettings()).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 "EngineDisplayName":
return Optional.ofNullable(clazz.cast(engineDisplayName()));
case "Username":
return Optional.ofNullable(clazz.cast(username()));
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 "Status":
return Optional.ofNullable(clazz.cast(status()));
case "KmsKeyId":
return Optional.ofNullable(clazz.cast(kmsKeyId()));
case "EndpointArn":
return Optional.ofNullable(clazz.cast(endpointArn()));
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 "ExternalId":
return Optional.ofNullable(clazz.cast(externalId()));
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 "DocDbSettings":
return Optional.ofNullable(clazz.cast(docDbSettings()));
default:
return Optional.empty();
}
}
@Override
public final List> sdkFields() {
return SDK_FIELDS;
}
private static Function