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

software.amazon.awssdk.services.databasemigration.model.CreateEndpointRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS Database Migration Service module holds the client classes that are used for communicating with AWS Database Migration Service.

The newest version!
/*
 * Copyright 2013-2018 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.List;
import java.util.Objects;
import java.util.Optional;
import java.util.function.Consumer;
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.util.DefaultSdkAutoConstructList;
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 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 DynamoDbSettings dynamoDbSettings; private final S3Settings s3Settings; private final MongoDbSettings mongoDbSettings; 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.dynamoDbSettings = builder.dynamoDbSettings; this.s3Settings = builder.s3Settings; this.mongoDbSettings = builder.mongoDbSettings; } /** *

* The database endpoint identifier. Identifiers must begin with a letter; must contain only ASCII letters, digits, * and hyphens; and must not end with a hyphen or contain two consecutive hyphens. *

* * @return The database endpoint identifier. Identifiers must begin with a letter; must contain only ASCII letters, * digits, and hyphens; and must not end with a hyphen or contain two consecutive hyphens. */ public String endpointIdentifier() { return endpointIdentifier; } /** *

* The type of endpoint. *

*

* 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. * @see ReplicationEndpointTypeValue */ public ReplicationEndpointTypeValue endpointType() { return ReplicationEndpointTypeValue.fromValue(endpointType); } /** *

* The type of endpoint. *

*

* 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. * @see ReplicationEndpointTypeValue */ public String endpointTypeAsString() { return endpointType; } /** *

* The type of engine for the endpoint. Valid values, depending on the EndPointType, include MYSQL, ORACLE, * POSTGRES, MARIADB, AURORA, REDSHIFT, S3, SYBASE, DYNAMODB, MONGODB, and SQLSERVER. *

* * @return The type of engine for the endpoint. Valid values, depending on the EndPointType, include MYSQL, ORACLE, * POSTGRES, MARIADB, AURORA, REDSHIFT, S3, SYBASE, DYNAMODB, MONGODB, and SQLSERVER. */ public String engineName() { return engineName; } /** *

* The user name to be used to login to the endpoint database. *

* * @return The user name to be used to login to the endpoint database. */ public String username() { return username; } /** *

* The password to be used to login to the endpoint database. *

* * @return The password to be used to login to the endpoint database. */ public 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 String serverName() { return serverName; } /** *

* The port used by the endpoint database. *

* * @return The port used by the endpoint database. */ public Integer port() { return port; } /** *

* The name of the endpoint database. *

* * @return The name of the endpoint database. */ public String databaseName() { return databaseName; } /** *

* Additional attributes associated with the connection. *

* * @return Additional attributes associated with the connection. */ public String extraConnectionAttributes() { return extraConnectionAttributes; } /** *

* The KMS key identifier that will be used to encrypt the connection parameters. If you do not specify a value for * the KmsKeyId parameter, then AWS DMS will use 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 The KMS key identifier that will be used to encrypt the connection parameters. If you do not specify a * value for the KmsKeyId parameter, then AWS DMS will use 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 String kmsKeyId() { return kmsKeyId; } /** *

* Tags to be added to the endpoint. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

* * @return Tags to be added to the endpoint. */ public List tags() { return tags; } /** *

* The Amazon Resource Name (ARN) for the certificate. *

* * @return The Amazon Resource Name (ARN) for the certificate. */ public String certificateArn() { return certificateArn; } /** *

* The SSL mode to use for the SSL connection. *

*

* SSL mode can be one of four values: none, require, verify-ca, verify-full. *

*

* 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 to use for the SSL connection.

*

* SSL mode can be one of four values: none, require, verify-ca, verify-full. *

*

* The default value is none. * @see DmsSslModeValue */ public DmsSslModeValue sslMode() { return DmsSslModeValue.fromValue(sslMode); } /** *

* The SSL mode to use for the SSL connection. *

*

* SSL mode can be one of four values: none, require, verify-ca, verify-full. *

*

* 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 to use for the SSL connection.

*

* SSL mode can be one of four values: none, require, verify-ca, verify-full. *

*

* The default value is none. * @see DmsSslModeValue */ public String sslModeAsString() { return sslMode; } /** *

* Settings in JSON format for the target Amazon DynamoDB endpoint. For more information about the available * settings, see the Using Object Mapping to Migrate Data to DynamoDB section at Using an Amazon DynamoDB * Database as a Target for AWS Database Migration Service. *

* * @return Settings in JSON format for the target Amazon DynamoDB endpoint. For more information about the available * settings, see the Using Object Mapping to Migrate Data to DynamoDB section at Using an Amazon * DynamoDB Database as a Target for AWS Database Migration Service. */ public DynamoDbSettings dynamoDbSettings() { return dynamoDbSettings; } /** *

* Settings in JSON format for the target S3 endpoint. For more information about the available settings, see the * Extra Connection Attributes section at Using Amazon S3 as a Target for AWS * Database Migration Service. *

* * @return Settings in JSON format for the target S3 endpoint. For more information about the available settings, * see the Extra Connection Attributes section at Using Amazon S3 as a Target * for AWS Database Migration Service. */ public S3Settings s3Settings() { return s3Settings; } /** *

* Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see * the Configuration Properties When Using MongoDB as a Source for AWS Database Migration Service section at * Using Amazon S3 as a Target * for AWS Database Migration Service. *

* * @return Settings in JSON format for the source MongoDB endpoint. For more information about the available * settings, see the Configuration Properties When Using MongoDB as a Source for AWS Database Migration * Service section at Using Amazon S3 as a * Target for AWS Database Migration Service. */ public MongoDbSettings mongoDbSettings() { return mongoDbSettings; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public 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(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(tags()); hashCode = 31 * hashCode + Objects.hashCode(certificateArn()); hashCode = 31 * hashCode + Objects.hashCode(sslModeAsString()); hashCode = 31 * hashCode + Objects.hashCode(dynamoDbSettings()); hashCode = 31 * hashCode + Objects.hashCode(s3Settings()); hashCode = 31 * hashCode + Objects.hashCode(mongoDbSettings()); return hashCode; } @Override public boolean equals(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()) && Objects.equals(tags(), other.tags()) && Objects.equals(certificateArn(), other.certificateArn()) && Objects.equals(sslModeAsString(), other.sslModeAsString()) && Objects.equals(dynamoDbSettings(), other.dynamoDbSettings()) && Objects.equals(s3Settings(), other.s3Settings()) && Objects.equals(mongoDbSettings(), other.mongoDbSettings()); } @Override public String toString() { return ToString.builder("CreateEndpointRequest").add("EndpointIdentifier", endpointIdentifier()) .add("EndpointType", endpointTypeAsString()).add("EngineName", engineName()).add("Username", username()) .add("Password", password()).add("ServerName", serverName()).add("Port", port()) .add("DatabaseName", databaseName()).add("ExtraConnectionAttributes", extraConnectionAttributes()) .add("KmsKeyId", kmsKeyId()).add("Tags", tags()).add("CertificateArn", certificateArn()) .add("SslMode", sslModeAsString()).add("DynamoDbSettings", dynamoDbSettings()).add("S3Settings", s3Settings()) .add("MongoDbSettings", mongoDbSettings()).build(); } public 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 "DynamoDbSettings": return Optional.ofNullable(clazz.cast(dynamoDbSettings())); case "S3Settings": return Optional.ofNullable(clazz.cast(s3Settings())); case "MongoDbSettings": return Optional.ofNullable(clazz.cast(mongoDbSettings())); default: return Optional.empty(); } } public interface Builder extends DatabaseMigrationRequest.Builder, CopyableBuilder { /** *

* The database endpoint identifier. Identifiers must begin with a letter; must contain only ASCII letters, * digits, and hyphens; and must not end with a hyphen or contain two consecutive hyphens. *

* * @param endpointIdentifier * The database endpoint identifier. Identifiers must begin with a letter; must contain only ASCII * letters, digits, and hyphens; and must not end with a hyphen or contain two consecutive hyphens. * @return Returns a reference to this object so that method calls can be chained together. */ Builder endpointIdentifier(String endpointIdentifier); /** *

* The type of endpoint. *

* * @param endpointType * The type of endpoint. * @see ReplicationEndpointTypeValue * @return Returns a reference to this object so that method calls can be chained together. * @see ReplicationEndpointTypeValue */ Builder endpointType(String endpointType); /** *

* The type of endpoint. *

* * @param endpointType * The type of endpoint. * @see ReplicationEndpointTypeValue * @return Returns a reference to this object so that method calls can be chained together. * @see ReplicationEndpointTypeValue */ Builder endpointType(ReplicationEndpointTypeValue endpointType); /** *

* The type of engine for the endpoint. Valid values, depending on the EndPointType, include MYSQL, ORACLE, * POSTGRES, MARIADB, AURORA, REDSHIFT, S3, SYBASE, DYNAMODB, MONGODB, and SQLSERVER. *

* * @param engineName * The type of engine for the endpoint. Valid values, depending on the EndPointType, include MYSQL, * ORACLE, POSTGRES, MARIADB, AURORA, REDSHIFT, S3, SYBASE, DYNAMODB, MONGODB, and SQLSERVER. * @return Returns a reference to this object so that method calls can be chained together. */ Builder engineName(String engineName); /** *

* The user name to be used to login to the endpoint database. *

* * @param username * The user name to be used to login to the endpoint database. * @return Returns a reference to this object so that method calls can be chained together. */ Builder username(String username); /** *

* The password to be used to login to the endpoint database. *

* * @param password * The password to be used to login to the endpoint database. * @return Returns a reference to this object so that method calls can be chained together. */ Builder password(String password); /** *

* The name of the server where the endpoint database resides. *

* * @param serverName * The name of the server where the endpoint database resides. * @return Returns a reference to this object so that method calls can be chained together. */ Builder serverName(String serverName); /** *

* The port used by the endpoint database. *

* * @param port * The port used by the endpoint database. * @return Returns a reference to this object so that method calls can be chained together. */ Builder port(Integer port); /** *

* The name of the endpoint database. *

* * @param databaseName * The name of the endpoint database. * @return Returns a reference to this object so that method calls can be chained together. */ Builder databaseName(String databaseName); /** *

* Additional attributes associated with the connection. *

* * @param extraConnectionAttributes * Additional attributes associated with the connection. * @return Returns a reference to this object so that method calls can be chained together. */ Builder extraConnectionAttributes(String extraConnectionAttributes); /** *

* The KMS key identifier that will be used to encrypt the connection parameters. If you do not specify a value * for the KmsKeyId parameter, then AWS DMS will use 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. *

* * @param kmsKeyId * The KMS key identifier that will be used to encrypt the connection parameters. If you do not specify a * value for the KmsKeyId parameter, then AWS DMS will use 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 Returns a reference to this object so that method calls can be chained together. */ Builder kmsKeyId(String kmsKeyId); /** *

* Tags to be added to the endpoint. *

* * @param tags * Tags to be added to the endpoint. * @return Returns a reference to this object so that method calls can be chained together. */ Builder tags(Collection tags); /** *

* Tags to be added to the endpoint. *

* * @param tags * Tags to be added to the endpoint. * @return Returns a reference to this object so that method calls can be chained together. */ Builder tags(Tag... tags); /** *

* Tags to be added to the endpoint. *

* This is a convenience that creates an instance of the {@link List.Builder} avoiding the need to create * one manually via {@link List#builder()}. * * When the {@link Consumer} completes, {@link List.Builder#build()} is called immediately and its result * is passed to {@link #tags(List)}. * * @param tags * a consumer that will call methods on {@link List.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #tags(List) */ Builder tags(Consumer... tags); /** *

* The Amazon Resource Name (ARN) for the certificate. *

* * @param certificateArn * The Amazon Resource Name (ARN) for the certificate. * @return Returns a reference to this object so that method calls can be chained together. */ Builder certificateArn(String certificateArn); /** *

* The SSL mode to use for the SSL connection. *

*

* SSL mode can be one of four values: none, require, verify-ca, verify-full. *

*

* The default value is none. *

* * @param sslMode * The SSL mode to use for the SSL connection.

*

* SSL mode can be one of four values: none, require, verify-ca, verify-full. *

*

* The default value is none. * @see DmsSslModeValue * @return Returns a reference to this object so that method calls can be chained together. * @see DmsSslModeValue */ Builder sslMode(String sslMode); /** *

* The SSL mode to use for the SSL connection. *

*

* SSL mode can be one of four values: none, require, verify-ca, verify-full. *

*

* The default value is none. *

* * @param sslMode * The SSL mode to use for the SSL connection.

*

* SSL mode can be one of four values: none, require, verify-ca, verify-full. *

*

* The default value is none. * @see DmsSslModeValue * @return Returns a reference to this object so that method calls can be chained together. * @see DmsSslModeValue */ Builder sslMode(DmsSslModeValue sslMode); /** *

* Settings in JSON format for the target Amazon DynamoDB endpoint. For more information about the available * settings, see the Using Object Mapping to Migrate Data to DynamoDB section at Using an Amazon DynamoDB * Database as a Target for AWS Database Migration Service. *

* * @param dynamoDbSettings * Settings in JSON format for the target Amazon DynamoDB endpoint. For more information about the * available settings, see the Using Object Mapping to Migrate Data to DynamoDB section at Using an Amazon * DynamoDB Database as a Target for AWS Database Migration Service. * @return Returns a reference to this object so that method calls can be chained together. */ Builder dynamoDbSettings(DynamoDbSettings dynamoDbSettings); /** *

* Settings in JSON format for the target Amazon DynamoDB endpoint. For more information about the available * settings, see the Using Object Mapping to Migrate Data to DynamoDB section at Using an Amazon DynamoDB * Database as a Target for AWS Database Migration Service. *

* This is a convenience that creates an instance of the {@link DynamoDbSettings.Builder} avoiding the need to * create one manually via {@link DynamoDbSettings#builder()}. * * When the {@link Consumer} completes, {@link DynamoDbSettings.Builder#build()} is called immediately and its * result is passed to {@link #dynamoDbSettings(DynamoDbSettings)}. * * @param dynamoDbSettings * a consumer that will call methods on {@link DynamoDbSettings.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #dynamoDbSettings(DynamoDbSettings) */ default Builder dynamoDbSettings(Consumer dynamoDbSettings) { return dynamoDbSettings(DynamoDbSettings.builder().applyMutation(dynamoDbSettings).build()); } /** *

* Settings in JSON format for the target S3 endpoint. For more information about the available settings, see * the Extra Connection Attributes section at Using Amazon S3 as a Target for * AWS Database Migration Service. *

* * @param s3Settings * Settings in JSON format for the target S3 endpoint. For more information about the available settings, * see the Extra Connection Attributes section at Using Amazon S3 as a * Target for AWS Database Migration Service. * @return Returns a reference to this object so that method calls can be chained together. */ Builder s3Settings(S3Settings s3Settings); /** *

* Settings in JSON format for the target S3 endpoint. For more information about the available settings, see * the Extra Connection Attributes section at Using Amazon S3 as a Target for * AWS Database Migration Service. *

* This is a convenience that creates an instance of the {@link S3Settings.Builder} avoiding the need to create * one manually via {@link S3Settings#builder()}. * * When the {@link Consumer} completes, {@link S3Settings.Builder#build()} is called immediately and its result * is passed to {@link #s3Settings(S3Settings)}. * * @param s3Settings * a consumer that will call methods on {@link S3Settings.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #s3Settings(S3Settings) */ default Builder s3Settings(Consumer s3Settings) { return s3Settings(S3Settings.builder().applyMutation(s3Settings).build()); } /** *

* Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, * see the Configuration Properties When Using MongoDB as a Source for AWS Database Migration Service * section at Using Amazon * S3 as a Target for AWS Database Migration Service. *

* * @param mongoDbSettings * Settings in JSON format for the source MongoDB endpoint. For more information about the available * settings, see the Configuration Properties When Using MongoDB as a Source for AWS Database * Migration Service section at Using Amazon S3 as a * Target for AWS Database Migration Service. * @return Returns a reference to this object so that method calls can be chained together. */ Builder mongoDbSettings(MongoDbSettings mongoDbSettings); /** *

* Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, * see the Configuration Properties When Using MongoDB as a Source for AWS Database Migration Service * section at Using Amazon * S3 as a Target for AWS Database Migration Service. *

* This is a convenience that creates an instance of the {@link MongoDbSettings.Builder} avoiding the need to * create one manually via {@link MongoDbSettings#builder()}. * * When the {@link Consumer} completes, {@link MongoDbSettings.Builder#build()} is called immediately and its * result is passed to {@link #mongoDbSettings(MongoDbSettings)}. * * @param mongoDbSettings * a consumer that will call methods on {@link MongoDbSettings.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #mongoDbSettings(MongoDbSettings) */ default Builder mongoDbSettings(Consumer mongoDbSettings) { return mongoDbSettings(MongoDbSettings.builder().applyMutation(mongoDbSettings).build()); } @Override Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration); @Override Builder overrideConfiguration(Consumer builderConsumer); } static final class BuilderImpl extends DatabaseMigrationRequest.BuilderImpl implements Builder { private String endpointIdentifier; private String endpointType; private String engineName; private String username; private String password; private String serverName; private Integer port; private String databaseName; private String extraConnectionAttributes; private String kmsKeyId; private List tags = DefaultSdkAutoConstructList.getInstance(); private String certificateArn; private String sslMode; private DynamoDbSettings dynamoDbSettings; private S3Settings s3Settings; private MongoDbSettings mongoDbSettings; private BuilderImpl() { } private BuilderImpl(CreateEndpointRequest model) { super(model); endpointIdentifier(model.endpointIdentifier); endpointType(model.endpointType); engineName(model.engineName); username(model.username); password(model.password); serverName(model.serverName); port(model.port); databaseName(model.databaseName); extraConnectionAttributes(model.extraConnectionAttributes); kmsKeyId(model.kmsKeyId); tags(model.tags); certificateArn(model.certificateArn); sslMode(model.sslMode); dynamoDbSettings(model.dynamoDbSettings); s3Settings(model.s3Settings); mongoDbSettings(model.mongoDbSettings); } public final String getEndpointIdentifier() { return endpointIdentifier; } @Override public final Builder endpointIdentifier(String endpointIdentifier) { this.endpointIdentifier = endpointIdentifier; return this; } public final void setEndpointIdentifier(String endpointIdentifier) { this.endpointIdentifier = endpointIdentifier; } public final String getEndpointType() { return endpointType; } @Override public final Builder endpointType(String endpointType) { this.endpointType = endpointType; return this; } @Override public final Builder endpointType(ReplicationEndpointTypeValue endpointType) { this.endpointType(endpointType.toString()); return this; } public final void setEndpointType(String endpointType) { this.endpointType = endpointType; } public final String getEngineName() { return engineName; } @Override public final Builder engineName(String engineName) { this.engineName = engineName; return this; } public final void setEngineName(String engineName) { this.engineName = engineName; } public final String getUsername() { return username; } @Override public final Builder username(String username) { this.username = username; return this; } public final void setUsername(String username) { this.username = username; } public final String getPassword() { return password; } @Override public final Builder password(String password) { this.password = password; return this; } public final void setPassword(String password) { this.password = password; } public final String getServerName() { return serverName; } @Override public final Builder serverName(String serverName) { this.serverName = serverName; return this; } public final void setServerName(String serverName) { this.serverName = serverName; } public final Integer getPort() { return port; } @Override public final Builder port(Integer port) { this.port = port; return this; } public final void setPort(Integer port) { this.port = port; } public final String getDatabaseName() { return databaseName; } @Override public final Builder databaseName(String databaseName) { this.databaseName = databaseName; return this; } public final void setDatabaseName(String databaseName) { this.databaseName = databaseName; } public final String getExtraConnectionAttributes() { return extraConnectionAttributes; } @Override public final Builder extraConnectionAttributes(String extraConnectionAttributes) { this.extraConnectionAttributes = extraConnectionAttributes; return this; } public final void setExtraConnectionAttributes(String extraConnectionAttributes) { this.extraConnectionAttributes = extraConnectionAttributes; } public final String getKmsKeyId() { return kmsKeyId; } @Override public final Builder kmsKeyId(String kmsKeyId) { this.kmsKeyId = kmsKeyId; return this; } public final void setKmsKeyId(String kmsKeyId) { this.kmsKeyId = kmsKeyId; } public final Collection getTags() { return tags != null ? tags.stream().map(Tag::toBuilder).collect(Collectors.toList()) : null; } @Override public final Builder tags(Collection tags) { this.tags = TagListCopier.copy(tags); return this; } @Override @SafeVarargs public final Builder tags(Tag... tags) { tags(Arrays.asList(tags)); return this; } @Override @SafeVarargs public final Builder tags(Consumer... tags) { tags(Stream.of(tags).map(c -> Tag.builder().applyMutation(c).build()).collect(Collectors.toList())); return this; } public final void setTags(Collection tags) { this.tags = TagListCopier.copyFromBuilder(tags); } public final String getCertificateArn() { return certificateArn; } @Override public final Builder certificateArn(String certificateArn) { this.certificateArn = certificateArn; return this; } public final void setCertificateArn(String certificateArn) { this.certificateArn = certificateArn; } public final String getSslMode() { return sslMode; } @Override public final Builder sslMode(String sslMode) { this.sslMode = sslMode; return this; } @Override public final Builder sslMode(DmsSslModeValue sslMode) { this.sslMode(sslMode.toString()); return this; } public final void setSslMode(String sslMode) { this.sslMode = sslMode; } public final DynamoDbSettings.Builder getDynamoDbSettings() { return dynamoDbSettings != null ? dynamoDbSettings.toBuilder() : null; } @Override public final Builder dynamoDbSettings(DynamoDbSettings dynamoDbSettings) { this.dynamoDbSettings = dynamoDbSettings; return this; } public final void setDynamoDbSettings(DynamoDbSettings.BuilderImpl dynamoDbSettings) { this.dynamoDbSettings = dynamoDbSettings != null ? dynamoDbSettings.build() : null; } public final S3Settings.Builder getS3Settings() { return s3Settings != null ? s3Settings.toBuilder() : null; } @Override public final Builder s3Settings(S3Settings s3Settings) { this.s3Settings = s3Settings; return this; } public final void setS3Settings(S3Settings.BuilderImpl s3Settings) { this.s3Settings = s3Settings != null ? s3Settings.build() : null; } public final MongoDbSettings.Builder getMongoDbSettings() { return mongoDbSettings != null ? mongoDbSettings.toBuilder() : null; } @Override public final Builder mongoDbSettings(MongoDbSettings mongoDbSettings) { this.mongoDbSettings = mongoDbSettings; return this; } public final void setMongoDbSettings(MongoDbSettings.BuilderImpl mongoDbSettings) { this.mongoDbSettings = mongoDbSettings != null ? mongoDbSettings.build() : null; } @Override public Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration) { super.overrideConfiguration(overrideConfiguration); return this; } @Override public Builder overrideConfiguration(Consumer builderConsumer) { super.overrideConfiguration(builderConsumer); return this; } @Override public CreateEndpointRequest build() { return new CreateEndpointRequest(this); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy