software.amazon.awssdk.services.databasemigration.model.ReplicationInstance Maven / Gradle / Ivy
/*
* Copyright 2014-2019 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.time.Instant;
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.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;
/**
*
*/
@Generated("software.amazon.awssdk:codegen")
public final class ReplicationInstance implements SdkPojo, Serializable,
ToCopyableBuilder {
private static final SdkField REPLICATION_INSTANCE_IDENTIFIER_FIELD = SdkField
. builder(MarshallingType.STRING)
.getter(getter(ReplicationInstance::replicationInstanceIdentifier))
.setter(setter(Builder::replicationInstanceIdentifier))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ReplicationInstanceIdentifier")
.build()).build();
private static final SdkField REPLICATION_INSTANCE_CLASS_FIELD = SdkField. builder(MarshallingType.STRING)
.getter(getter(ReplicationInstance::replicationInstanceClass)).setter(setter(Builder::replicationInstanceClass))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ReplicationInstanceClass").build())
.build();
private static final SdkField REPLICATION_INSTANCE_STATUS_FIELD = SdkField. builder(MarshallingType.STRING)
.getter(getter(ReplicationInstance::replicationInstanceStatus)).setter(setter(Builder::replicationInstanceStatus))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ReplicationInstanceStatus").build())
.build();
private static final SdkField ALLOCATED_STORAGE_FIELD = SdkField. builder(MarshallingType.INTEGER)
.getter(getter(ReplicationInstance::allocatedStorage)).setter(setter(Builder::allocatedStorage))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AllocatedStorage").build()).build();
private static final SdkField INSTANCE_CREATE_TIME_FIELD = SdkField. builder(MarshallingType.INSTANT)
.getter(getter(ReplicationInstance::instanceCreateTime)).setter(setter(Builder::instanceCreateTime))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("InstanceCreateTime").build())
.build();
private static final SdkField> VPC_SECURITY_GROUPS_FIELD = SdkField
.> builder(MarshallingType.LIST)
.getter(getter(ReplicationInstance::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(VpcSecurityGroupMembership::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("member").build()).build()).build()).build();
private static final SdkField AVAILABILITY_ZONE_FIELD = SdkField. builder(MarshallingType.STRING)
.getter(getter(ReplicationInstance::availabilityZone)).setter(setter(Builder::availabilityZone))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AvailabilityZone").build()).build();
private static final SdkField REPLICATION_SUBNET_GROUP_FIELD = SdkField
. builder(MarshallingType.SDK_POJO)
.getter(getter(ReplicationInstance::replicationSubnetGroup)).setter(setter(Builder::replicationSubnetGroup))
.constructor(ReplicationSubnetGroup::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ReplicationSubnetGroup").build())
.build();
private static final SdkField PREFERRED_MAINTENANCE_WINDOW_FIELD = SdkField
. builder(MarshallingType.STRING)
.getter(getter(ReplicationInstance::preferredMaintenanceWindow))
.setter(setter(Builder::preferredMaintenanceWindow))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("PreferredMaintenanceWindow").build())
.build();
private static final SdkField PENDING_MODIFIED_VALUES_FIELD = SdkField
. builder(MarshallingType.SDK_POJO)
.getter(getter(ReplicationInstance::pendingModifiedValues)).setter(setter(Builder::pendingModifiedValues))
.constructor(ReplicationPendingModifiedValues::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("PendingModifiedValues").build())
.build();
private static final SdkField MULTI_AZ_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
.getter(getter(ReplicationInstance::multiAZ)).setter(setter(Builder::multiAZ))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("MultiAZ").build()).build();
private static final SdkField ENGINE_VERSION_FIELD = SdkField. builder(MarshallingType.STRING)
.getter(getter(ReplicationInstance::engineVersion)).setter(setter(Builder::engineVersion))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EngineVersion").build()).build();
private static final SdkField AUTO_MINOR_VERSION_UPGRADE_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
.getter(getter(ReplicationInstance::autoMinorVersionUpgrade)).setter(setter(Builder::autoMinorVersionUpgrade))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AutoMinorVersionUpgrade").build())
.build();
private static final SdkField KMS_KEY_ID_FIELD = SdkField. builder(MarshallingType.STRING)
.getter(getter(ReplicationInstance::kmsKeyId)).setter(setter(Builder::kmsKeyId))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("KmsKeyId").build()).build();
private static final SdkField REPLICATION_INSTANCE_ARN_FIELD = SdkField. builder(MarshallingType.STRING)
.getter(getter(ReplicationInstance::replicationInstanceArn)).setter(setter(Builder::replicationInstanceArn))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ReplicationInstanceArn").build())
.build();
private static final SdkField REPLICATION_INSTANCE_PUBLIC_IP_ADDRESS_FIELD = SdkField
. builder(MarshallingType.STRING)
.getter(getter(ReplicationInstance::replicationInstancePublicIpAddress))
.setter(setter(Builder::replicationInstancePublicIpAddress))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ReplicationInstancePublicIpAddress")
.build()).build();
private static final SdkField REPLICATION_INSTANCE_PRIVATE_IP_ADDRESS_FIELD = SdkField
. builder(MarshallingType.STRING)
.getter(getter(ReplicationInstance::replicationInstancePrivateIpAddress))
.setter(setter(Builder::replicationInstancePrivateIpAddress))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("ReplicationInstancePrivateIpAddress").build()).build();
private static final SdkField> REPLICATION_INSTANCE_PUBLIC_IP_ADDRESSES_FIELD = SdkField
.> builder(MarshallingType.LIST)
.getter(getter(ReplicationInstance::replicationInstancePublicIpAddresses))
.setter(setter(Builder::replicationInstancePublicIpAddresses))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("ReplicationInstancePublicIpAddresses").build(),
ListTrait
.builder()
.memberLocationName(null)
.memberFieldInfo(
SdkField. builder(MarshallingType.STRING)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("member").build()).build()).build()).build();
private static final SdkField> REPLICATION_INSTANCE_PRIVATE_IP_ADDRESSES_FIELD = SdkField
.> builder(MarshallingType.LIST)
.getter(getter(ReplicationInstance::replicationInstancePrivateIpAddresses))
.setter(setter(Builder::replicationInstancePrivateIpAddresses))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("ReplicationInstancePrivateIpAddresses").build(),
ListTrait
.builder()
.memberLocationName(null)
.memberFieldInfo(
SdkField. builder(MarshallingType.STRING)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("member").build()).build()).build()).build();
private static final SdkField PUBLICLY_ACCESSIBLE_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
.getter(getter(ReplicationInstance::publiclyAccessible)).setter(setter(Builder::publiclyAccessible))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("PubliclyAccessible").build())
.build();
private static final SdkField SECONDARY_AVAILABILITY_ZONE_FIELD = SdkField. builder(MarshallingType.STRING)
.getter(getter(ReplicationInstance::secondaryAvailabilityZone)).setter(setter(Builder::secondaryAvailabilityZone))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SecondaryAvailabilityZone").build())
.build();
private static final SdkField FREE_UNTIL_FIELD = SdkField. builder(MarshallingType.INSTANT)
.getter(getter(ReplicationInstance::freeUntil)).setter(setter(Builder::freeUntil))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("FreeUntil").build()).build();
private static final SdkField DNS_NAME_SERVERS_FIELD = SdkField. builder(MarshallingType.STRING)
.getter(getter(ReplicationInstance::dnsNameServers)).setter(setter(Builder::dnsNameServers))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DnsNameServers").build()).build();
private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(
REPLICATION_INSTANCE_IDENTIFIER_FIELD, REPLICATION_INSTANCE_CLASS_FIELD, REPLICATION_INSTANCE_STATUS_FIELD,
ALLOCATED_STORAGE_FIELD, INSTANCE_CREATE_TIME_FIELD, VPC_SECURITY_GROUPS_FIELD, AVAILABILITY_ZONE_FIELD,
REPLICATION_SUBNET_GROUP_FIELD, PREFERRED_MAINTENANCE_WINDOW_FIELD, PENDING_MODIFIED_VALUES_FIELD, MULTI_AZ_FIELD,
ENGINE_VERSION_FIELD, AUTO_MINOR_VERSION_UPGRADE_FIELD, KMS_KEY_ID_FIELD, REPLICATION_INSTANCE_ARN_FIELD,
REPLICATION_INSTANCE_PUBLIC_IP_ADDRESS_FIELD, REPLICATION_INSTANCE_PRIVATE_IP_ADDRESS_FIELD,
REPLICATION_INSTANCE_PUBLIC_IP_ADDRESSES_FIELD, REPLICATION_INSTANCE_PRIVATE_IP_ADDRESSES_FIELD,
PUBLICLY_ACCESSIBLE_FIELD, SECONDARY_AVAILABILITY_ZONE_FIELD, FREE_UNTIL_FIELD, DNS_NAME_SERVERS_FIELD));
private static final long serialVersionUID = 1L;
private final String replicationInstanceIdentifier;
private final String replicationInstanceClass;
private final String replicationInstanceStatus;
private final Integer allocatedStorage;
private final Instant instanceCreateTime;
private final List vpcSecurityGroups;
private final String availabilityZone;
private final ReplicationSubnetGroup replicationSubnetGroup;
private final String preferredMaintenanceWindow;
private final ReplicationPendingModifiedValues pendingModifiedValues;
private final Boolean multiAZ;
private final String engineVersion;
private final Boolean autoMinorVersionUpgrade;
private final String kmsKeyId;
private final String replicationInstanceArn;
private final String replicationInstancePublicIpAddress;
private final String replicationInstancePrivateIpAddress;
private final List replicationInstancePublicIpAddresses;
private final List replicationInstancePrivateIpAddresses;
private final Boolean publiclyAccessible;
private final String secondaryAvailabilityZone;
private final Instant freeUntil;
private final String dnsNameServers;
private ReplicationInstance(BuilderImpl builder) {
this.replicationInstanceIdentifier = builder.replicationInstanceIdentifier;
this.replicationInstanceClass = builder.replicationInstanceClass;
this.replicationInstanceStatus = builder.replicationInstanceStatus;
this.allocatedStorage = builder.allocatedStorage;
this.instanceCreateTime = builder.instanceCreateTime;
this.vpcSecurityGroups = builder.vpcSecurityGroups;
this.availabilityZone = builder.availabilityZone;
this.replicationSubnetGroup = builder.replicationSubnetGroup;
this.preferredMaintenanceWindow = builder.preferredMaintenanceWindow;
this.pendingModifiedValues = builder.pendingModifiedValues;
this.multiAZ = builder.multiAZ;
this.engineVersion = builder.engineVersion;
this.autoMinorVersionUpgrade = builder.autoMinorVersionUpgrade;
this.kmsKeyId = builder.kmsKeyId;
this.replicationInstanceArn = builder.replicationInstanceArn;
this.replicationInstancePublicIpAddress = builder.replicationInstancePublicIpAddress;
this.replicationInstancePrivateIpAddress = builder.replicationInstancePrivateIpAddress;
this.replicationInstancePublicIpAddresses = builder.replicationInstancePublicIpAddresses;
this.replicationInstancePrivateIpAddresses = builder.replicationInstancePrivateIpAddresses;
this.publiclyAccessible = builder.publiclyAccessible;
this.secondaryAvailabilityZone = builder.secondaryAvailabilityZone;
this.freeUntil = builder.freeUntil;
this.dnsNameServers = builder.dnsNameServers;
}
/**
*
* The replication instance identifier. This parameter is stored as a lowercase string.
*
*
* Constraints:
*
*
* -
*
* Must contain from 1 to 63 alphanumeric characters or hyphens.
*
*
* -
*
* First character must be a letter.
*
*
* -
*
* Cannot end with a hyphen or contain two consecutive hyphens.
*
*
*
*
* Example: myrepinstance
*
*
* @return The replication instance identifier. This parameter is stored as a lowercase string.
*
* Constraints:
*
*
* -
*
* Must contain from 1 to 63 alphanumeric characters or hyphens.
*
*
* -
*
* First character must be a letter.
*
*
* -
*
* Cannot end with a hyphen or contain two consecutive hyphens.
*
*
*
*
* Example: myrepinstance
*/
public String replicationInstanceIdentifier() {
return replicationInstanceIdentifier;
}
/**
*
* The compute and memory capacity of the replication instance.
*
*
* Valid Values:
* dms.t2.micro | dms.t2.small | dms.t2.medium | dms.t2.large | dms.c4.large | dms.c4.xlarge | dms.c4.2xlarge | dms.c4.4xlarge
*
*
* @return The compute and memory capacity of the replication instance.
*
* Valid Values:
* dms.t2.micro | dms.t2.small | dms.t2.medium | dms.t2.large | dms.c4.large | dms.c4.xlarge | dms.c4.2xlarge | dms.c4.4xlarge
*/
public String replicationInstanceClass() {
return replicationInstanceClass;
}
/**
*
* The status of the replication instance.
*
*
* @return The status of the replication instance.
*/
public String replicationInstanceStatus() {
return replicationInstanceStatus;
}
/**
*
* 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 Integer allocatedStorage() {
return allocatedStorage;
}
/**
*
* The time the replication instance was created.
*
*
* @return The time the replication instance was created.
*/
public Instant instanceCreateTime() {
return instanceCreateTime;
}
/**
*
* The VPC security group for the instance.
*
*
* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
*
*
* @return The VPC security group for the instance.
*/
public List vpcSecurityGroups() {
return vpcSecurityGroups;
}
/**
*
* The Availability Zone for the instance.
*
*
* @return The Availability Zone for the instance.
*/
public String availabilityZone() {
return availabilityZone;
}
/**
*
* The subnet group for the replication instance.
*
*
* @return The subnet group for the replication instance.
*/
public ReplicationSubnetGroup replicationSubnetGroup() {
return replicationSubnetGroup;
}
/**
*
* The maintenance window times for the replication instance.
*
*
* @return The maintenance window times for the replication instance.
*/
public String preferredMaintenanceWindow() {
return preferredMaintenanceWindow;
}
/**
*
* The pending modification values.
*
*
* @return The pending modification values.
*/
public ReplicationPendingModifiedValues pendingModifiedValues() {
return pendingModifiedValues;
}
/**
*
* Specifies whether the replication instance is a Multi-AZ deployment. You cannot set the
* AvailabilityZone
parameter if the Multi-AZ parameter is set to true
.
*
*
* @return Specifies whether the replication instance is a Multi-AZ deployment. You cannot set the
* AvailabilityZone
parameter if the Multi-AZ parameter is set to true
.
*/
public Boolean multiAZ() {
return multiAZ;
}
/**
*
* The engine version number of the replication instance.
*
*
* @return The engine version number of the replication instance.
*/
public String engineVersion() {
return engineVersion;
}
/**
*
* Boolean value indicating if minor version upgrades will be automatically applied to the instance.
*
*
* @return Boolean value indicating if minor version upgrades will be automatically applied to the instance.
*/
public Boolean autoMinorVersionUpgrade() {
return autoMinorVersionUpgrade;
}
/**
*
* An AWS 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, 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 data on the replication instance.
*
* 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 String kmsKeyId() {
return kmsKeyId;
}
/**
*
* The Amazon Resource Name (ARN) of the replication instance.
*
*
* @return The Amazon Resource Name (ARN) of the replication instance.
*/
public String replicationInstanceArn() {
return replicationInstanceArn;
}
/**
*
* The public IP address of the replication instance.
*
*
* @return The public IP address of the replication instance.
*/
public String replicationInstancePublicIpAddress() {
return replicationInstancePublicIpAddress;
}
/**
*
* The private IP address of the replication instance.
*
*
* @return The private IP address of the replication instance.
*/
public String replicationInstancePrivateIpAddress() {
return replicationInstancePrivateIpAddress;
}
/**
*
* One or more public IP addresses for the replication instance.
*
*
* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
*
*
* @return One or more public IP addresses for the replication instance.
*/
public List replicationInstancePublicIpAddresses() {
return replicationInstancePublicIpAddresses;
}
/**
*
* One or more private IP addresses for the replication instance.
*
*
* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
*
*
* @return One or more private IP addresses for the replication instance.
*/
public List replicationInstancePrivateIpAddresses() {
return replicationInstancePrivateIpAddresses;
}
/**
*
* 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 Boolean publiclyAccessible() {
return publiclyAccessible;
}
/**
*
* The availability zone of the standby replication instance in a Multi-AZ deployment.
*
*
* @return The availability zone of the standby replication instance in a Multi-AZ deployment.
*/
public String secondaryAvailabilityZone() {
return secondaryAvailabilityZone;
}
/**
*
* The expiration date of the free replication instance that is part of the Free DMS program.
*
*
* @return The expiration date of the free replication instance that is part of the Free DMS program.
*/
public Instant freeUntil() {
return freeUntil;
}
/**
*
* The DNS name servers for the replication instance.
*
*
* @return The DNS name servers for the replication instance.
*/
public String dnsNameServers() {
return dnsNameServers;
}
@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 int hashCode() {
int hashCode = 1;
hashCode = 31 * hashCode + Objects.hashCode(replicationInstanceIdentifier());
hashCode = 31 * hashCode + Objects.hashCode(replicationInstanceClass());
hashCode = 31 * hashCode + Objects.hashCode(replicationInstanceStatus());
hashCode = 31 * hashCode + Objects.hashCode(allocatedStorage());
hashCode = 31 * hashCode + Objects.hashCode(instanceCreateTime());
hashCode = 31 * hashCode + Objects.hashCode(vpcSecurityGroups());
hashCode = 31 * hashCode + Objects.hashCode(availabilityZone());
hashCode = 31 * hashCode + Objects.hashCode(replicationSubnetGroup());
hashCode = 31 * hashCode + Objects.hashCode(preferredMaintenanceWindow());
hashCode = 31 * hashCode + Objects.hashCode(pendingModifiedValues());
hashCode = 31 * hashCode + Objects.hashCode(multiAZ());
hashCode = 31 * hashCode + Objects.hashCode(engineVersion());
hashCode = 31 * hashCode + Objects.hashCode(autoMinorVersionUpgrade());
hashCode = 31 * hashCode + Objects.hashCode(kmsKeyId());
hashCode = 31 * hashCode + Objects.hashCode(replicationInstanceArn());
hashCode = 31 * hashCode + Objects.hashCode(replicationInstancePublicIpAddress());
hashCode = 31 * hashCode + Objects.hashCode(replicationInstancePrivateIpAddress());
hashCode = 31 * hashCode + Objects.hashCode(replicationInstancePublicIpAddresses());
hashCode = 31 * hashCode + Objects.hashCode(replicationInstancePrivateIpAddresses());
hashCode = 31 * hashCode + Objects.hashCode(publiclyAccessible());
hashCode = 31 * hashCode + Objects.hashCode(secondaryAvailabilityZone());
hashCode = 31 * hashCode + Objects.hashCode(freeUntil());
hashCode = 31 * hashCode + Objects.hashCode(dnsNameServers());
return hashCode;
}
@Override
public boolean equals(Object obj) {
return equalsBySdkFields(obj);
}
@Override
public boolean equalsBySdkFields(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof ReplicationInstance)) {
return false;
}
ReplicationInstance other = (ReplicationInstance) obj;
return Objects.equals(replicationInstanceIdentifier(), other.replicationInstanceIdentifier())
&& Objects.equals(replicationInstanceClass(), other.replicationInstanceClass())
&& Objects.equals(replicationInstanceStatus(), other.replicationInstanceStatus())
&& Objects.equals(allocatedStorage(), other.allocatedStorage())
&& Objects.equals(instanceCreateTime(), other.instanceCreateTime())
&& Objects.equals(vpcSecurityGroups(), other.vpcSecurityGroups())
&& Objects.equals(availabilityZone(), other.availabilityZone())
&& Objects.equals(replicationSubnetGroup(), other.replicationSubnetGroup())
&& Objects.equals(preferredMaintenanceWindow(), other.preferredMaintenanceWindow())
&& Objects.equals(pendingModifiedValues(), other.pendingModifiedValues())
&& Objects.equals(multiAZ(), other.multiAZ()) && Objects.equals(engineVersion(), other.engineVersion())
&& Objects.equals(autoMinorVersionUpgrade(), other.autoMinorVersionUpgrade())
&& Objects.equals(kmsKeyId(), other.kmsKeyId())
&& Objects.equals(replicationInstanceArn(), other.replicationInstanceArn())
&& Objects.equals(replicationInstancePublicIpAddress(), other.replicationInstancePublicIpAddress())
&& Objects.equals(replicationInstancePrivateIpAddress(), other.replicationInstancePrivateIpAddress())
&& Objects.equals(replicationInstancePublicIpAddresses(), other.replicationInstancePublicIpAddresses())
&& Objects.equals(replicationInstancePrivateIpAddresses(), other.replicationInstancePrivateIpAddresses())
&& Objects.equals(publiclyAccessible(), other.publiclyAccessible())
&& Objects.equals(secondaryAvailabilityZone(), other.secondaryAvailabilityZone())
&& Objects.equals(freeUntil(), other.freeUntil()) && Objects.equals(dnsNameServers(), other.dnsNameServers());
}
/**
* 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 String toString() {
return ToString.builder("ReplicationInstance").add("ReplicationInstanceIdentifier", replicationInstanceIdentifier())
.add("ReplicationInstanceClass", replicationInstanceClass())
.add("ReplicationInstanceStatus", replicationInstanceStatus()).add("AllocatedStorage", allocatedStorage())
.add("InstanceCreateTime", instanceCreateTime()).add("VpcSecurityGroups", vpcSecurityGroups())
.add("AvailabilityZone", availabilityZone()).add("ReplicationSubnetGroup", replicationSubnetGroup())
.add("PreferredMaintenanceWindow", preferredMaintenanceWindow())
.add("PendingModifiedValues", pendingModifiedValues()).add("MultiAZ", multiAZ())
.add("EngineVersion", engineVersion()).add("AutoMinorVersionUpgrade", autoMinorVersionUpgrade())
.add("KmsKeyId", kmsKeyId()).add("ReplicationInstanceArn", replicationInstanceArn())
.add("ReplicationInstancePublicIpAddress", replicationInstancePublicIpAddress())
.add("ReplicationInstancePrivateIpAddress", replicationInstancePrivateIpAddress())
.add("ReplicationInstancePublicIpAddresses", replicationInstancePublicIpAddresses())
.add("ReplicationInstancePrivateIpAddresses", replicationInstancePrivateIpAddresses())
.add("PubliclyAccessible", publiclyAccessible()).add("SecondaryAvailabilityZone", secondaryAvailabilityZone())
.add("FreeUntil", freeUntil()).add("DnsNameServers", dnsNameServers()).build();
}
public Optional getValueForField(String fieldName, Class clazz) {
switch (fieldName) {
case "ReplicationInstanceIdentifier":
return Optional.ofNullable(clazz.cast(replicationInstanceIdentifier()));
case "ReplicationInstanceClass":
return Optional.ofNullable(clazz.cast(replicationInstanceClass()));
case "ReplicationInstanceStatus":
return Optional.ofNullable(clazz.cast(replicationInstanceStatus()));
case "AllocatedStorage":
return Optional.ofNullable(clazz.cast(allocatedStorage()));
case "InstanceCreateTime":
return Optional.ofNullable(clazz.cast(instanceCreateTime()));
case "VpcSecurityGroups":
return Optional.ofNullable(clazz.cast(vpcSecurityGroups()));
case "AvailabilityZone":
return Optional.ofNullable(clazz.cast(availabilityZone()));
case "ReplicationSubnetGroup":
return Optional.ofNullable(clazz.cast(replicationSubnetGroup()));
case "PreferredMaintenanceWindow":
return Optional.ofNullable(clazz.cast(preferredMaintenanceWindow()));
case "PendingModifiedValues":
return Optional.ofNullable(clazz.cast(pendingModifiedValues()));
case "MultiAZ":
return Optional.ofNullable(clazz.cast(multiAZ()));
case "EngineVersion":
return Optional.ofNullable(clazz.cast(engineVersion()));
case "AutoMinorVersionUpgrade":
return Optional.ofNullable(clazz.cast(autoMinorVersionUpgrade()));
case "KmsKeyId":
return Optional.ofNullable(clazz.cast(kmsKeyId()));
case "ReplicationInstanceArn":
return Optional.ofNullable(clazz.cast(replicationInstanceArn()));
case "ReplicationInstancePublicIpAddress":
return Optional.ofNullable(clazz.cast(replicationInstancePublicIpAddress()));
case "ReplicationInstancePrivateIpAddress":
return Optional.ofNullable(clazz.cast(replicationInstancePrivateIpAddress()));
case "ReplicationInstancePublicIpAddresses":
return Optional.ofNullable(clazz.cast(replicationInstancePublicIpAddresses()));
case "ReplicationInstancePrivateIpAddresses":
return Optional.ofNullable(clazz.cast(replicationInstancePrivateIpAddresses()));
case "PubliclyAccessible":
return Optional.ofNullable(clazz.cast(publiclyAccessible()));
case "SecondaryAvailabilityZone":
return Optional.ofNullable(clazz.cast(secondaryAvailabilityZone()));
case "FreeUntil":
return Optional.ofNullable(clazz.cast(freeUntil()));
case "DnsNameServers":
return Optional.ofNullable(clazz.cast(dnsNameServers()));
default:
return Optional.empty();
}
}
@Override
public List> sdkFields() {
return SDK_FIELDS;
}
private static Function