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

software.amazon.awssdk.services.securityhub.model.AwsDmsReplicationInstanceDetails 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.securityhub.model;

import java.io.Serializable;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.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.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.ListTrait;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructList;
import software.amazon.awssdk.core.util.SdkAutoConstructList;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 * 

* Provides details about an Database Migration Service (DMS) replication instance. DMS uses a replication instance to * connect to your source data store, read the source data, and format the data for consumption by the target data * store. *

*/ @Generated("software.amazon.awssdk:codegen") public final class AwsDmsReplicationInstanceDetails implements SdkPojo, Serializable, ToCopyableBuilder { private static final SdkField ALLOCATED_STORAGE_FIELD = SdkField. builder(MarshallingType.INTEGER) .memberName("AllocatedStorage").getter(getter(AwsDmsReplicationInstanceDetails::allocatedStorage)) .setter(setter(Builder::allocatedStorage)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AllocatedStorage").build()).build(); private static final SdkField AUTO_MINOR_VERSION_UPGRADE_FIELD = SdkField. builder(MarshallingType.BOOLEAN) .memberName("AutoMinorVersionUpgrade").getter(getter(AwsDmsReplicationInstanceDetails::autoMinorVersionUpgrade)) .setter(setter(Builder::autoMinorVersionUpgrade)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AutoMinorVersionUpgrade").build()) .build(); private static final SdkField AVAILABILITY_ZONE_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("AvailabilityZone").getter(getter(AwsDmsReplicationInstanceDetails::availabilityZone)) .setter(setter(Builder::availabilityZone)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AvailabilityZone").build()).build(); private static final SdkField ENGINE_VERSION_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("EngineVersion").getter(getter(AwsDmsReplicationInstanceDetails::engineVersion)) .setter(setter(Builder::engineVersion)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EngineVersion").build()).build(); private static final SdkField KMS_KEY_ID_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("KmsKeyId").getter(getter(AwsDmsReplicationInstanceDetails::kmsKeyId)).setter(setter(Builder::kmsKeyId)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("KmsKeyId").build()).build(); private static final SdkField MULTI_AZ_FIELD = SdkField. builder(MarshallingType.BOOLEAN) .memberName("MultiAZ").getter(getter(AwsDmsReplicationInstanceDetails::multiAZ)).setter(setter(Builder::multiAZ)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("MultiAZ").build()).build(); private static final SdkField PREFERRED_MAINTENANCE_WINDOW_FIELD = SdkField . builder(MarshallingType.STRING) .memberName("PreferredMaintenanceWindow") .getter(getter(AwsDmsReplicationInstanceDetails::preferredMaintenanceWindow)) .setter(setter(Builder::preferredMaintenanceWindow)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("PreferredMaintenanceWindow").build()) .build(); private static final SdkField PUBLICLY_ACCESSIBLE_FIELD = SdkField. builder(MarshallingType.BOOLEAN) .memberName("PubliclyAccessible").getter(getter(AwsDmsReplicationInstanceDetails::publiclyAccessible)) .setter(setter(Builder::publiclyAccessible)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("PubliclyAccessible").build()) .build(); private static final SdkField REPLICATION_INSTANCE_CLASS_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("ReplicationInstanceClass").getter(getter(AwsDmsReplicationInstanceDetails::replicationInstanceClass)) .setter(setter(Builder::replicationInstanceClass)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ReplicationInstanceClass").build()) .build(); private static final SdkField REPLICATION_INSTANCE_IDENTIFIER_FIELD = SdkField . builder(MarshallingType.STRING) .memberName("ReplicationInstanceIdentifier") .getter(getter(AwsDmsReplicationInstanceDetails::replicationInstanceIdentifier)) .setter(setter(Builder::replicationInstanceIdentifier)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ReplicationInstanceIdentifier") .build()).build(); private static final SdkField REPLICATION_SUBNET_GROUP_FIELD = SdkField . builder(MarshallingType.SDK_POJO) .memberName("ReplicationSubnetGroup").getter(getter(AwsDmsReplicationInstanceDetails::replicationSubnetGroup)) .setter(setter(Builder::replicationSubnetGroup)) .constructor(AwsDmsReplicationInstanceReplicationSubnetGroupDetails::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ReplicationSubnetGroup").build()) .build(); private static final SdkField> VPC_SECURITY_GROUPS_FIELD = SdkField .> builder(MarshallingType.LIST) .memberName("VpcSecurityGroups") .getter(getter(AwsDmsReplicationInstanceDetails::vpcSecurityGroups)) .setter(setter(Builder::vpcSecurityGroups)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("VpcSecurityGroups").build(), ListTrait .builder() .memberLocationName(null) .memberFieldInfo( SdkField. builder(MarshallingType.SDK_POJO) .constructor(AwsDmsReplicationInstanceVpcSecurityGroupsDetails::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("member").build()).build()).build()).build(); private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(ALLOCATED_STORAGE_FIELD, AUTO_MINOR_VERSION_UPGRADE_FIELD, AVAILABILITY_ZONE_FIELD, ENGINE_VERSION_FIELD, KMS_KEY_ID_FIELD, MULTI_AZ_FIELD, PREFERRED_MAINTENANCE_WINDOW_FIELD, PUBLICLY_ACCESSIBLE_FIELD, REPLICATION_INSTANCE_CLASS_FIELD, REPLICATION_INSTANCE_IDENTIFIER_FIELD, REPLICATION_SUBNET_GROUP_FIELD, VPC_SECURITY_GROUPS_FIELD)); private static final long serialVersionUID = 1L; private final Integer allocatedStorage; private final Boolean autoMinorVersionUpgrade; private final String availabilityZone; private final String engineVersion; private final String kmsKeyId; private final Boolean multiAZ; private final String preferredMaintenanceWindow; private final Boolean publiclyAccessible; private final String replicationInstanceClass; private final String replicationInstanceIdentifier; private final AwsDmsReplicationInstanceReplicationSubnetGroupDetails replicationSubnetGroup; private final List vpcSecurityGroups; private AwsDmsReplicationInstanceDetails(BuilderImpl builder) { this.allocatedStorage = builder.allocatedStorage; this.autoMinorVersionUpgrade = builder.autoMinorVersionUpgrade; this.availabilityZone = builder.availabilityZone; this.engineVersion = builder.engineVersion; this.kmsKeyId = builder.kmsKeyId; this.multiAZ = builder.multiAZ; this.preferredMaintenanceWindow = builder.preferredMaintenanceWindow; this.publiclyAccessible = builder.publiclyAccessible; this.replicationInstanceClass = builder.replicationInstanceClass; this.replicationInstanceIdentifier = builder.replicationInstanceIdentifier; this.replicationSubnetGroup = builder.replicationSubnetGroup; this.vpcSecurityGroups = builder.vpcSecurityGroups; } /** *

* The amount of storage (in gigabytes) that is allocated for the replication instance. *

* * @return The amount of storage (in gigabytes) that is allocated for the replication instance. */ public final Integer allocatedStorage() { return allocatedStorage; } /** *

* Indicates whether minor engine upgrades are applied automatically to the replication instance during the * maintenance window. *

* * @return Indicates whether minor engine upgrades are applied automatically to the replication instance during the * maintenance window. */ public final Boolean autoMinorVersionUpgrade() { return autoMinorVersionUpgrade; } /** *

* The Availability Zone that the replication instance is created in. The default value is a random, system-chosen * Availability Zone in the endpoint's Amazon Web Services Region, such as us-east-1d. *

* * @return The Availability Zone that the replication instance is created in. The default value is a random, * system-chosen Availability Zone in the endpoint's Amazon Web Services Region, such as * us-east-1d. */ public final String availabilityZone() { return availabilityZone; } /** *

* The engine version number of the replication instance. If an engine version number is not specified when a * replication instance is created, the default is the latest engine version available. *

* * @return The engine version number of the replication instance. If an engine version number is not specified when * a replication instance is created, the default is the latest engine version available. */ public final String engineVersion() { return engineVersion; } /** *

* An KMS key identifier that is used to encrypt the data on the replication instance. If you don't specify a value * for the KmsKeyId parameter, 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 data on the replication instance. If you don't specify * a value for the KmsKeyId parameter, 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; } /** *

* Specifies whether the replication instance is deployed across multiple Availability Zones (AZs). You can't set * the AvailabilityZone parameter if the MultiAZ parameter is set to true. *

* * @return Specifies whether the replication instance is deployed across multiple Availability Zones (AZs). You * can't set the AvailabilityZone parameter if the MultiAZ parameter is set to * true. */ public final Boolean multiAZ() { return multiAZ; } /** *

* The maintenance window times for the replication instance. Upgrades to the replication instance are performed * during this time. *

* * @return The maintenance window times for the replication instance. Upgrades to the replication instance are * performed during this time. */ public final String preferredMaintenanceWindow() { return preferredMaintenanceWindow; } /** *

* Specifies the accessibility options for the replication instance. A value of true represents an * instance with a public IP address. A value of false represents an instance with a private IP * address. The default value is true. *

* * @return Specifies the accessibility options for the replication instance. A value of true represents * an instance with a public IP address. A value of false represents an instance with a private * IP address. The default value is true. */ public final Boolean publiclyAccessible() { return publiclyAccessible; } /** *

* The compute and memory capacity of the replication instance as defined for the specified replication instance * class. *

* * @return The compute and memory capacity of the replication instance as defined for the specified replication * instance class. */ public final String replicationInstanceClass() { return replicationInstanceClass; } /** *

* The replication instance identifier. *

* * @return The replication instance identifier. */ public final String replicationInstanceIdentifier() { return replicationInstanceIdentifier; } /** *

* The subnet group for the replication instance. *

* * @return The subnet group for the replication instance. */ public final AwsDmsReplicationInstanceReplicationSubnetGroupDetails replicationSubnetGroup() { return replicationSubnetGroup; } /** * For responses, this returns true if the service returned a value for the VpcSecurityGroups 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 hasVpcSecurityGroups() { return vpcSecurityGroups != null && !(vpcSecurityGroups instanceof SdkAutoConstructList); } /** *

* The virtual private cloud (VPC) security group for the replication instance. *

*

* 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 #hasVpcSecurityGroups} method. *

* * @return The virtual private cloud (VPC) security group for the replication instance. */ public final List vpcSecurityGroups() { return vpcSecurityGroups; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public final int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + Objects.hashCode(allocatedStorage()); hashCode = 31 * hashCode + Objects.hashCode(autoMinorVersionUpgrade()); hashCode = 31 * hashCode + Objects.hashCode(availabilityZone()); hashCode = 31 * hashCode + Objects.hashCode(engineVersion()); hashCode = 31 * hashCode + Objects.hashCode(kmsKeyId()); hashCode = 31 * hashCode + Objects.hashCode(multiAZ()); hashCode = 31 * hashCode + Objects.hashCode(preferredMaintenanceWindow()); hashCode = 31 * hashCode + Objects.hashCode(publiclyAccessible()); hashCode = 31 * hashCode + Objects.hashCode(replicationInstanceClass()); hashCode = 31 * hashCode + Objects.hashCode(replicationInstanceIdentifier()); hashCode = 31 * hashCode + Objects.hashCode(replicationSubnetGroup()); hashCode = 31 * hashCode + Objects.hashCode(hasVpcSecurityGroups() ? vpcSecurityGroups() : null); 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 AwsDmsReplicationInstanceDetails)) { return false; } AwsDmsReplicationInstanceDetails other = (AwsDmsReplicationInstanceDetails) obj; return Objects.equals(allocatedStorage(), other.allocatedStorage()) && Objects.equals(autoMinorVersionUpgrade(), other.autoMinorVersionUpgrade()) && Objects.equals(availabilityZone(), other.availabilityZone()) && Objects.equals(engineVersion(), other.engineVersion()) && Objects.equals(kmsKeyId(), other.kmsKeyId()) && Objects.equals(multiAZ(), other.multiAZ()) && Objects.equals(preferredMaintenanceWindow(), other.preferredMaintenanceWindow()) && Objects.equals(publiclyAccessible(), other.publiclyAccessible()) && Objects.equals(replicationInstanceClass(), other.replicationInstanceClass()) && Objects.equals(replicationInstanceIdentifier(), other.replicationInstanceIdentifier()) && Objects.equals(replicationSubnetGroup(), other.replicationSubnetGroup()) && hasVpcSecurityGroups() == other.hasVpcSecurityGroups() && Objects.equals(vpcSecurityGroups(), other.vpcSecurityGroups()); } /** * 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("AwsDmsReplicationInstanceDetails").add("AllocatedStorage", allocatedStorage()) .add("AutoMinorVersionUpgrade", autoMinorVersionUpgrade()).add("AvailabilityZone", availabilityZone()) .add("EngineVersion", engineVersion()).add("KmsKeyId", kmsKeyId()).add("MultiAZ", multiAZ()) .add("PreferredMaintenanceWindow", preferredMaintenanceWindow()).add("PubliclyAccessible", publiclyAccessible()) .add("ReplicationInstanceClass", replicationInstanceClass()) .add("ReplicationInstanceIdentifier", replicationInstanceIdentifier()) .add("ReplicationSubnetGroup", replicationSubnetGroup()) .add("VpcSecurityGroups", hasVpcSecurityGroups() ? vpcSecurityGroups() : null).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "AllocatedStorage": return Optional.ofNullable(clazz.cast(allocatedStorage())); case "AutoMinorVersionUpgrade": return Optional.ofNullable(clazz.cast(autoMinorVersionUpgrade())); case "AvailabilityZone": return Optional.ofNullable(clazz.cast(availabilityZone())); case "EngineVersion": return Optional.ofNullable(clazz.cast(engineVersion())); case "KmsKeyId": return Optional.ofNullable(clazz.cast(kmsKeyId())); case "MultiAZ": return Optional.ofNullable(clazz.cast(multiAZ())); case "PreferredMaintenanceWindow": return Optional.ofNullable(clazz.cast(preferredMaintenanceWindow())); case "PubliclyAccessible": return Optional.ofNullable(clazz.cast(publiclyAccessible())); case "ReplicationInstanceClass": return Optional.ofNullable(clazz.cast(replicationInstanceClass())); case "ReplicationInstanceIdentifier": return Optional.ofNullable(clazz.cast(replicationInstanceIdentifier())); case "ReplicationSubnetGroup": return Optional.ofNullable(clazz.cast(replicationSubnetGroup())); case "VpcSecurityGroups": return Optional.ofNullable(clazz.cast(vpcSecurityGroups())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((AwsDmsReplicationInstanceDetails) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends SdkPojo, CopyableBuilder { /** *

* The amount of storage (in gigabytes) that is allocated for the replication instance. *

* * @param allocatedStorage * The amount of storage (in gigabytes) that is allocated for the replication instance. * @return Returns a reference to this object so that method calls can be chained together. */ Builder allocatedStorage(Integer allocatedStorage); /** *

* Indicates whether minor engine upgrades are applied automatically to the replication instance during the * maintenance window. *

* * @param autoMinorVersionUpgrade * Indicates whether minor engine upgrades are applied automatically to the replication instance during * the maintenance window. * @return Returns a reference to this object so that method calls can be chained together. */ Builder autoMinorVersionUpgrade(Boolean autoMinorVersionUpgrade); /** *

* The Availability Zone that the replication instance is created in. The default value is a random, * system-chosen Availability Zone in the endpoint's Amazon Web Services Region, such as us-east-1d * . *

* * @param availabilityZone * The Availability Zone that the replication instance is created in. The default value is a random, * system-chosen Availability Zone in the endpoint's Amazon Web Services Region, such as * us-east-1d. * @return Returns a reference to this object so that method calls can be chained together. */ Builder availabilityZone(String availabilityZone); /** *

* The engine version number of the replication instance. If an engine version number is not specified when a * replication instance is created, the default is the latest engine version available. *

* * @param engineVersion * The engine version number of the replication instance. If an engine version number is not specified * when a replication instance is created, the default is the latest engine version available. * @return Returns a reference to this object so that method calls can be chained together. */ Builder engineVersion(String engineVersion); /** *

* An KMS key identifier that is used to encrypt the data on the replication instance. If you don't specify a * value for the KmsKeyId parameter, 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. *

* * @param kmsKeyId * An KMS key identifier that is used to encrypt the data on the replication instance. If you don't * specify a value for the KmsKeyId parameter, 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 Returns a reference to this object so that method calls can be chained together. */ Builder kmsKeyId(String kmsKeyId); /** *

* Specifies whether the replication instance is deployed across multiple Availability Zones (AZs). You can't * set the AvailabilityZone parameter if the MultiAZ parameter is set to * true. *

* * @param multiAZ * Specifies whether the replication instance is deployed across multiple Availability Zones (AZs). You * can't set the AvailabilityZone parameter if the MultiAZ parameter is set to * true. * @return Returns a reference to this object so that method calls can be chained together. */ Builder multiAZ(Boolean multiAZ); /** *

* The maintenance window times for the replication instance. Upgrades to the replication instance are performed * during this time. *

* * @param preferredMaintenanceWindow * The maintenance window times for the replication instance. Upgrades to the replication instance are * performed during this time. * @return Returns a reference to this object so that method calls can be chained together. */ Builder preferredMaintenanceWindow(String preferredMaintenanceWindow); /** *

* Specifies the accessibility options for the replication instance. A value of true represents an * instance with a public IP address. A value of false represents an instance with a private IP * address. The default value is true. *

* * @param publiclyAccessible * Specifies the accessibility options for the replication instance. A value of true * represents an instance with a public IP address. A value of false represents an instance * with a private IP address. The default value is true. * @return Returns a reference to this object so that method calls can be chained together. */ Builder publiclyAccessible(Boolean publiclyAccessible); /** *

* The compute and memory capacity of the replication instance as defined for the specified replication instance * class. *

* * @param replicationInstanceClass * The compute and memory capacity of the replication instance as defined for the specified replication * instance class. * @return Returns a reference to this object so that method calls can be chained together. */ Builder replicationInstanceClass(String replicationInstanceClass); /** *

* The replication instance identifier. *

* * @param replicationInstanceIdentifier * The replication instance identifier. * @return Returns a reference to this object so that method calls can be chained together. */ Builder replicationInstanceIdentifier(String replicationInstanceIdentifier); /** *

* The subnet group for the replication instance. *

* * @param replicationSubnetGroup * The subnet group for the replication instance. * @return Returns a reference to this object so that method calls can be chained together. */ Builder replicationSubnetGroup(AwsDmsReplicationInstanceReplicationSubnetGroupDetails replicationSubnetGroup); /** *

* The subnet group for the replication instance. *

* This is a convenience method that creates an instance of the * {@link AwsDmsReplicationInstanceReplicationSubnetGroupDetails.Builder} avoiding the need to create one * manually via {@link AwsDmsReplicationInstanceReplicationSubnetGroupDetails#builder()}. * *

* When the {@link Consumer} completes, * {@link AwsDmsReplicationInstanceReplicationSubnetGroupDetails.Builder#build()} is called immediately and its * result is passed to {@link #replicationSubnetGroup(AwsDmsReplicationInstanceReplicationSubnetGroupDetails)}. * * @param replicationSubnetGroup * a consumer that will call methods on * {@link AwsDmsReplicationInstanceReplicationSubnetGroupDetails.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #replicationSubnetGroup(AwsDmsReplicationInstanceReplicationSubnetGroupDetails) */ default Builder replicationSubnetGroup( Consumer replicationSubnetGroup) { return replicationSubnetGroup(AwsDmsReplicationInstanceReplicationSubnetGroupDetails.builder() .applyMutation(replicationSubnetGroup).build()); } /** *

* The virtual private cloud (VPC) security group for the replication instance. *

* * @param vpcSecurityGroups * The virtual private cloud (VPC) security group for the replication instance. * @return Returns a reference to this object so that method calls can be chained together. */ Builder vpcSecurityGroups(Collection vpcSecurityGroups); /** *

* The virtual private cloud (VPC) security group for the replication instance. *

* * @param vpcSecurityGroups * The virtual private cloud (VPC) security group for the replication instance. * @return Returns a reference to this object so that method calls can be chained together. */ Builder vpcSecurityGroups(AwsDmsReplicationInstanceVpcSecurityGroupsDetails... vpcSecurityGroups); /** *

* The virtual private cloud (VPC) security group for the replication instance. *

* This is a convenience method that creates an instance of the * {@link software.amazon.awssdk.services.securityhub.model.AwsDmsReplicationInstanceVpcSecurityGroupsDetails.Builder} * avoiding the need to create one manually via * {@link software.amazon.awssdk.services.securityhub.model.AwsDmsReplicationInstanceVpcSecurityGroupsDetails#builder()} * . * *

* When the {@link Consumer} completes, * {@link software.amazon.awssdk.services.securityhub.model.AwsDmsReplicationInstanceVpcSecurityGroupsDetails.Builder#build()} * is called immediately and its result is passed to {@link * #vpcSecurityGroups(List)}. * * @param vpcSecurityGroups * a consumer that will call methods on * {@link software.amazon.awssdk.services.securityhub.model.AwsDmsReplicationInstanceVpcSecurityGroupsDetails.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #vpcSecurityGroups(java.util.Collection) */ Builder vpcSecurityGroups(Consumer... vpcSecurityGroups); } static final class BuilderImpl implements Builder { private Integer allocatedStorage; private Boolean autoMinorVersionUpgrade; private String availabilityZone; private String engineVersion; private String kmsKeyId; private Boolean multiAZ; private String preferredMaintenanceWindow; private Boolean publiclyAccessible; private String replicationInstanceClass; private String replicationInstanceIdentifier; private AwsDmsReplicationInstanceReplicationSubnetGroupDetails replicationSubnetGroup; private List vpcSecurityGroups = DefaultSdkAutoConstructList .getInstance(); private BuilderImpl() { } private BuilderImpl(AwsDmsReplicationInstanceDetails model) { allocatedStorage(model.allocatedStorage); autoMinorVersionUpgrade(model.autoMinorVersionUpgrade); availabilityZone(model.availabilityZone); engineVersion(model.engineVersion); kmsKeyId(model.kmsKeyId); multiAZ(model.multiAZ); preferredMaintenanceWindow(model.preferredMaintenanceWindow); publiclyAccessible(model.publiclyAccessible); replicationInstanceClass(model.replicationInstanceClass); replicationInstanceIdentifier(model.replicationInstanceIdentifier); replicationSubnetGroup(model.replicationSubnetGroup); vpcSecurityGroups(model.vpcSecurityGroups); } public final Integer getAllocatedStorage() { return allocatedStorage; } public final void setAllocatedStorage(Integer allocatedStorage) { this.allocatedStorage = allocatedStorage; } @Override public final Builder allocatedStorage(Integer allocatedStorage) { this.allocatedStorage = allocatedStorage; return this; } public final Boolean getAutoMinorVersionUpgrade() { return autoMinorVersionUpgrade; } public final void setAutoMinorVersionUpgrade(Boolean autoMinorVersionUpgrade) { this.autoMinorVersionUpgrade = autoMinorVersionUpgrade; } @Override public final Builder autoMinorVersionUpgrade(Boolean autoMinorVersionUpgrade) { this.autoMinorVersionUpgrade = autoMinorVersionUpgrade; return this; } public final String getAvailabilityZone() { return availabilityZone; } public final void setAvailabilityZone(String availabilityZone) { this.availabilityZone = availabilityZone; } @Override public final Builder availabilityZone(String availabilityZone) { this.availabilityZone = availabilityZone; return this; } public final String getEngineVersion() { return engineVersion; } public final void setEngineVersion(String engineVersion) { this.engineVersion = engineVersion; } @Override public final Builder engineVersion(String engineVersion) { this.engineVersion = engineVersion; return this; } public final String getKmsKeyId() { return kmsKeyId; } public final void setKmsKeyId(String kmsKeyId) { this.kmsKeyId = kmsKeyId; } @Override public final Builder kmsKeyId(String kmsKeyId) { this.kmsKeyId = kmsKeyId; return this; } public final Boolean getMultiAZ() { return multiAZ; } public final void setMultiAZ(Boolean multiAZ) { this.multiAZ = multiAZ; } @Override public final Builder multiAZ(Boolean multiAZ) { this.multiAZ = multiAZ; return this; } public final String getPreferredMaintenanceWindow() { return preferredMaintenanceWindow; } public final void setPreferredMaintenanceWindow(String preferredMaintenanceWindow) { this.preferredMaintenanceWindow = preferredMaintenanceWindow; } @Override public final Builder preferredMaintenanceWindow(String preferredMaintenanceWindow) { this.preferredMaintenanceWindow = preferredMaintenanceWindow; return this; } public final Boolean getPubliclyAccessible() { return publiclyAccessible; } public final void setPubliclyAccessible(Boolean publiclyAccessible) { this.publiclyAccessible = publiclyAccessible; } @Override public final Builder publiclyAccessible(Boolean publiclyAccessible) { this.publiclyAccessible = publiclyAccessible; return this; } public final String getReplicationInstanceClass() { return replicationInstanceClass; } public final void setReplicationInstanceClass(String replicationInstanceClass) { this.replicationInstanceClass = replicationInstanceClass; } @Override public final Builder replicationInstanceClass(String replicationInstanceClass) { this.replicationInstanceClass = replicationInstanceClass; return this; } public final String getReplicationInstanceIdentifier() { return replicationInstanceIdentifier; } public final void setReplicationInstanceIdentifier(String replicationInstanceIdentifier) { this.replicationInstanceIdentifier = replicationInstanceIdentifier; } @Override public final Builder replicationInstanceIdentifier(String replicationInstanceIdentifier) { this.replicationInstanceIdentifier = replicationInstanceIdentifier; return this; } public final AwsDmsReplicationInstanceReplicationSubnetGroupDetails.Builder getReplicationSubnetGroup() { return replicationSubnetGroup != null ? replicationSubnetGroup.toBuilder() : null; } public final void setReplicationSubnetGroup( AwsDmsReplicationInstanceReplicationSubnetGroupDetails.BuilderImpl replicationSubnetGroup) { this.replicationSubnetGroup = replicationSubnetGroup != null ? replicationSubnetGroup.build() : null; } @Override public final Builder replicationSubnetGroup(AwsDmsReplicationInstanceReplicationSubnetGroupDetails replicationSubnetGroup) { this.replicationSubnetGroup = replicationSubnetGroup; return this; } public final List getVpcSecurityGroups() { List result = AwsDmsReplicationInstanceVpcSecurityGroupsListCopier .copyToBuilder(this.vpcSecurityGroups); if (result instanceof SdkAutoConstructList) { return null; } return result; } public final void setVpcSecurityGroups( Collection vpcSecurityGroups) { this.vpcSecurityGroups = AwsDmsReplicationInstanceVpcSecurityGroupsListCopier.copyFromBuilder(vpcSecurityGroups); } @Override public final Builder vpcSecurityGroups(Collection vpcSecurityGroups) { this.vpcSecurityGroups = AwsDmsReplicationInstanceVpcSecurityGroupsListCopier.copy(vpcSecurityGroups); return this; } @Override @SafeVarargs public final Builder vpcSecurityGroups(AwsDmsReplicationInstanceVpcSecurityGroupsDetails... vpcSecurityGroups) { vpcSecurityGroups(Arrays.asList(vpcSecurityGroups)); return this; } @Override @SafeVarargs public final Builder vpcSecurityGroups( Consumer... vpcSecurityGroups) { vpcSecurityGroups(Stream.of(vpcSecurityGroups) .map(c -> AwsDmsReplicationInstanceVpcSecurityGroupsDetails.builder().applyMutation(c).build()) .collect(Collectors.toList())); return this; } @Override public AwsDmsReplicationInstanceDetails build() { return new AwsDmsReplicationInstanceDetails(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy