software.amazon.awssdk.services.rds.model.DBInstance Maven / Gradle / Ivy
Show all versions of rds Show documentation
/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package software.amazon.awssdk.services.rds.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.core.util.SdkAutoConstructList;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;
/**
*
* Contains the details of an Amazon RDS DB instance.
*
*
* This data type is used as a response element in the operations CreateDBInstance
,
* CreateDBInstanceReadReplica
, DeleteDBInstance
, DescribeDBInstances
,
* ModifyDBInstance
, PromoteReadReplica
, RebootDBInstance
,
* RestoreDBInstanceFromDBSnapshot
, RestoreDBInstanceFromS3
,
* RestoreDBInstanceToPointInTime
, StartDBInstance
, and StopDBInstance
.
*
*/
@Generated("software.amazon.awssdk:codegen")
public final class DBInstance implements SdkPojo, Serializable, ToCopyableBuilder {
private static final SdkField DB_INSTANCE_IDENTIFIER_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("DBInstanceIdentifier").getter(getter(DBInstance::dbInstanceIdentifier))
.setter(setter(Builder::dbInstanceIdentifier))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBInstanceIdentifier").build())
.build();
private static final SdkField DB_INSTANCE_CLASS_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("DBInstanceClass").getter(getter(DBInstance::dbInstanceClass)).setter(setter(Builder::dbInstanceClass))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBInstanceClass").build()).build();
private static final SdkField ENGINE_FIELD = SdkField. builder(MarshallingType.STRING).memberName("Engine")
.getter(getter(DBInstance::engine)).setter(setter(Builder::engine))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Engine").build()).build();
private static final SdkField DB_INSTANCE_STATUS_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("DBInstanceStatus").getter(getter(DBInstance::dbInstanceStatus))
.setter(setter(Builder::dbInstanceStatus))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBInstanceStatus").build()).build();
private static final SdkField AUTOMATIC_RESTART_TIME_FIELD = SdkField. builder(MarshallingType.INSTANT)
.memberName("AutomaticRestartTime").getter(getter(DBInstance::automaticRestartTime))
.setter(setter(Builder::automaticRestartTime))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AutomaticRestartTime").build())
.build();
private static final SdkField MASTER_USERNAME_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("MasterUsername").getter(getter(DBInstance::masterUsername)).setter(setter(Builder::masterUsername))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("MasterUsername").build()).build();
private static final SdkField DB_NAME_FIELD = SdkField. builder(MarshallingType.STRING).memberName("DBName")
.getter(getter(DBInstance::dbName)).setter(setter(Builder::dbName))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBName").build()).build();
private static final SdkField ENDPOINT_FIELD = SdkField. builder(MarshallingType.SDK_POJO)
.memberName("Endpoint").getter(getter(DBInstance::endpoint)).setter(setter(Builder::endpoint))
.constructor(Endpoint::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Endpoint").build()).build();
private static final SdkField ALLOCATED_STORAGE_FIELD = SdkField. builder(MarshallingType.INTEGER)
.memberName("AllocatedStorage").getter(getter(DBInstance::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)
.memberName("InstanceCreateTime").getter(getter(DBInstance::instanceCreateTime))
.setter(setter(Builder::instanceCreateTime))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("InstanceCreateTime").build())
.build();
private static final SdkField PREFERRED_BACKUP_WINDOW_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("PreferredBackupWindow").getter(getter(DBInstance::preferredBackupWindow))
.setter(setter(Builder::preferredBackupWindow))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("PreferredBackupWindow").build())
.build();
private static final SdkField BACKUP_RETENTION_PERIOD_FIELD = SdkField. builder(MarshallingType.INTEGER)
.memberName("BackupRetentionPeriod").getter(getter(DBInstance::backupRetentionPeriod))
.setter(setter(Builder::backupRetentionPeriod))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("BackupRetentionPeriod").build())
.build();
private static final SdkField> DB_SECURITY_GROUPS_FIELD = SdkField
.> builder(MarshallingType.LIST)
.memberName("DBSecurityGroups")
.getter(getter(DBInstance::dbSecurityGroups))
.setter(setter(Builder::dbSecurityGroups))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBSecurityGroups").build(),
ListTrait
.builder()
.memberLocationName("DBSecurityGroup")
.memberFieldInfo(
SdkField. builder(MarshallingType.SDK_POJO)
.constructor(DBSecurityGroupMembership::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("DBSecurityGroup").build()).build()).build()).build();
private static final SdkField> VPC_SECURITY_GROUPS_FIELD = SdkField
.> builder(MarshallingType.LIST)
.memberName("VpcSecurityGroups")
.getter(getter(DBInstance::vpcSecurityGroups))
.setter(setter(Builder::vpcSecurityGroups))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("VpcSecurityGroups").build(),
ListTrait
.builder()
.memberLocationName("VpcSecurityGroupMembership")
.memberFieldInfo(
SdkField. builder(MarshallingType.SDK_POJO)
.constructor(VpcSecurityGroupMembership::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("VpcSecurityGroupMembership").build()).build()).build())
.build();
private static final SdkField> DB_PARAMETER_GROUPS_FIELD = SdkField
.> builder(MarshallingType.LIST)
.memberName("DBParameterGroups")
.getter(getter(DBInstance::dbParameterGroups))
.setter(setter(Builder::dbParameterGroups))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBParameterGroups").build(),
ListTrait
.builder()
.memberLocationName("DBParameterGroup")
.memberFieldInfo(
SdkField. builder(MarshallingType.SDK_POJO)
.constructor(DBParameterGroupStatus::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("DBParameterGroup").build()).build()).build()).build();
private static final SdkField AVAILABILITY_ZONE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("AvailabilityZone").getter(getter(DBInstance::availabilityZone))
.setter(setter(Builder::availabilityZone))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AvailabilityZone").build()).build();
private static final SdkField DB_SUBNET_GROUP_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("DBSubnetGroup")
.getter(getter(DBInstance::dbSubnetGroup)).setter(setter(Builder::dbSubnetGroup)).constructor(DBSubnetGroup::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBSubnetGroup").build()).build();
private static final SdkField PREFERRED_MAINTENANCE_WINDOW_FIELD = SdkField
. builder(MarshallingType.STRING)
.memberName("PreferredMaintenanceWindow")
.getter(getter(DBInstance::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).memberName("PendingModifiedValues")
.getter(getter(DBInstance::pendingModifiedValues)).setter(setter(Builder::pendingModifiedValues))
.constructor(PendingModifiedValues::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("PendingModifiedValues").build())
.build();
private static final SdkField LATEST_RESTORABLE_TIME_FIELD = SdkField. builder(MarshallingType.INSTANT)
.memberName("LatestRestorableTime").getter(getter(DBInstance::latestRestorableTime))
.setter(setter(Builder::latestRestorableTime))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("LatestRestorableTime").build())
.build();
private static final SdkField MULTI_AZ_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
.memberName("MultiAZ").getter(getter(DBInstance::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)
.memberName("EngineVersion").getter(getter(DBInstance::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)
.memberName("AutoMinorVersionUpgrade").getter(getter(DBInstance::autoMinorVersionUpgrade))
.setter(setter(Builder::autoMinorVersionUpgrade))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AutoMinorVersionUpgrade").build())
.build();
private static final SdkField READ_REPLICA_SOURCE_DB_INSTANCE_IDENTIFIER_FIELD = SdkField
. builder(MarshallingType.STRING)
.memberName("ReadReplicaSourceDBInstanceIdentifier")
.getter(getter(DBInstance::readReplicaSourceDBInstanceIdentifier))
.setter(setter(Builder::readReplicaSourceDBInstanceIdentifier))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("ReadReplicaSourceDBInstanceIdentifier").build()).build();
private static final SdkField> READ_REPLICA_DB_INSTANCE_IDENTIFIERS_FIELD = SdkField
.> builder(MarshallingType.LIST)
.memberName("ReadReplicaDBInstanceIdentifiers")
.getter(getter(DBInstance::readReplicaDBInstanceIdentifiers))
.setter(setter(Builder::readReplicaDBInstanceIdentifiers))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ReadReplicaDBInstanceIdentifiers")
.build(),
ListTrait
.builder()
.memberLocationName("ReadReplicaDBInstanceIdentifier")
.memberFieldInfo(
SdkField. builder(MarshallingType.STRING)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("ReadReplicaDBInstanceIdentifier").build()).build()).build())
.build();
private static final SdkField> READ_REPLICA_DB_CLUSTER_IDENTIFIERS_FIELD = SdkField
.> builder(MarshallingType.LIST)
.memberName("ReadReplicaDBClusterIdentifiers")
.getter(getter(DBInstance::readReplicaDBClusterIdentifiers))
.setter(setter(Builder::readReplicaDBClusterIdentifiers))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ReadReplicaDBClusterIdentifiers")
.build(),
ListTrait
.builder()
.memberLocationName("ReadReplicaDBClusterIdentifier")
.memberFieldInfo(
SdkField. builder(MarshallingType.STRING)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("ReadReplicaDBClusterIdentifier").build()).build()).build())
.build();
private static final SdkField REPLICA_MODE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("ReplicaMode").getter(getter(DBInstance::replicaModeAsString)).setter(setter(Builder::replicaMode))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ReplicaMode").build()).build();
private static final SdkField LICENSE_MODEL_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("LicenseModel").getter(getter(DBInstance::licenseModel)).setter(setter(Builder::licenseModel))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("LicenseModel").build()).build();
private static final SdkField IOPS_FIELD = SdkField. builder(MarshallingType.INTEGER).memberName("Iops")
.getter(getter(DBInstance::iops)).setter(setter(Builder::iops))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Iops").build()).build();
private static final SdkField> OPTION_GROUP_MEMBERSHIPS_FIELD = SdkField
.> builder(MarshallingType.LIST)
.memberName("OptionGroupMemberships")
.getter(getter(DBInstance::optionGroupMemberships))
.setter(setter(Builder::optionGroupMemberships))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("OptionGroupMemberships").build(),
ListTrait
.builder()
.memberLocationName("OptionGroupMembership")
.memberFieldInfo(
SdkField. builder(MarshallingType.SDK_POJO)
.constructor(OptionGroupMembership::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("OptionGroupMembership").build()).build()).build()).build();
private static final SdkField CHARACTER_SET_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("CharacterSetName").getter(getter(DBInstance::characterSetName))
.setter(setter(Builder::characterSetName))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CharacterSetName").build()).build();
private static final SdkField NCHAR_CHARACTER_SET_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("NcharCharacterSetName").getter(getter(DBInstance::ncharCharacterSetName))
.setter(setter(Builder::ncharCharacterSetName))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("NcharCharacterSetName").build())
.build();
private static final SdkField SECONDARY_AVAILABILITY_ZONE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("SecondaryAvailabilityZone").getter(getter(DBInstance::secondaryAvailabilityZone))
.setter(setter(Builder::secondaryAvailabilityZone))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SecondaryAvailabilityZone").build())
.build();
private static final SdkField PUBLICLY_ACCESSIBLE_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
.memberName("PubliclyAccessible").getter(getter(DBInstance::publiclyAccessible))
.setter(setter(Builder::publiclyAccessible))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("PubliclyAccessible").build())
.build();
private static final SdkField> STATUS_INFOS_FIELD = SdkField
.> builder(MarshallingType.LIST)
.memberName("StatusInfos")
.getter(getter(DBInstance::statusInfos))
.setter(setter(Builder::statusInfos))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("StatusInfos").build(),
ListTrait
.builder()
.memberLocationName("DBInstanceStatusInfo")
.memberFieldInfo(
SdkField. builder(MarshallingType.SDK_POJO)
.constructor(DBInstanceStatusInfo::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("DBInstanceStatusInfo").build()).build()).build()).build();
private static final SdkField STORAGE_TYPE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("StorageType").getter(getter(DBInstance::storageType)).setter(setter(Builder::storageType))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("StorageType").build()).build();
private static final SdkField TDE_CREDENTIAL_ARN_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("TdeCredentialArn").getter(getter(DBInstance::tdeCredentialArn))
.setter(setter(Builder::tdeCredentialArn))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("TdeCredentialArn").build()).build();
private static final SdkField DB_INSTANCE_PORT_FIELD = SdkField. builder(MarshallingType.INTEGER)
.memberName("DbInstancePort").getter(getter(DBInstance::dbInstancePort)).setter(setter(Builder::dbInstancePort))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DbInstancePort").build()).build();
private static final SdkField DB_CLUSTER_IDENTIFIER_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("DBClusterIdentifier").getter(getter(DBInstance::dbClusterIdentifier))
.setter(setter(Builder::dbClusterIdentifier))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBClusterIdentifier").build())
.build();
private static final SdkField STORAGE_ENCRYPTED_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
.memberName("StorageEncrypted").getter(getter(DBInstance::storageEncrypted))
.setter(setter(Builder::storageEncrypted))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("StorageEncrypted").build()).build();
private static final SdkField KMS_KEY_ID_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("KmsKeyId").getter(getter(DBInstance::kmsKeyId)).setter(setter(Builder::kmsKeyId))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("KmsKeyId").build()).build();
private static final SdkField DBI_RESOURCE_ID_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("DbiResourceId").getter(getter(DBInstance::dbiResourceId)).setter(setter(Builder::dbiResourceId))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DbiResourceId").build()).build();
private static final SdkField CA_CERTIFICATE_IDENTIFIER_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("CACertificateIdentifier").getter(getter(DBInstance::caCertificateIdentifier))
.setter(setter(Builder::caCertificateIdentifier))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CACertificateIdentifier").build())
.build();
private static final SdkField> DOMAIN_MEMBERSHIPS_FIELD = SdkField
.> builder(MarshallingType.LIST)
.memberName("DomainMemberships")
.getter(getter(DBInstance::domainMemberships))
.setter(setter(Builder::domainMemberships))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DomainMemberships").build(),
ListTrait
.builder()
.memberLocationName("DomainMembership")
.memberFieldInfo(
SdkField. builder(MarshallingType.SDK_POJO)
.constructor(DomainMembership::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("DomainMembership").build()).build()).build()).build();
private static final SdkField COPY_TAGS_TO_SNAPSHOT_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
.memberName("CopyTagsToSnapshot").getter(getter(DBInstance::copyTagsToSnapshot))
.setter(setter(Builder::copyTagsToSnapshot))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CopyTagsToSnapshot").build())
.build();
private static final SdkField MONITORING_INTERVAL_FIELD = SdkField. builder(MarshallingType.INTEGER)
.memberName("MonitoringInterval").getter(getter(DBInstance::monitoringInterval))
.setter(setter(Builder::monitoringInterval))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("MonitoringInterval").build())
.build();
private static final SdkField ENHANCED_MONITORING_RESOURCE_ARN_FIELD = SdkField
. builder(MarshallingType.STRING)
.memberName("EnhancedMonitoringResourceArn")
.getter(getter(DBInstance::enhancedMonitoringResourceArn))
.setter(setter(Builder::enhancedMonitoringResourceArn))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EnhancedMonitoringResourceArn")
.build()).build();
private static final SdkField MONITORING_ROLE_ARN_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("MonitoringRoleArn").getter(getter(DBInstance::monitoringRoleArn))
.setter(setter(Builder::monitoringRoleArn))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("MonitoringRoleArn").build()).build();
private static final SdkField PROMOTION_TIER_FIELD = SdkField. builder(MarshallingType.INTEGER)
.memberName("PromotionTier").getter(getter(DBInstance::promotionTier)).setter(setter(Builder::promotionTier))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("PromotionTier").build()).build();
private static final SdkField DB_INSTANCE_ARN_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("DBInstanceArn").getter(getter(DBInstance::dbInstanceArn)).setter(setter(Builder::dbInstanceArn))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBInstanceArn").build()).build();
private static final SdkField TIMEZONE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("Timezone").getter(getter(DBInstance::timezone)).setter(setter(Builder::timezone))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Timezone").build()).build();
private static final SdkField IAM_DATABASE_AUTHENTICATION_ENABLED_FIELD = SdkField
. builder(MarshallingType.BOOLEAN)
.memberName("IAMDatabaseAuthenticationEnabled")
.getter(getter(DBInstance::iamDatabaseAuthenticationEnabled))
.setter(setter(Builder::iamDatabaseAuthenticationEnabled))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("IAMDatabaseAuthenticationEnabled")
.build()).build();
private static final SdkField PERFORMANCE_INSIGHTS_ENABLED_FIELD = SdkField
. builder(MarshallingType.BOOLEAN)
.memberName("PerformanceInsightsEnabled")
.getter(getter(DBInstance::performanceInsightsEnabled))
.setter(setter(Builder::performanceInsightsEnabled))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("PerformanceInsightsEnabled").build())
.build();
private static final SdkField PERFORMANCE_INSIGHTS_KMS_KEY_ID_FIELD = SdkField
. builder(MarshallingType.STRING)
.memberName("PerformanceInsightsKMSKeyId")
.getter(getter(DBInstance::performanceInsightsKMSKeyId))
.setter(setter(Builder::performanceInsightsKMSKeyId))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("PerformanceInsightsKMSKeyId")
.build()).build();
private static final SdkField PERFORMANCE_INSIGHTS_RETENTION_PERIOD_FIELD = SdkField
. builder(MarshallingType.INTEGER)
.memberName("PerformanceInsightsRetentionPeriod")
.getter(getter(DBInstance::performanceInsightsRetentionPeriod))
.setter(setter(Builder::performanceInsightsRetentionPeriod))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("PerformanceInsightsRetentionPeriod")
.build()).build();
private static final SdkField> ENABLED_CLOUDWATCH_LOGS_EXPORTS_FIELD = SdkField
.> builder(MarshallingType.LIST)
.memberName("EnabledCloudwatchLogsExports")
.getter(getter(DBInstance::enabledCloudwatchLogsExports))
.setter(setter(Builder::enabledCloudwatchLogsExports))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EnabledCloudwatchLogsExports")
.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> PROCESSOR_FEATURES_FIELD = SdkField
.> builder(MarshallingType.LIST)
.memberName("ProcessorFeatures")
.getter(getter(DBInstance::processorFeatures))
.setter(setter(Builder::processorFeatures))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ProcessorFeatures").build(),
ListTrait
.builder()
.memberLocationName("ProcessorFeature")
.memberFieldInfo(
SdkField. builder(MarshallingType.SDK_POJO)
.constructor(ProcessorFeature::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("ProcessorFeature").build()).build()).build()).build();
private static final SdkField DELETION_PROTECTION_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
.memberName("DeletionProtection").getter(getter(DBInstance::deletionProtection))
.setter(setter(Builder::deletionProtection))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DeletionProtection").build())
.build();
private static final SdkField> ASSOCIATED_ROLES_FIELD = SdkField
.> builder(MarshallingType.LIST)
.memberName("AssociatedRoles")
.getter(getter(DBInstance::associatedRoles))
.setter(setter(Builder::associatedRoles))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AssociatedRoles").build(),
ListTrait
.builder()
.memberLocationName("DBInstanceRole")
.memberFieldInfo(
SdkField. builder(MarshallingType.SDK_POJO)
.constructor(DBInstanceRole::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("DBInstanceRole").build()).build()).build()).build();
private static final SdkField LISTENER_ENDPOINT_FIELD = SdkField. builder(MarshallingType.SDK_POJO)
.memberName("ListenerEndpoint").getter(getter(DBInstance::listenerEndpoint))
.setter(setter(Builder::listenerEndpoint)).constructor(Endpoint::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ListenerEndpoint").build()).build();
private static final SdkField MAX_ALLOCATED_STORAGE_FIELD = SdkField. builder(MarshallingType.INTEGER)
.memberName("MaxAllocatedStorage").getter(getter(DBInstance::maxAllocatedStorage))
.setter(setter(Builder::maxAllocatedStorage))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("MaxAllocatedStorage").build())
.build();
private static final SdkField> TAG_LIST_FIELD = SdkField
.> builder(MarshallingType.LIST)
.memberName("TagList")
.getter(getter(DBInstance::tagList))
.setter(setter(Builder::tagList))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("TagList").build(),
ListTrait
.builder()
.memberLocationName("Tag")
.memberFieldInfo(
SdkField. builder(MarshallingType.SDK_POJO)
.constructor(Tag::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("Tag").build()).build()).build()).build();
private static final SdkField> DB_INSTANCE_AUTOMATED_BACKUPS_REPLICATIONS_FIELD = SdkField
.> builder(MarshallingType.LIST)
.memberName("DBInstanceAutomatedBackupsReplications")
.getter(getter(DBInstance::dbInstanceAutomatedBackupsReplications))
.setter(setter(Builder::dbInstanceAutomatedBackupsReplications))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("DBInstanceAutomatedBackupsReplications").build(),
ListTrait
.builder()
.memberLocationName("DBInstanceAutomatedBackupsReplication")
.memberFieldInfo(
SdkField. builder(MarshallingType.SDK_POJO)
.constructor(DBInstanceAutomatedBackupsReplication::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("DBInstanceAutomatedBackupsReplication").build()).build())
.build()).build();
private static final SdkField CUSTOMER_OWNED_IP_ENABLED_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
.memberName("CustomerOwnedIpEnabled").getter(getter(DBInstance::customerOwnedIpEnabled))
.setter(setter(Builder::customerOwnedIpEnabled))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CustomerOwnedIpEnabled").build())
.build();
private static final SdkField AWS_BACKUP_RECOVERY_POINT_ARN_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("AwsBackupRecoveryPointArn").getter(getter(DBInstance::awsBackupRecoveryPointArn))
.setter(setter(Builder::awsBackupRecoveryPointArn))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AwsBackupRecoveryPointArn").build())
.build();
private static final SdkField ACTIVITY_STREAM_STATUS_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("ActivityStreamStatus").getter(getter(DBInstance::activityStreamStatusAsString))
.setter(setter(Builder::activityStreamStatus))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ActivityStreamStatus").build())
.build();
private static final SdkField ACTIVITY_STREAM_KMS_KEY_ID_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("ActivityStreamKmsKeyId").getter(getter(DBInstance::activityStreamKmsKeyId))
.setter(setter(Builder::activityStreamKmsKeyId))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ActivityStreamKmsKeyId").build())
.build();
private static final SdkField ACTIVITY_STREAM_KINESIS_STREAM_NAME_FIELD = SdkField
. builder(MarshallingType.STRING)
.memberName("ActivityStreamKinesisStreamName")
.getter(getter(DBInstance::activityStreamKinesisStreamName))
.setter(setter(Builder::activityStreamKinesisStreamName))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ActivityStreamKinesisStreamName")
.build()).build();
private static final SdkField ACTIVITY_STREAM_MODE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("ActivityStreamMode").getter(getter(DBInstance::activityStreamModeAsString))
.setter(setter(Builder::activityStreamMode))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ActivityStreamMode").build())
.build();
private static final SdkField ACTIVITY_STREAM_ENGINE_NATIVE_AUDIT_FIELDS_INCLUDED_FIELD = SdkField
. builder(MarshallingType.BOOLEAN)
.memberName("ActivityStreamEngineNativeAuditFieldsIncluded")
.getter(getter(DBInstance::activityStreamEngineNativeAuditFieldsIncluded))
.setter(setter(Builder::activityStreamEngineNativeAuditFieldsIncluded))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("ActivityStreamEngineNativeAuditFieldsIncluded").build()).build();
private static final SdkField AUTOMATION_MODE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("AutomationMode").getter(getter(DBInstance::automationModeAsString))
.setter(setter(Builder::automationMode))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AutomationMode").build()).build();
private static final SdkField RESUME_FULL_AUTOMATION_MODE_TIME_FIELD = SdkField
. builder(MarshallingType.INSTANT)
.memberName("ResumeFullAutomationModeTime")
.getter(getter(DBInstance::resumeFullAutomationModeTime))
.setter(setter(Builder::resumeFullAutomationModeTime))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ResumeFullAutomationModeTime")
.build()).build();
private static final SdkField CUSTOM_IAM_INSTANCE_PROFILE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("CustomIamInstanceProfile").getter(getter(DBInstance::customIamInstanceProfile))
.setter(setter(Builder::customIamInstanceProfile))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CustomIamInstanceProfile").build())
.build();
private static final SdkField BACKUP_TARGET_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("BackupTarget").getter(getter(DBInstance::backupTarget)).setter(setter(Builder::backupTarget))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("BackupTarget").build()).build();
private static final SdkField NETWORK_TYPE_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("NetworkType").getter(getter(DBInstance::networkType)).setter(setter(Builder::networkType))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("NetworkType").build()).build();
private static final SdkField ACTIVITY_STREAM_POLICY_STATUS_FIELD = SdkField
. builder(MarshallingType.STRING)
.memberName("ActivityStreamPolicyStatus")
.getter(getter(DBInstance::activityStreamPolicyStatusAsString))
.setter(setter(Builder::activityStreamPolicyStatus))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ActivityStreamPolicyStatus").build())
.build();
private static final SdkField STORAGE_THROUGHPUT_FIELD = SdkField. builder(MarshallingType.INTEGER)
.memberName("StorageThroughput").getter(getter(DBInstance::storageThroughput))
.setter(setter(Builder::storageThroughput))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("StorageThroughput").build()).build();
private static final SdkField DB_SYSTEM_ID_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("DBSystemId").getter(getter(DBInstance::dbSystemId)).setter(setter(Builder::dbSystemId))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBSystemId").build()).build();
private static final SdkField MASTER_USER_SECRET_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("MasterUserSecret")
.getter(getter(DBInstance::masterUserSecret)).setter(setter(Builder::masterUserSecret))
.constructor(MasterUserSecret::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("MasterUserSecret").build()).build();
private static final SdkField CERTIFICATE_DETAILS_FIELD = SdkField
. builder(MarshallingType.SDK_POJO).memberName("CertificateDetails")
.getter(getter(DBInstance::certificateDetails)).setter(setter(Builder::certificateDetails))
.constructor(CertificateDetails::builder)
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CertificateDetails").build())
.build();
private static final SdkField READ_REPLICA_SOURCE_DB_CLUSTER_IDENTIFIER_FIELD = SdkField
. builder(MarshallingType.STRING)
.memberName("ReadReplicaSourceDBClusterIdentifier")
.getter(getter(DBInstance::readReplicaSourceDBClusterIdentifier))
.setter(setter(Builder::readReplicaSourceDBClusterIdentifier))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
.locationName("ReadReplicaSourceDBClusterIdentifier").build()).build();
private static final SdkField PERCENT_PROGRESS_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("PercentProgress").getter(getter(DBInstance::percentProgress)).setter(setter(Builder::percentProgress))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("PercentProgress").build()).build();
private static final SdkField DEDICATED_LOG_VOLUME_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
.memberName("DedicatedLogVolume").getter(getter(DBInstance::dedicatedLogVolume))
.setter(setter(Builder::dedicatedLogVolume))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DedicatedLogVolume").build())
.build();
private static final SdkField IS_STORAGE_CONFIG_UPGRADE_AVAILABLE_FIELD = SdkField
. builder(MarshallingType.BOOLEAN)
.memberName("IsStorageConfigUpgradeAvailable")
.getter(getter(DBInstance::isStorageConfigUpgradeAvailable))
.setter(setter(Builder::isStorageConfigUpgradeAvailable))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("IsStorageConfigUpgradeAvailable")
.build()).build();
private static final SdkField MULTI_TENANT_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
.memberName("MultiTenant").getter(getter(DBInstance::multiTenant)).setter(setter(Builder::multiTenant))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("MultiTenant").build()).build();
private static final SdkField ENGINE_LIFECYCLE_SUPPORT_FIELD = SdkField. builder(MarshallingType.STRING)
.memberName("EngineLifecycleSupport").getter(getter(DBInstance::engineLifecycleSupport))
.setter(setter(Builder::engineLifecycleSupport))
.traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EngineLifecycleSupport").build())
.build();
private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(DB_INSTANCE_IDENTIFIER_FIELD,
DB_INSTANCE_CLASS_FIELD, ENGINE_FIELD, DB_INSTANCE_STATUS_FIELD, AUTOMATIC_RESTART_TIME_FIELD, MASTER_USERNAME_FIELD,
DB_NAME_FIELD, ENDPOINT_FIELD, ALLOCATED_STORAGE_FIELD, INSTANCE_CREATE_TIME_FIELD, PREFERRED_BACKUP_WINDOW_FIELD,
BACKUP_RETENTION_PERIOD_FIELD, DB_SECURITY_GROUPS_FIELD, VPC_SECURITY_GROUPS_FIELD, DB_PARAMETER_GROUPS_FIELD,
AVAILABILITY_ZONE_FIELD, DB_SUBNET_GROUP_FIELD, PREFERRED_MAINTENANCE_WINDOW_FIELD, PENDING_MODIFIED_VALUES_FIELD,
LATEST_RESTORABLE_TIME_FIELD, MULTI_AZ_FIELD, ENGINE_VERSION_FIELD, AUTO_MINOR_VERSION_UPGRADE_FIELD,
READ_REPLICA_SOURCE_DB_INSTANCE_IDENTIFIER_FIELD, READ_REPLICA_DB_INSTANCE_IDENTIFIERS_FIELD,
READ_REPLICA_DB_CLUSTER_IDENTIFIERS_FIELD, REPLICA_MODE_FIELD, LICENSE_MODEL_FIELD, IOPS_FIELD,
OPTION_GROUP_MEMBERSHIPS_FIELD, CHARACTER_SET_NAME_FIELD, NCHAR_CHARACTER_SET_NAME_FIELD,
SECONDARY_AVAILABILITY_ZONE_FIELD, PUBLICLY_ACCESSIBLE_FIELD, STATUS_INFOS_FIELD, STORAGE_TYPE_FIELD,
TDE_CREDENTIAL_ARN_FIELD, DB_INSTANCE_PORT_FIELD, DB_CLUSTER_IDENTIFIER_FIELD, STORAGE_ENCRYPTED_FIELD,
KMS_KEY_ID_FIELD, DBI_RESOURCE_ID_FIELD, CA_CERTIFICATE_IDENTIFIER_FIELD, DOMAIN_MEMBERSHIPS_FIELD,
COPY_TAGS_TO_SNAPSHOT_FIELD, MONITORING_INTERVAL_FIELD, ENHANCED_MONITORING_RESOURCE_ARN_FIELD,
MONITORING_ROLE_ARN_FIELD, PROMOTION_TIER_FIELD, DB_INSTANCE_ARN_FIELD, TIMEZONE_FIELD,
IAM_DATABASE_AUTHENTICATION_ENABLED_FIELD, PERFORMANCE_INSIGHTS_ENABLED_FIELD, PERFORMANCE_INSIGHTS_KMS_KEY_ID_FIELD,
PERFORMANCE_INSIGHTS_RETENTION_PERIOD_FIELD, ENABLED_CLOUDWATCH_LOGS_EXPORTS_FIELD, PROCESSOR_FEATURES_FIELD,
DELETION_PROTECTION_FIELD, ASSOCIATED_ROLES_FIELD, LISTENER_ENDPOINT_FIELD, MAX_ALLOCATED_STORAGE_FIELD,
TAG_LIST_FIELD, DB_INSTANCE_AUTOMATED_BACKUPS_REPLICATIONS_FIELD, CUSTOMER_OWNED_IP_ENABLED_FIELD,
AWS_BACKUP_RECOVERY_POINT_ARN_FIELD, ACTIVITY_STREAM_STATUS_FIELD, ACTIVITY_STREAM_KMS_KEY_ID_FIELD,
ACTIVITY_STREAM_KINESIS_STREAM_NAME_FIELD, ACTIVITY_STREAM_MODE_FIELD,
ACTIVITY_STREAM_ENGINE_NATIVE_AUDIT_FIELDS_INCLUDED_FIELD, AUTOMATION_MODE_FIELD,
RESUME_FULL_AUTOMATION_MODE_TIME_FIELD, CUSTOM_IAM_INSTANCE_PROFILE_FIELD, BACKUP_TARGET_FIELD, NETWORK_TYPE_FIELD,
ACTIVITY_STREAM_POLICY_STATUS_FIELD, STORAGE_THROUGHPUT_FIELD, DB_SYSTEM_ID_FIELD, MASTER_USER_SECRET_FIELD,
CERTIFICATE_DETAILS_FIELD, READ_REPLICA_SOURCE_DB_CLUSTER_IDENTIFIER_FIELD, PERCENT_PROGRESS_FIELD,
DEDICATED_LOG_VOLUME_FIELD, IS_STORAGE_CONFIG_UPGRADE_AVAILABLE_FIELD, MULTI_TENANT_FIELD,
ENGINE_LIFECYCLE_SUPPORT_FIELD));
private static final long serialVersionUID = 1L;
private final String dbInstanceIdentifier;
private final String dbInstanceClass;
private final String engine;
private final String dbInstanceStatus;
private final Instant automaticRestartTime;
private final String masterUsername;
private final String dbName;
private final Endpoint endpoint;
private final Integer allocatedStorage;
private final Instant instanceCreateTime;
private final String preferredBackupWindow;
private final Integer backupRetentionPeriod;
private final List dbSecurityGroups;
private final List vpcSecurityGroups;
private final List dbParameterGroups;
private final String availabilityZone;
private final DBSubnetGroup dbSubnetGroup;
private final String preferredMaintenanceWindow;
private final PendingModifiedValues pendingModifiedValues;
private final Instant latestRestorableTime;
private final Boolean multiAZ;
private final String engineVersion;
private final Boolean autoMinorVersionUpgrade;
private final String readReplicaSourceDBInstanceIdentifier;
private final List readReplicaDBInstanceIdentifiers;
private final List readReplicaDBClusterIdentifiers;
private final String replicaMode;
private final String licenseModel;
private final Integer iops;
private final List optionGroupMemberships;
private final String characterSetName;
private final String ncharCharacterSetName;
private final String secondaryAvailabilityZone;
private final Boolean publiclyAccessible;
private final List statusInfos;
private final String storageType;
private final String tdeCredentialArn;
private final Integer dbInstancePort;
private final String dbClusterIdentifier;
private final Boolean storageEncrypted;
private final String kmsKeyId;
private final String dbiResourceId;
private final String caCertificateIdentifier;
private final List domainMemberships;
private final Boolean copyTagsToSnapshot;
private final Integer monitoringInterval;
private final String enhancedMonitoringResourceArn;
private final String monitoringRoleArn;
private final Integer promotionTier;
private final String dbInstanceArn;
private final String timezone;
private final Boolean iamDatabaseAuthenticationEnabled;
private final Boolean performanceInsightsEnabled;
private final String performanceInsightsKMSKeyId;
private final Integer performanceInsightsRetentionPeriod;
private final List enabledCloudwatchLogsExports;
private final List processorFeatures;
private final Boolean deletionProtection;
private final List associatedRoles;
private final Endpoint listenerEndpoint;
private final Integer maxAllocatedStorage;
private final List tagList;
private final List dbInstanceAutomatedBackupsReplications;
private final Boolean customerOwnedIpEnabled;
private final String awsBackupRecoveryPointArn;
private final String activityStreamStatus;
private final String activityStreamKmsKeyId;
private final String activityStreamKinesisStreamName;
private final String activityStreamMode;
private final Boolean activityStreamEngineNativeAuditFieldsIncluded;
private final String automationMode;
private final Instant resumeFullAutomationModeTime;
private final String customIamInstanceProfile;
private final String backupTarget;
private final String networkType;
private final String activityStreamPolicyStatus;
private final Integer storageThroughput;
private final String dbSystemId;
private final MasterUserSecret masterUserSecret;
private final CertificateDetails certificateDetails;
private final String readReplicaSourceDBClusterIdentifier;
private final String percentProgress;
private final Boolean dedicatedLogVolume;
private final Boolean isStorageConfigUpgradeAvailable;
private final Boolean multiTenant;
private final String engineLifecycleSupport;
private DBInstance(BuilderImpl builder) {
this.dbInstanceIdentifier = builder.dbInstanceIdentifier;
this.dbInstanceClass = builder.dbInstanceClass;
this.engine = builder.engine;
this.dbInstanceStatus = builder.dbInstanceStatus;
this.automaticRestartTime = builder.automaticRestartTime;
this.masterUsername = builder.masterUsername;
this.dbName = builder.dbName;
this.endpoint = builder.endpoint;
this.allocatedStorage = builder.allocatedStorage;
this.instanceCreateTime = builder.instanceCreateTime;
this.preferredBackupWindow = builder.preferredBackupWindow;
this.backupRetentionPeriod = builder.backupRetentionPeriod;
this.dbSecurityGroups = builder.dbSecurityGroups;
this.vpcSecurityGroups = builder.vpcSecurityGroups;
this.dbParameterGroups = builder.dbParameterGroups;
this.availabilityZone = builder.availabilityZone;
this.dbSubnetGroup = builder.dbSubnetGroup;
this.preferredMaintenanceWindow = builder.preferredMaintenanceWindow;
this.pendingModifiedValues = builder.pendingModifiedValues;
this.latestRestorableTime = builder.latestRestorableTime;
this.multiAZ = builder.multiAZ;
this.engineVersion = builder.engineVersion;
this.autoMinorVersionUpgrade = builder.autoMinorVersionUpgrade;
this.readReplicaSourceDBInstanceIdentifier = builder.readReplicaSourceDBInstanceIdentifier;
this.readReplicaDBInstanceIdentifiers = builder.readReplicaDBInstanceIdentifiers;
this.readReplicaDBClusterIdentifiers = builder.readReplicaDBClusterIdentifiers;
this.replicaMode = builder.replicaMode;
this.licenseModel = builder.licenseModel;
this.iops = builder.iops;
this.optionGroupMemberships = builder.optionGroupMemberships;
this.characterSetName = builder.characterSetName;
this.ncharCharacterSetName = builder.ncharCharacterSetName;
this.secondaryAvailabilityZone = builder.secondaryAvailabilityZone;
this.publiclyAccessible = builder.publiclyAccessible;
this.statusInfos = builder.statusInfos;
this.storageType = builder.storageType;
this.tdeCredentialArn = builder.tdeCredentialArn;
this.dbInstancePort = builder.dbInstancePort;
this.dbClusterIdentifier = builder.dbClusterIdentifier;
this.storageEncrypted = builder.storageEncrypted;
this.kmsKeyId = builder.kmsKeyId;
this.dbiResourceId = builder.dbiResourceId;
this.caCertificateIdentifier = builder.caCertificateIdentifier;
this.domainMemberships = builder.domainMemberships;
this.copyTagsToSnapshot = builder.copyTagsToSnapshot;
this.monitoringInterval = builder.monitoringInterval;
this.enhancedMonitoringResourceArn = builder.enhancedMonitoringResourceArn;
this.monitoringRoleArn = builder.monitoringRoleArn;
this.promotionTier = builder.promotionTier;
this.dbInstanceArn = builder.dbInstanceArn;
this.timezone = builder.timezone;
this.iamDatabaseAuthenticationEnabled = builder.iamDatabaseAuthenticationEnabled;
this.performanceInsightsEnabled = builder.performanceInsightsEnabled;
this.performanceInsightsKMSKeyId = builder.performanceInsightsKMSKeyId;
this.performanceInsightsRetentionPeriod = builder.performanceInsightsRetentionPeriod;
this.enabledCloudwatchLogsExports = builder.enabledCloudwatchLogsExports;
this.processorFeatures = builder.processorFeatures;
this.deletionProtection = builder.deletionProtection;
this.associatedRoles = builder.associatedRoles;
this.listenerEndpoint = builder.listenerEndpoint;
this.maxAllocatedStorage = builder.maxAllocatedStorage;
this.tagList = builder.tagList;
this.dbInstanceAutomatedBackupsReplications = builder.dbInstanceAutomatedBackupsReplications;
this.customerOwnedIpEnabled = builder.customerOwnedIpEnabled;
this.awsBackupRecoveryPointArn = builder.awsBackupRecoveryPointArn;
this.activityStreamStatus = builder.activityStreamStatus;
this.activityStreamKmsKeyId = builder.activityStreamKmsKeyId;
this.activityStreamKinesisStreamName = builder.activityStreamKinesisStreamName;
this.activityStreamMode = builder.activityStreamMode;
this.activityStreamEngineNativeAuditFieldsIncluded = builder.activityStreamEngineNativeAuditFieldsIncluded;
this.automationMode = builder.automationMode;
this.resumeFullAutomationModeTime = builder.resumeFullAutomationModeTime;
this.customIamInstanceProfile = builder.customIamInstanceProfile;
this.backupTarget = builder.backupTarget;
this.networkType = builder.networkType;
this.activityStreamPolicyStatus = builder.activityStreamPolicyStatus;
this.storageThroughput = builder.storageThroughput;
this.dbSystemId = builder.dbSystemId;
this.masterUserSecret = builder.masterUserSecret;
this.certificateDetails = builder.certificateDetails;
this.readReplicaSourceDBClusterIdentifier = builder.readReplicaSourceDBClusterIdentifier;
this.percentProgress = builder.percentProgress;
this.dedicatedLogVolume = builder.dedicatedLogVolume;
this.isStorageConfigUpgradeAvailable = builder.isStorageConfigUpgradeAvailable;
this.multiTenant = builder.multiTenant;
this.engineLifecycleSupport = builder.engineLifecycleSupport;
}
/**
*
* The user-supplied database identifier. This identifier is the unique key that identifies a DB instance.
*
*
* @return The user-supplied database identifier. This identifier is the unique key that identifies a DB instance.
*/
public final String dbInstanceIdentifier() {
return dbInstanceIdentifier;
}
/**
*
* The name of the compute and memory capacity class of the DB instance.
*
*
* @return The name of the compute and memory capacity class of the DB instance.
*/
public final String dbInstanceClass() {
return dbInstanceClass;
}
/**
*
* The database engine used for this DB instance.
*
*
* @return The database engine used for this DB instance.
*/
public final String engine() {
return engine;
}
/**
*
* The current state of this database.
*
*
* For information about DB instance statuses, see Viewing DB instance status in the Amazon RDS User Guide.
*
*
* @return The current state of this database.
*
* For information about DB instance statuses, see Viewing DB instance status in the Amazon RDS User Guide.
*/
public final String dbInstanceStatus() {
return dbInstanceStatus;
}
/**
*
* The time when a stopped DB instance is restarted automatically.
*
*
* @return The time when a stopped DB instance is restarted automatically.
*/
public final Instant automaticRestartTime() {
return automaticRestartTime;
}
/**
*
* The master username for the DB instance.
*
*
* @return The master username for the DB instance.
*/
public final String masterUsername() {
return masterUsername;
}
/**
*
* The initial database name that you provided (if required) when you created the DB instance. This name is returned
* for the life of your DB instance. For an RDS for Oracle CDB instance, the name identifies the PDB rather than the
* CDB.
*
*
* @return The initial database name that you provided (if required) when you created the DB instance. This name is
* returned for the life of your DB instance. For an RDS for Oracle CDB instance, the name identifies the
* PDB rather than the CDB.
*/
public final String dbName() {
return dbName;
}
/**
*
* The connection endpoint for the DB instance.
*
*
*
* The endpoint might not be shown for instances with the status of creating
.
*
*
*
* @return The connection endpoint for the DB instance.
*
* The endpoint might not be shown for instances with the status of creating
.
*
*/
public final Endpoint endpoint() {
return endpoint;
}
/**
*
* The amount of storage in gibibytes (GiB) allocated for the DB instance.
*
*
* @return The amount of storage in gibibytes (GiB) allocated for the DB instance.
*/
public final Integer allocatedStorage() {
return allocatedStorage;
}
/**
*
* The date and time when the DB instance was created.
*
*
* @return The date and time when the DB instance was created.
*/
public final Instant instanceCreateTime() {
return instanceCreateTime;
}
/**
*
* The daily time range during which automated backups are created if automated backups are enabled, as determined
* by the BackupRetentionPeriod
.
*
*
* @return The daily time range during which automated backups are created if automated backups are enabled, as
* determined by the BackupRetentionPeriod
.
*/
public final String preferredBackupWindow() {
return preferredBackupWindow;
}
/**
*
* The number of days for which automatic DB snapshots are retained.
*
*
* @return The number of days for which automatic DB snapshots are retained.
*/
public final Integer backupRetentionPeriod() {
return backupRetentionPeriod;
}
/**
* For responses, this returns true if the service returned a value for the DBSecurityGroups 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 hasDbSecurityGroups() {
return dbSecurityGroups != null && !(dbSecurityGroups instanceof SdkAutoConstructList);
}
/**
*
* A list of DB security group elements containing DBSecurityGroup.Name
and
* DBSecurityGroup.Status
subelements.
*
*
* 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 #hasDbSecurityGroups} method.
*
*
* @return A list of DB security group elements containing DBSecurityGroup.Name
and
* DBSecurityGroup.Status
subelements.
*/
public final List dbSecurityGroups() {
return dbSecurityGroups;
}
/**
* 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 list of Amazon EC2 VPC security groups that the DB instance belongs to.
*
*
* 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 list of Amazon EC2 VPC security groups that the DB instance belongs to.
*/
public final List vpcSecurityGroups() {
return vpcSecurityGroups;
}
/**
* For responses, this returns true if the service returned a value for the DBParameterGroups 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 hasDbParameterGroups() {
return dbParameterGroups != null && !(dbParameterGroups instanceof SdkAutoConstructList);
}
/**
*
* The list of DB parameter groups applied to this DB 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 #hasDbParameterGroups} method.
*
*
* @return The list of DB parameter groups applied to this DB instance.
*/
public final List dbParameterGroups() {
return dbParameterGroups;
}
/**
*
* The name of the Availability Zone where the DB instance is located.
*
*
* @return The name of the Availability Zone where the DB instance is located.
*/
public final String availabilityZone() {
return availabilityZone;
}
/**
*
* Information about the subnet group associated with the DB instance, including the name, description, and subnets
* in the subnet group.
*
*
* @return Information about the subnet group associated with the DB instance, including the name, description, and
* subnets in the subnet group.
*/
public final DBSubnetGroup dbSubnetGroup() {
return dbSubnetGroup;
}
/**
*
* The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
*
*
* @return The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
*/
public final String preferredMaintenanceWindow() {
return preferredMaintenanceWindow;
}
/**
*
* Information about pending changes to the DB instance. This information is returned only when there are pending
* changes. Specific changes are identified by subelements.
*
*
* @return Information about pending changes to the DB instance. This information is returned only when there are
* pending changes. Specific changes are identified by subelements.
*/
public final PendingModifiedValues pendingModifiedValues() {
return pendingModifiedValues;
}
/**
*
* The latest time to which a database in this DB instance can be restored with point-in-time restore.
*
*
* @return The latest time to which a database in this DB instance can be restored with point-in-time restore.
*/
public final Instant latestRestorableTime() {
return latestRestorableTime;
}
/**
*
* Indicates whether the DB instance is a Multi-AZ deployment. This setting doesn't apply to RDS Custom DB
* instances.
*
*
* @return Indicates whether the DB instance is a Multi-AZ deployment. This setting doesn't apply to RDS Custom DB
* instances.
*/
public final Boolean multiAZ() {
return multiAZ;
}
/**
*
* The version of the database engine.
*
*
* @return The version of the database engine.
*/
public final String engineVersion() {
return engineVersion;
}
/**
*
* Indicates whether minor version patches are applied automatically.
*
*
* @return Indicates whether minor version patches are applied automatically.
*/
public final Boolean autoMinorVersionUpgrade() {
return autoMinorVersionUpgrade;
}
/**
*
* The identifier of the source DB instance if this DB instance is a read replica.
*
*
* @return The identifier of the source DB instance if this DB instance is a read replica.
*/
public final String readReplicaSourceDBInstanceIdentifier() {
return readReplicaSourceDBInstanceIdentifier;
}
/**
* For responses, this returns true if the service returned a value for the ReadReplicaDBInstanceIdentifiers
* 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 hasReadReplicaDBInstanceIdentifiers() {
return readReplicaDBInstanceIdentifiers != null && !(readReplicaDBInstanceIdentifiers instanceof SdkAutoConstructList);
}
/**
*
* The identifiers of the read replicas associated with this DB 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 #hasReadReplicaDBInstanceIdentifiers}
* method.
*
*
* @return The identifiers of the read replicas associated with this DB instance.
*/
public final List readReplicaDBInstanceIdentifiers() {
return readReplicaDBInstanceIdentifiers;
}
/**
* For responses, this returns true if the service returned a value for the ReadReplicaDBClusterIdentifiers
* 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 hasReadReplicaDBClusterIdentifiers() {
return readReplicaDBClusterIdentifiers != null && !(readReplicaDBClusterIdentifiers instanceof SdkAutoConstructList);
}
/**
*
* The identifiers of Aurora DB clusters to which the RDS DB instance is replicated as a read replica. For example,
* when you create an Aurora read replica of an RDS for MySQL DB instance, the Aurora MySQL DB cluster for the
* Aurora read replica is shown. This output doesn't contain information about cross-Region Aurora read replicas.
*
*
*
* Currently, each RDS DB instance can have only one Aurora read replica.
*
*
*
* 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 #hasReadReplicaDBClusterIdentifiers}
* method.
*
*
* @return The identifiers of Aurora DB clusters to which the RDS DB instance is replicated as a read replica. For
* example, when you create an Aurora read replica of an RDS for MySQL DB instance, the Aurora MySQL DB
* cluster for the Aurora read replica is shown. This output doesn't contain information about cross-Region
* Aurora read replicas.
*
* Currently, each RDS DB instance can have only one Aurora read replica.
*
*/
public final List readReplicaDBClusterIdentifiers() {
return readReplicaDBClusterIdentifiers;
}
/**
*
* The open mode of an Oracle read replica. The default is open-read-only
. For more information, see Working with Oracle Read
* Replicas for Amazon RDS in the Amazon RDS User Guide.
*
*
*
* This attribute is only supported in RDS for Oracle.
*
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #replicaMode} will
* return {@link ReplicaMode#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #replicaModeAsString}.
*
*
* @return The open mode of an Oracle read replica. The default is open-read-only
. For more
* information, see Working with
* Oracle Read Replicas for Amazon RDS in the Amazon RDS User Guide.
*
* This attribute is only supported in RDS for Oracle.
*
* @see ReplicaMode
*/
public final ReplicaMode replicaMode() {
return ReplicaMode.fromValue(replicaMode);
}
/**
*
* The open mode of an Oracle read replica. The default is open-read-only
. For more information, see Working with Oracle Read
* Replicas for Amazon RDS in the Amazon RDS User Guide.
*
*
*
* This attribute is only supported in RDS for Oracle.
*
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #replicaMode} will
* return {@link ReplicaMode#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from
* {@link #replicaModeAsString}.
*
*
* @return The open mode of an Oracle read replica. The default is open-read-only
. For more
* information, see Working with
* Oracle Read Replicas for Amazon RDS in the Amazon RDS User Guide.
*
* This attribute is only supported in RDS for Oracle.
*
* @see ReplicaMode
*/
public final String replicaModeAsString() {
return replicaMode;
}
/**
*
* The license model information for this DB instance. This setting doesn't apply to Amazon Aurora or RDS Custom DB
* instances.
*
*
* @return The license model information for this DB instance. This setting doesn't apply to Amazon Aurora or RDS
* Custom DB instances.
*/
public final String licenseModel() {
return licenseModel;
}
/**
*
* The Provisioned IOPS (I/O operations per second) value for the DB instance.
*
*
* @return The Provisioned IOPS (I/O operations per second) value for the DB instance.
*/
public final Integer iops() {
return iops;
}
/**
* For responses, this returns true if the service returned a value for the OptionGroupMemberships 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 hasOptionGroupMemberships() {
return optionGroupMemberships != null && !(optionGroupMemberships instanceof SdkAutoConstructList);
}
/**
*
* The list of option group memberships for this DB 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 #hasOptionGroupMemberships} method.
*
*
* @return The list of option group memberships for this DB instance.
*/
public final List optionGroupMemberships() {
return optionGroupMemberships;
}
/**
*
* If present, specifies the name of the character set that this instance is associated with.
*
*
* @return If present, specifies the name of the character set that this instance is associated with.
*/
public final String characterSetName() {
return characterSetName;
}
/**
*
* The name of the NCHAR character set for the Oracle DB instance. This character set specifies the Unicode encoding
* for data stored in table columns of type NCHAR, NCLOB, or NVARCHAR2.
*
*
* @return The name of the NCHAR character set for the Oracle DB instance. This character set specifies the Unicode
* encoding for data stored in table columns of type NCHAR, NCLOB, or NVARCHAR2.
*/
public final String ncharCharacterSetName() {
return ncharCharacterSetName;
}
/**
*
* If present, specifies the name of the secondary Availability Zone for a DB instance with multi-AZ support.
*
*
* @return If present, specifies the name of the secondary Availability Zone for a DB instance with multi-AZ
* support.
*/
public final String secondaryAvailabilityZone() {
return secondaryAvailabilityZone;
}
/**
*
* Indicates whether the DB instance is publicly accessible.
*
*
* When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private
* cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from
* within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB cluster
* is ultimately controlled by the security group it uses. That public access isn't permitted if the security group
* assigned to the DB cluster doesn't permit it.
*
*
* When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a
* private IP address.
*
*
* For more information, see CreateDBInstance.
*
*
* @return Indicates whether the DB instance is publicly accessible.
*
* When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual
* private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you
* connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address.
* Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't
* permitted if the security group assigned to the DB cluster doesn't permit it.
*
*
* When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that
* resolves to a private IP address.
*
*
* For more information, see CreateDBInstance.
*/
public final Boolean publiclyAccessible() {
return publiclyAccessible;
}
/**
* For responses, this returns true if the service returned a value for the StatusInfos 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 hasStatusInfos() {
return statusInfos != null && !(statusInfos instanceof SdkAutoConstructList);
}
/**
*
* The status of a read replica. If the DB instance isn't a read replica, the value is blank.
*
*
* 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 #hasStatusInfos} method.
*
*
* @return The status of a read replica. If the DB instance isn't a read replica, the value is blank.
*/
public final List statusInfos() {
return statusInfos;
}
/**
*
* The storage type associated with the DB instance.
*
*
* @return The storage type associated with the DB instance.
*/
public final String storageType() {
return storageType;
}
/**
*
* The ARN from the key store with which the instance is associated for TDE encryption.
*
*
* @return The ARN from the key store with which the instance is associated for TDE encryption.
*/
public final String tdeCredentialArn() {
return tdeCredentialArn;
}
/**
*
* The port that the DB instance listens on. If the DB instance is part of a DB cluster, this can be a different
* port than the DB cluster port.
*
*
* @return The port that the DB instance listens on. If the DB instance is part of a DB cluster, this can be a
* different port than the DB cluster port.
*/
public final Integer dbInstancePort() {
return dbInstancePort;
}
/**
*
* If the DB instance is a member of a DB cluster, indicates the name of the DB cluster that the DB instance is a
* member of.
*
*
* @return If the DB instance is a member of a DB cluster, indicates the name of the DB cluster that the DB instance
* is a member of.
*/
public final String dbClusterIdentifier() {
return dbClusterIdentifier;
}
/**
*
* Indicates whether the DB instance is encrypted.
*
*
* @return Indicates whether the DB instance is encrypted.
*/
public final Boolean storageEncrypted() {
return storageEncrypted;
}
/**
*
* If StorageEncrypted
is enabled, the Amazon Web Services KMS key identifier for the encrypted DB
* instance.
*
*
* The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.
*
*
* @return If StorageEncrypted
is enabled, the Amazon Web Services KMS key identifier for the encrypted
* DB instance.
*
* The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS
* key.
*/
public final String kmsKeyId() {
return kmsKeyId;
}
/**
*
* The Amazon Web Services Region-unique, immutable identifier for the DB instance. This identifier is found in
* Amazon Web Services CloudTrail log entries whenever the Amazon Web Services KMS key for the DB instance is
* accessed.
*
*
* @return The Amazon Web Services Region-unique, immutable identifier for the DB instance. This identifier is found
* in Amazon Web Services CloudTrail log entries whenever the Amazon Web Services KMS key for the DB
* instance is accessed.
*/
public final String dbiResourceId() {
return dbiResourceId;
}
/**
*
* The identifier of the CA certificate for this DB instance.
*
*
* For more information, see Using SSL/TLS to encrypt a
* connection to a DB instance in the Amazon RDS User Guide and Using SSL/TLS to
* encrypt a connection to a DB cluster in the Amazon Aurora User Guide.
*
*
* @return The identifier of the CA certificate for this DB instance.
*
* For more information, see Using SSL/TLS to
* encrypt a connection to a DB instance in the Amazon RDS User Guide and Using SSL/TLS
* to encrypt a connection to a DB cluster in the Amazon Aurora User Guide.
*/
public final String caCertificateIdentifier() {
return caCertificateIdentifier;
}
/**
* For responses, this returns true if the service returned a value for the DomainMemberships 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 hasDomainMemberships() {
return domainMemberships != null && !(domainMemberships instanceof SdkAutoConstructList);
}
/**
*
* The Active Directory Domain membership records associated with the DB 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 #hasDomainMemberships} method.
*
*
* @return The Active Directory Domain membership records associated with the DB instance.
*/
public final List domainMemberships() {
return domainMemberships;
}
/**
*
* Indicates whether tags are copied from the DB instance to snapshots of the DB instance.
*
*
* This setting doesn't apply to Amazon Aurora DB instances. Copying tags to snapshots is managed by the DB cluster.
* Setting this value for an Aurora DB instance has no effect on the DB cluster setting. For more information, see
* DBCluster
.
*
*
* @return Indicates whether tags are copied from the DB instance to snapshots of the DB instance.
*
* This setting doesn't apply to Amazon Aurora DB instances. Copying tags to snapshots is managed by the DB
* cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting. For more
* information, see DBCluster
.
*/
public final Boolean copyTagsToSnapshot() {
return copyTagsToSnapshot;
}
/**
*
* The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance.
*
*
* @return The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB
* instance.
*/
public final Integer monitoringInterval() {
return monitoringInterval;
}
/**
*
* The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that receives the Enhanced Monitoring
* metrics data for the DB instance.
*
*
* @return The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that receives the Enhanced
* Monitoring metrics data for the DB instance.
*/
public final String enhancedMonitoringResourceArn() {
return enhancedMonitoringResourceArn;
}
/**
*
* The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs.
*
*
* @return The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs.
*/
public final String monitoringRoleArn() {
return monitoringRoleArn;
}
/**
*
* The order of priority in which an Aurora Replica is promoted to the primary instance after a failure of the
* existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.
*
*
* @return The order of priority in which an Aurora Replica is promoted to the primary instance after a failure of
* the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.
*/
public final Integer promotionTier() {
return promotionTier;
}
/**
*
* The Amazon Resource Name (ARN) for the DB instance.
*
*
* @return The Amazon Resource Name (ARN) for the DB instance.
*/
public final String dbInstanceArn() {
return dbInstanceArn;
}
/**
*
* The time zone of the DB instance. In most cases, the Timezone
element is empty.
* Timezone
content appears only for RDS for Db2 and RDS for SQL Server DB instances that were created
* with a time zone specified.
*
*
* @return The time zone of the DB instance. In most cases, the Timezone
element is empty.
* Timezone
content appears only for RDS for Db2 and RDS for SQL Server DB instances that were
* created with a time zone specified.
*/
public final String timezone() {
return timezone;
}
/**
*
* Indicates whether mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database
* accounts is enabled for the DB instance.
*
*
* For a list of engine versions that support IAM database authentication, see IAM database authentication in the Amazon RDS User Guide and IAM database authentication in Aurora in the Amazon Aurora User Guide.
*
*
* @return Indicates whether mapping of Amazon Web Services Identity and Access Management (IAM) accounts to
* database accounts is enabled for the DB instance.
*
* For a list of engine versions that support IAM database authentication, see IAM database authentication in the Amazon RDS User Guide and IAM database authentication in Aurora in the Amazon Aurora User Guide.
*/
public final Boolean iamDatabaseAuthenticationEnabled() {
return iamDatabaseAuthenticationEnabled;
}
/**
*
* Indicates whether Performance Insights is enabled for the DB instance.
*
*
* @return Indicates whether Performance Insights is enabled for the DB instance.
*/
public final Boolean performanceInsightsEnabled() {
return performanceInsightsEnabled;
}
/**
*
* The Amazon Web Services KMS key identifier for encryption of Performance Insights data.
*
*
* The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.
*
*
* @return The Amazon Web Services KMS key identifier for encryption of Performance Insights data.
*
* The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS
* key.
*/
public final String performanceInsightsKMSKeyId() {
return performanceInsightsKMSKeyId;
}
/**
*
* The number of days to retain Performance Insights data.
*
*
* Valid Values:
*
*
* -
*
* 7
*
*
* -
*
* month * 31, where month is a number of months from 1-23. Examples: 93
(3 months * 31),
* 341
(11 months * 31), 589
(19 months * 31)
*
*
* -
*
* 731
*
*
*
*
* Default: 7
days
*
*
* @return The number of days to retain Performance Insights data.
*
* Valid Values:
*
*
* -
*
* 7
*
*
* -
*
* month * 31, where month is a number of months from 1-23. Examples: 93
(3
* months * 31), 341
(11 months * 31), 589
(19 months * 31)
*
*
* -
*
* 731
*
*
*
*
* Default: 7
days
*/
public final Integer performanceInsightsRetentionPeriod() {
return performanceInsightsRetentionPeriod;
}
/**
* For responses, this returns true if the service returned a value for the EnabledCloudwatchLogsExports 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 hasEnabledCloudwatchLogsExports() {
return enabledCloudwatchLogsExports != null && !(enabledCloudwatchLogsExports instanceof SdkAutoConstructList);
}
/**
*
* A list of log types that this DB instance is configured to export to CloudWatch Logs.
*
*
* Log types vary by DB engine. For information about the log types for each DB engine, see Monitoring Amazon RDS log
* files in the Amazon RDS User Guide.
*
*
* 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 #hasEnabledCloudwatchLogsExports} method.
*
*
* @return A list of log types that this DB instance is configured to export to CloudWatch Logs.
*
* Log types vary by DB engine. For information about the log types for each DB engine, see Monitoring Amazon RDS
* log files in the Amazon RDS User Guide.
*/
public final List enabledCloudwatchLogsExports() {
return enabledCloudwatchLogsExports;
}
/**
* For responses, this returns true if the service returned a value for the ProcessorFeatures 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 hasProcessorFeatures() {
return processorFeatures != null && !(processorFeatures instanceof SdkAutoConstructList);
}
/**
*
* The number of CPU cores and the number of threads per core for the DB instance class of the DB 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 #hasProcessorFeatures} method.
*
*
* @return The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.
*/
public final List processorFeatures() {
return processorFeatures;
}
/**
*
* Indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion
* protection is enabled. For more information, see Deleting a DB
* Instance.
*
*
* @return Indicates whether the DB instance has deletion protection enabled. The database can't be deleted when
* deletion protection is enabled. For more information, see Deleting a DB
* Instance.
*/
public final Boolean deletionProtection() {
return deletionProtection;
}
/**
* For responses, this returns true if the service returned a value for the AssociatedRoles 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 hasAssociatedRoles() {
return associatedRoles != null && !(associatedRoles instanceof SdkAutoConstructList);
}
/**
*
* The Amazon Web Services Identity and Access Management (IAM) roles associated with the DB 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 #hasAssociatedRoles} method.
*
*
* @return The Amazon Web Services Identity and Access Management (IAM) roles associated with the DB instance.
*/
public final List associatedRoles() {
return associatedRoles;
}
/**
*
* The listener connection endpoint for SQL Server Always On.
*
*
* @return The listener connection endpoint for SQL Server Always On.
*/
public final Endpoint listenerEndpoint() {
return listenerEndpoint;
}
/**
*
* The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.
*
*
* @return The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB
* instance.
*/
public final Integer maxAllocatedStorage() {
return maxAllocatedStorage;
}
/**
* For responses, this returns true if the service returned a value for the TagList 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 hasTagList() {
return tagList != null && !(tagList instanceof SdkAutoConstructList);
}
/**
* Returns the value of the TagList property for this object.
*
* 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 #hasTagList} method.
*
*
* @return The value of the TagList property for this object.
*/
public final List tagList() {
return tagList;
}
/**
* For responses, this returns true if the service returned a value for the DBInstanceAutomatedBackupsReplications
* 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 hasDbInstanceAutomatedBackupsReplications() {
return dbInstanceAutomatedBackupsReplications != null
&& !(dbInstanceAutomatedBackupsReplications instanceof SdkAutoConstructList);
}
/**
*
* The list of replicated automated backups associated with the DB 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 #hasDbInstanceAutomatedBackupsReplications}
* method.
*
*
* @return The list of replicated automated backups associated with the DB instance.
*/
public final List dbInstanceAutomatedBackupsReplications() {
return dbInstanceAutomatedBackupsReplications;
}
/**
*
* Indicates whether a customer-owned IP address (CoIP) is enabled for an RDS on Outposts DB instance.
*
*
* A CoIP provides local or external connectivity to resources in your Outpost subnets through your
* on-premises network. For some use cases, a CoIP can provide lower latency for connections to the DB instance from
* outside of its virtual private cloud (VPC) on your local network.
*
*
* For more information about RDS on Outposts, see Working with Amazon RDS on
* Amazon Web Services Outposts in the Amazon RDS User Guide.
*
*
* For more information about CoIPs, see Customer-owned IP
* addresses in the Amazon Web Services Outposts User Guide.
*
*
* @return Indicates whether a customer-owned IP address (CoIP) is enabled for an RDS on Outposts DB instance.
*
* A CoIP provides local or external connectivity to resources in your Outpost subnets through your
* on-premises network. For some use cases, a CoIP can provide lower latency for connections to the DB
* instance from outside of its virtual private cloud (VPC) on your local network.
*
*
* For more information about RDS on Outposts, see Working with Amazon
* RDS on Amazon Web Services Outposts in the Amazon RDS User Guide.
*
*
* For more information about CoIPs, see Customer-owned IP
* addresses in the Amazon Web Services Outposts User Guide.
*/
public final Boolean customerOwnedIpEnabled() {
return customerOwnedIpEnabled;
}
/**
*
* The Amazon Resource Name (ARN) of the recovery point in Amazon Web Services Backup.
*
*
* @return The Amazon Resource Name (ARN) of the recovery point in Amazon Web Services Backup.
*/
public final String awsBackupRecoveryPointArn() {
return awsBackupRecoveryPointArn;
}
/**
*
* The status of the database activity stream.
*
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #activityStreamStatus} will return {@link ActivityStreamStatus#UNKNOWN_TO_SDK_VERSION}. The raw value
* returned by the service is available from {@link #activityStreamStatusAsString}.
*
*
* @return The status of the database activity stream.
* @see ActivityStreamStatus
*/
public final ActivityStreamStatus activityStreamStatus() {
return ActivityStreamStatus.fromValue(activityStreamStatus);
}
/**
*
* The status of the database activity stream.
*
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #activityStreamStatus} will return {@link ActivityStreamStatus#UNKNOWN_TO_SDK_VERSION}. The raw value
* returned by the service is available from {@link #activityStreamStatusAsString}.
*
*
* @return The status of the database activity stream.
* @see ActivityStreamStatus
*/
public final String activityStreamStatusAsString() {
return activityStreamStatus;
}
/**
*
* The Amazon Web Services KMS key identifier used for encrypting messages in the database activity stream. The
* Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.
*
*
* @return The Amazon Web Services KMS key identifier used for encrypting messages in the database activity stream.
* The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS
* key.
*/
public final String activityStreamKmsKeyId() {
return activityStreamKmsKeyId;
}
/**
*
* The name of the Amazon Kinesis data stream used for the database activity stream.
*
*
* @return The name of the Amazon Kinesis data stream used for the database activity stream.
*/
public final String activityStreamKinesisStreamName() {
return activityStreamKinesisStreamName;
}
/**
*
* The mode of the database activity stream. Database events such as a change or access generate an activity stream
* event. RDS for Oracle always handles these events asynchronously.
*
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #activityStreamMode} will return {@link ActivityStreamMode#UNKNOWN_TO_SDK_VERSION}. The raw value returned
* by the service is available from {@link #activityStreamModeAsString}.
*
*
* @return The mode of the database activity stream. Database events such as a change or access generate an activity
* stream event. RDS for Oracle always handles these events asynchronously.
* @see ActivityStreamMode
*/
public final ActivityStreamMode activityStreamMode() {
return ActivityStreamMode.fromValue(activityStreamMode);
}
/**
*
* The mode of the database activity stream. Database events such as a change or access generate an activity stream
* event. RDS for Oracle always handles these events asynchronously.
*
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #activityStreamMode} will return {@link ActivityStreamMode#UNKNOWN_TO_SDK_VERSION}. The raw value returned
* by the service is available from {@link #activityStreamModeAsString}.
*
*
* @return The mode of the database activity stream. Database events such as a change or access generate an activity
* stream event. RDS for Oracle always handles these events asynchronously.
* @see ActivityStreamMode
*/
public final String activityStreamModeAsString() {
return activityStreamMode;
}
/**
*
* Indicates whether engine-native audit fields are included in the database activity stream.
*
*
* @return Indicates whether engine-native audit fields are included in the database activity stream.
*/
public final Boolean activityStreamEngineNativeAuditFieldsIncluded() {
return activityStreamEngineNativeAuditFieldsIncluded;
}
/**
*
* The automation mode of the RDS Custom DB instance: full
or all paused
. If
* full
, the DB instance automates monitoring and instance recovery. If all paused
, the
* instance pauses automation for the duration set by --resume-full-automation-mode-minutes
.
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #automationMode}
* will return {@link AutomationMode#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available
* from {@link #automationModeAsString}.
*
*
* @return The automation mode of the RDS Custom DB instance: full
or all paused
. If
* full
, the DB instance automates monitoring and instance recovery. If all paused
* , the instance pauses automation for the duration set by
* --resume-full-automation-mode-minutes
.
* @see AutomationMode
*/
public final AutomationMode automationMode() {
return AutomationMode.fromValue(automationMode);
}
/**
*
* The automation mode of the RDS Custom DB instance: full
or all paused
. If
* full
, the DB instance automates monitoring and instance recovery. If all paused
, the
* instance pauses automation for the duration set by --resume-full-automation-mode-minutes
.
*
*
* If the service returns an enum value that is not available in the current SDK version, {@link #automationMode}
* will return {@link AutomationMode#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available
* from {@link #automationModeAsString}.
*
*
* @return The automation mode of the RDS Custom DB instance: full
or all paused
. If
* full
, the DB instance automates monitoring and instance recovery. If all paused
* , the instance pauses automation for the duration set by
* --resume-full-automation-mode-minutes
.
* @see AutomationMode
*/
public final String automationModeAsString() {
return automationMode;
}
/**
*
* The number of minutes to pause the automation. When the time period ends, RDS Custom resumes full automation. The
* minimum value is 60 (default). The maximum value is 1,440.
*
*
* @return The number of minutes to pause the automation. When the time period ends, RDS Custom resumes full
* automation. The minimum value is 60 (default). The maximum value is 1,440.
*/
public final Instant resumeFullAutomationModeTime() {
return resumeFullAutomationModeTime;
}
/**
*
* The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. The
* instance profile must meet the following requirements:
*
*
* -
*
* The profile must exist in your account.
*
*
* -
*
* The profile must have an IAM role that Amazon EC2 has permissions to assume.
*
*
* -
*
* The instance profile name and the associated IAM role name must start with the prefix AWSRDSCustom
.
*
*
*
*
* For the list of permissions required for the IAM role, see
* Configure IAM and your VPC in the Amazon RDS User Guide.
*
*
* @return The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. The
* instance profile must meet the following requirements:
*
* -
*
* The profile must exist in your account.
*
*
* -
*
* The profile must have an IAM role that Amazon EC2 has permissions to assume.
*
*
* -
*
* The instance profile name and the associated IAM role name must start with the prefix
* AWSRDSCustom
.
*
*
*
*
* For the list of permissions required for the IAM role, see Configure IAM and your VPC in the Amazon RDS User Guide.
*/
public final String customIamInstanceProfile() {
return customIamInstanceProfile;
}
/**
*
* The location where automated backups and manual snapshots are stored: Amazon Web Services Outposts or the Amazon
* Web Services Region.
*
*
* @return The location where automated backups and manual snapshots are stored: Amazon Web Services Outposts or the
* Amazon Web Services Region.
*/
public final String backupTarget() {
return backupTarget;
}
/**
*
* The network type of the DB instance.
*
*
* The network type is determined by the DBSubnetGroup
specified for the DB instance. A
* DBSubnetGroup
can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (
* DUAL
).
*
*
* For more information, see Working
* with a DB instance in a VPC in the Amazon RDS User Guide and
* Working with a DB instance in a VPC in the Amazon Aurora User Guide.
*
*
* Valid Values: IPV4 | DUAL
*
*
* @return The network type of the DB instance.
*
* The network type is determined by the DBSubnetGroup
specified for the DB instance. A
* DBSubnetGroup
can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (
* DUAL
).
*
*
* For more information, see
* Working with a DB instance in a VPC in the Amazon RDS User Guide and Working with a DB instance in a VPC in the Amazon Aurora User Guide.
*
*
* Valid Values: IPV4 | DUAL
*/
public final String networkType() {
return networkType;
}
/**
*
* The status of the policy state of the activity stream.
*
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #activityStreamPolicyStatus} will return {@link ActivityStreamPolicyStatus#UNKNOWN_TO_SDK_VERSION}. The
* raw value returned by the service is available from {@link #activityStreamPolicyStatusAsString}.
*
*
* @return The status of the policy state of the activity stream.
* @see ActivityStreamPolicyStatus
*/
public final ActivityStreamPolicyStatus activityStreamPolicyStatus() {
return ActivityStreamPolicyStatus.fromValue(activityStreamPolicyStatus);
}
/**
*
* The status of the policy state of the activity stream.
*
*
* If the service returns an enum value that is not available in the current SDK version,
* {@link #activityStreamPolicyStatus} will return {@link ActivityStreamPolicyStatus#UNKNOWN_TO_SDK_VERSION}. The
* raw value returned by the service is available from {@link #activityStreamPolicyStatusAsString}.
*
*
* @return The status of the policy state of the activity stream.
* @see ActivityStreamPolicyStatus
*/
public final String activityStreamPolicyStatusAsString() {
return activityStreamPolicyStatus;
}
/**
*
* The storage throughput for the DB instance.
*
*
* This setting applies only to the gp3
storage type.
*
*
* @return The storage throughput for the DB instance.
*
* This setting applies only to the gp3
storage type.
*/
public final Integer storageThroughput() {
return storageThroughput;
}
/**
*
* The Oracle system ID (Oracle SID) for a container database (CDB). The Oracle SID is also the name of the CDB.
* This setting is only valid for RDS Custom DB instances.
*
*
* @return The Oracle system ID (Oracle SID) for a container database (CDB). The Oracle SID is also the name of the
* CDB. This setting is only valid for RDS Custom DB instances.
*/
public final String dbSystemId() {
return dbSystemId;
}
/**
*
* The secret managed by RDS in Amazon Web Services Secrets Manager for the master user password.
*
*
* For more information, see Password management with
* Amazon Web Services Secrets Manager in the Amazon RDS User Guide.
*
*
* @return The secret managed by RDS in Amazon Web Services Secrets Manager for the master user password.
*
* For more information, see Password
* management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide.
*/
public final MasterUserSecret masterUserSecret() {
return masterUserSecret;
}
/**
*
* The details of the DB instance's server certificate.
*
*
* @return The details of the DB instance's server certificate.
*/
public final CertificateDetails certificateDetails() {
return certificateDetails;
}
/**
*
* The identifier of the source DB cluster if this DB instance is a read replica.
*
*
* @return The identifier of the source DB cluster if this DB instance is a read replica.
*/
public final String readReplicaSourceDBClusterIdentifier() {
return readReplicaSourceDBClusterIdentifier;
}
/**
*
* The progress of the storage optimization operation as a percentage.
*
*
* @return The progress of the storage optimization operation as a percentage.
*/
public final String percentProgress() {
return percentProgress;
}
/**
*
* Indicates whether the DB instance has a dedicated log volume (DLV) enabled.
*
*
* @return Indicates whether the DB instance has a dedicated log volume (DLV) enabled.
*/
public final Boolean dedicatedLogVolume() {
return dedicatedLogVolume;
}
/**
*
* Indicates whether an upgrade is recommended for the storage file system configuration on the DB instance. To
* migrate to the preferred configuration, you can either create a blue/green deployment, or create a read replica
* from the DB instance. For more information, see Upgrading the storage file system for a DB instance.
*
*
* @return Indicates whether an upgrade is recommended for the storage file system configuration on the DB instance.
* To migrate to the preferred configuration, you can either create a blue/green deployment, or create a
* read replica from the DB instance. For more information, see Upgrading the storage file system for a DB instance.
*/
public final Boolean isStorageConfigUpgradeAvailable() {
return isStorageConfigUpgradeAvailable;
}
/**
*
* Specifies whether the DB instance is in the multi-tenant configuration (TRUE) or the single-tenant configuration
* (FALSE).
*
*
* @return Specifies whether the DB instance is in the multi-tenant configuration (TRUE) or the single-tenant
* configuration (FALSE).
*/
public final Boolean multiTenant() {
return multiTenant;
}
/**
*
* The life cycle type for the DB instance.
*
*
* For more information, see CreateDBInstance.
*
*
* @return The life cycle type for the DB instance.
*
* For more information, see CreateDBInstance.
*/
public final String engineLifecycleSupport() {
return engineLifecycleSupport;
}
@Override
public Builder toBuilder() {
return new BuilderImpl(this);
}
public static Builder builder() {
return new BuilderImpl();
}
public static Class extends Builder> serializableBuilderClass() {
return BuilderImpl.class;
}
@Override
public final int hashCode() {
int hashCode = 1;
hashCode = 31 * hashCode + Objects.hashCode(dbInstanceIdentifier());
hashCode = 31 * hashCode + Objects.hashCode(dbInstanceClass());
hashCode = 31 * hashCode + Objects.hashCode(engine());
hashCode = 31 * hashCode + Objects.hashCode(dbInstanceStatus());
hashCode = 31 * hashCode + Objects.hashCode(automaticRestartTime());
hashCode = 31 * hashCode + Objects.hashCode(masterUsername());
hashCode = 31 * hashCode + Objects.hashCode(dbName());
hashCode = 31 * hashCode + Objects.hashCode(endpoint());
hashCode = 31 * hashCode + Objects.hashCode(allocatedStorage());
hashCode = 31 * hashCode + Objects.hashCode(instanceCreateTime());
hashCode = 31 * hashCode + Objects.hashCode(preferredBackupWindow());
hashCode = 31 * hashCode + Objects.hashCode(backupRetentionPeriod());
hashCode = 31 * hashCode + Objects.hashCode(hasDbSecurityGroups() ? dbSecurityGroups() : null);
hashCode = 31 * hashCode + Objects.hashCode(hasVpcSecurityGroups() ? vpcSecurityGroups() : null);
hashCode = 31 * hashCode + Objects.hashCode(hasDbParameterGroups() ? dbParameterGroups() : null);
hashCode = 31 * hashCode + Objects.hashCode(availabilityZone());
hashCode = 31 * hashCode + Objects.hashCode(dbSubnetGroup());
hashCode = 31 * hashCode + Objects.hashCode(preferredMaintenanceWindow());
hashCode = 31 * hashCode + Objects.hashCode(pendingModifiedValues());
hashCode = 31 * hashCode + Objects.hashCode(latestRestorableTime());
hashCode = 31 * hashCode + Objects.hashCode(multiAZ());
hashCode = 31 * hashCode + Objects.hashCode(engineVersion());
hashCode = 31 * hashCode + Objects.hashCode(autoMinorVersionUpgrade());
hashCode = 31 * hashCode + Objects.hashCode(readReplicaSourceDBInstanceIdentifier());
hashCode = 31 * hashCode
+ Objects.hashCode(hasReadReplicaDBInstanceIdentifiers() ? readReplicaDBInstanceIdentifiers() : null);
hashCode = 31 * hashCode
+ Objects.hashCode(hasReadReplicaDBClusterIdentifiers() ? readReplicaDBClusterIdentifiers() : null);
hashCode = 31 * hashCode + Objects.hashCode(replicaModeAsString());
hashCode = 31 * hashCode + Objects.hashCode(licenseModel());
hashCode = 31 * hashCode + Objects.hashCode(iops());
hashCode = 31 * hashCode + Objects.hashCode(hasOptionGroupMemberships() ? optionGroupMemberships() : null);
hashCode = 31 * hashCode + Objects.hashCode(characterSetName());
hashCode = 31 * hashCode + Objects.hashCode(ncharCharacterSetName());
hashCode = 31 * hashCode + Objects.hashCode(secondaryAvailabilityZone());
hashCode = 31 * hashCode + Objects.hashCode(publiclyAccessible());
hashCode = 31 * hashCode + Objects.hashCode(hasStatusInfos() ? statusInfos() : null);
hashCode = 31 * hashCode + Objects.hashCode(storageType());
hashCode = 31 * hashCode + Objects.hashCode(tdeCredentialArn());
hashCode = 31 * hashCode + Objects.hashCode(dbInstancePort());
hashCode = 31 * hashCode + Objects.hashCode(dbClusterIdentifier());
hashCode = 31 * hashCode + Objects.hashCode(storageEncrypted());
hashCode = 31 * hashCode + Objects.hashCode(kmsKeyId());
hashCode = 31 * hashCode + Objects.hashCode(dbiResourceId());
hashCode = 31 * hashCode + Objects.hashCode(caCertificateIdentifier());
hashCode = 31 * hashCode + Objects.hashCode(hasDomainMemberships() ? domainMemberships() : null);
hashCode = 31 * hashCode + Objects.hashCode(copyTagsToSnapshot());
hashCode = 31 * hashCode + Objects.hashCode(monitoringInterval());
hashCode = 31 * hashCode + Objects.hashCode(enhancedMonitoringResourceArn());
hashCode = 31 * hashCode + Objects.hashCode(monitoringRoleArn());
hashCode = 31 * hashCode + Objects.hashCode(promotionTier());
hashCode = 31 * hashCode + Objects.hashCode(dbInstanceArn());
hashCode = 31 * hashCode + Objects.hashCode(timezone());
hashCode = 31 * hashCode + Objects.hashCode(iamDatabaseAuthenticationEnabled());
hashCode = 31 * hashCode + Objects.hashCode(performanceInsightsEnabled());
hashCode = 31 * hashCode + Objects.hashCode(performanceInsightsKMSKeyId());
hashCode = 31 * hashCode + Objects.hashCode(performanceInsightsRetentionPeriod());
hashCode = 31 * hashCode + Objects.hashCode(hasEnabledCloudwatchLogsExports() ? enabledCloudwatchLogsExports() : null);
hashCode = 31 * hashCode + Objects.hashCode(hasProcessorFeatures() ? processorFeatures() : null);
hashCode = 31 * hashCode + Objects.hashCode(deletionProtection());
hashCode = 31 * hashCode + Objects.hashCode(hasAssociatedRoles() ? associatedRoles() : null);
hashCode = 31 * hashCode + Objects.hashCode(listenerEndpoint());
hashCode = 31 * hashCode + Objects.hashCode(maxAllocatedStorage());
hashCode = 31 * hashCode + Objects.hashCode(hasTagList() ? tagList() : null);
hashCode = 31 * hashCode
+ Objects.hashCode(hasDbInstanceAutomatedBackupsReplications() ? dbInstanceAutomatedBackupsReplications() : null);
hashCode = 31 * hashCode + Objects.hashCode(customerOwnedIpEnabled());
hashCode = 31 * hashCode + Objects.hashCode(awsBackupRecoveryPointArn());
hashCode = 31 * hashCode + Objects.hashCode(activityStreamStatusAsString());
hashCode = 31 * hashCode + Objects.hashCode(activityStreamKmsKeyId());
hashCode = 31 * hashCode + Objects.hashCode(activityStreamKinesisStreamName());
hashCode = 31 * hashCode + Objects.hashCode(activityStreamModeAsString());
hashCode = 31 * hashCode + Objects.hashCode(activityStreamEngineNativeAuditFieldsIncluded());
hashCode = 31 * hashCode + Objects.hashCode(automationModeAsString());
hashCode = 31 * hashCode + Objects.hashCode(resumeFullAutomationModeTime());
hashCode = 31 * hashCode + Objects.hashCode(customIamInstanceProfile());
hashCode = 31 * hashCode + Objects.hashCode(backupTarget());
hashCode = 31 * hashCode + Objects.hashCode(networkType());
hashCode = 31 * hashCode + Objects.hashCode(activityStreamPolicyStatusAsString());
hashCode = 31 * hashCode + Objects.hashCode(storageThroughput());
hashCode = 31 * hashCode + Objects.hashCode(dbSystemId());
hashCode = 31 * hashCode + Objects.hashCode(masterUserSecret());
hashCode = 31 * hashCode + Objects.hashCode(certificateDetails());
hashCode = 31 * hashCode + Objects.hashCode(readReplicaSourceDBClusterIdentifier());
hashCode = 31 * hashCode + Objects.hashCode(percentProgress());
hashCode = 31 * hashCode + Objects.hashCode(dedicatedLogVolume());
hashCode = 31 * hashCode + Objects.hashCode(isStorageConfigUpgradeAvailable());
hashCode = 31 * hashCode + Objects.hashCode(multiTenant());
hashCode = 31 * hashCode + Objects.hashCode(engineLifecycleSupport());
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 DBInstance)) {
return false;
}
DBInstance other = (DBInstance) obj;
return Objects.equals(dbInstanceIdentifier(), other.dbInstanceIdentifier())
&& Objects.equals(dbInstanceClass(), other.dbInstanceClass())
&& Objects.equals(engine(), other.engine())
&& Objects.equals(dbInstanceStatus(), other.dbInstanceStatus())
&& Objects.equals(automaticRestartTime(), other.automaticRestartTime())
&& Objects.equals(masterUsername(), other.masterUsername())
&& Objects.equals(dbName(), other.dbName())
&& Objects.equals(endpoint(), other.endpoint())
&& Objects.equals(allocatedStorage(), other.allocatedStorage())
&& Objects.equals(instanceCreateTime(), other.instanceCreateTime())
&& Objects.equals(preferredBackupWindow(), other.preferredBackupWindow())
&& Objects.equals(backupRetentionPeriod(), other.backupRetentionPeriod())
&& hasDbSecurityGroups() == other.hasDbSecurityGroups()
&& Objects.equals(dbSecurityGroups(), other.dbSecurityGroups())
&& hasVpcSecurityGroups() == other.hasVpcSecurityGroups()
&& Objects.equals(vpcSecurityGroups(), other.vpcSecurityGroups())
&& hasDbParameterGroups() == other.hasDbParameterGroups()
&& Objects.equals(dbParameterGroups(), other.dbParameterGroups())
&& Objects.equals(availabilityZone(), other.availabilityZone())
&& Objects.equals(dbSubnetGroup(), other.dbSubnetGroup())
&& Objects.equals(preferredMaintenanceWindow(), other.preferredMaintenanceWindow())
&& Objects.equals(pendingModifiedValues(), other.pendingModifiedValues())
&& Objects.equals(latestRestorableTime(), other.latestRestorableTime())
&& Objects.equals(multiAZ(), other.multiAZ())
&& Objects.equals(engineVersion(), other.engineVersion())
&& Objects.equals(autoMinorVersionUpgrade(), other.autoMinorVersionUpgrade())
&& Objects.equals(readReplicaSourceDBInstanceIdentifier(), other.readReplicaSourceDBInstanceIdentifier())
&& hasReadReplicaDBInstanceIdentifiers() == other.hasReadReplicaDBInstanceIdentifiers()
&& Objects.equals(readReplicaDBInstanceIdentifiers(), other.readReplicaDBInstanceIdentifiers())
&& hasReadReplicaDBClusterIdentifiers() == other.hasReadReplicaDBClusterIdentifiers()
&& Objects.equals(readReplicaDBClusterIdentifiers(), other.readReplicaDBClusterIdentifiers())
&& Objects.equals(replicaModeAsString(), other.replicaModeAsString())
&& Objects.equals(licenseModel(), other.licenseModel())
&& Objects.equals(iops(), other.iops())
&& hasOptionGroupMemberships() == other.hasOptionGroupMemberships()
&& Objects.equals(optionGroupMemberships(), other.optionGroupMemberships())
&& Objects.equals(characterSetName(), other.characterSetName())
&& Objects.equals(ncharCharacterSetName(), other.ncharCharacterSetName())
&& Objects.equals(secondaryAvailabilityZone(), other.secondaryAvailabilityZone())
&& Objects.equals(publiclyAccessible(), other.publiclyAccessible())
&& hasStatusInfos() == other.hasStatusInfos()
&& Objects.equals(statusInfos(), other.statusInfos())
&& Objects.equals(storageType(), other.storageType())
&& Objects.equals(tdeCredentialArn(), other.tdeCredentialArn())
&& Objects.equals(dbInstancePort(), other.dbInstancePort())
&& Objects.equals(dbClusterIdentifier(), other.dbClusterIdentifier())
&& Objects.equals(storageEncrypted(), other.storageEncrypted())
&& Objects.equals(kmsKeyId(), other.kmsKeyId())
&& Objects.equals(dbiResourceId(), other.dbiResourceId())
&& Objects.equals(caCertificateIdentifier(), other.caCertificateIdentifier())
&& hasDomainMemberships() == other.hasDomainMemberships()
&& Objects.equals(domainMemberships(), other.domainMemberships())
&& Objects.equals(copyTagsToSnapshot(), other.copyTagsToSnapshot())
&& Objects.equals(monitoringInterval(), other.monitoringInterval())
&& Objects.equals(enhancedMonitoringResourceArn(), other.enhancedMonitoringResourceArn())
&& Objects.equals(monitoringRoleArn(), other.monitoringRoleArn())
&& Objects.equals(promotionTier(), other.promotionTier())
&& Objects.equals(dbInstanceArn(), other.dbInstanceArn())
&& Objects.equals(timezone(), other.timezone())
&& Objects.equals(iamDatabaseAuthenticationEnabled(), other.iamDatabaseAuthenticationEnabled())
&& Objects.equals(performanceInsightsEnabled(), other.performanceInsightsEnabled())
&& Objects.equals(performanceInsightsKMSKeyId(), other.performanceInsightsKMSKeyId())
&& Objects.equals(performanceInsightsRetentionPeriod(), other.performanceInsightsRetentionPeriod())
&& hasEnabledCloudwatchLogsExports() == other.hasEnabledCloudwatchLogsExports()
&& Objects.equals(enabledCloudwatchLogsExports(), other.enabledCloudwatchLogsExports())
&& hasProcessorFeatures() == other.hasProcessorFeatures()
&& Objects.equals(processorFeatures(), other.processorFeatures())
&& Objects.equals(deletionProtection(), other.deletionProtection())
&& hasAssociatedRoles() == other.hasAssociatedRoles()
&& Objects.equals(associatedRoles(), other.associatedRoles())
&& Objects.equals(listenerEndpoint(), other.listenerEndpoint())
&& Objects.equals(maxAllocatedStorage(), other.maxAllocatedStorage())
&& hasTagList() == other.hasTagList()
&& Objects.equals(tagList(), other.tagList())
&& hasDbInstanceAutomatedBackupsReplications() == other.hasDbInstanceAutomatedBackupsReplications()
&& Objects.equals(dbInstanceAutomatedBackupsReplications(), other.dbInstanceAutomatedBackupsReplications())
&& Objects.equals(customerOwnedIpEnabled(), other.customerOwnedIpEnabled())
&& Objects.equals(awsBackupRecoveryPointArn(), other.awsBackupRecoveryPointArn())
&& Objects.equals(activityStreamStatusAsString(), other.activityStreamStatusAsString())
&& Objects.equals(activityStreamKmsKeyId(), other.activityStreamKmsKeyId())
&& Objects.equals(activityStreamKinesisStreamName(), other.activityStreamKinesisStreamName())
&& Objects.equals(activityStreamModeAsString(), other.activityStreamModeAsString())
&& Objects.equals(activityStreamEngineNativeAuditFieldsIncluded(),
other.activityStreamEngineNativeAuditFieldsIncluded())
&& Objects.equals(automationModeAsString(), other.automationModeAsString())
&& Objects.equals(resumeFullAutomationModeTime(), other.resumeFullAutomationModeTime())
&& Objects.equals(customIamInstanceProfile(), other.customIamInstanceProfile())
&& Objects.equals(backupTarget(), other.backupTarget()) && Objects.equals(networkType(), other.networkType())
&& Objects.equals(activityStreamPolicyStatusAsString(), other.activityStreamPolicyStatusAsString())
&& Objects.equals(storageThroughput(), other.storageThroughput())
&& Objects.equals(dbSystemId(), other.dbSystemId())
&& Objects.equals(masterUserSecret(), other.masterUserSecret())
&& Objects.equals(certificateDetails(), other.certificateDetails())
&& Objects.equals(readReplicaSourceDBClusterIdentifier(), other.readReplicaSourceDBClusterIdentifier())
&& Objects.equals(percentProgress(), other.percentProgress())
&& Objects.equals(dedicatedLogVolume(), other.dedicatedLogVolume())
&& Objects.equals(isStorageConfigUpgradeAvailable(), other.isStorageConfigUpgradeAvailable())
&& Objects.equals(multiTenant(), other.multiTenant())
&& Objects.equals(engineLifecycleSupport(), other.engineLifecycleSupport());
}
/**
* 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("DBInstance")
.add("DBInstanceIdentifier", dbInstanceIdentifier())
.add("DBInstanceClass", dbInstanceClass())
.add("Engine", engine())
.add("DBInstanceStatus", dbInstanceStatus())
.add("AutomaticRestartTime", automaticRestartTime())
.add("MasterUsername", masterUsername())
.add("DBName", dbName())
.add("Endpoint", endpoint())
.add("AllocatedStorage", allocatedStorage())
.add("InstanceCreateTime", instanceCreateTime())
.add("PreferredBackupWindow", preferredBackupWindow())
.add("BackupRetentionPeriod", backupRetentionPeriod())
.add("DBSecurityGroups", hasDbSecurityGroups() ? dbSecurityGroups() : null)
.add("VpcSecurityGroups", hasVpcSecurityGroups() ? vpcSecurityGroups() : null)
.add("DBParameterGroups", hasDbParameterGroups() ? dbParameterGroups() : null)
.add("AvailabilityZone", availabilityZone())
.add("DBSubnetGroup", dbSubnetGroup())
.add("PreferredMaintenanceWindow", preferredMaintenanceWindow())
.add("PendingModifiedValues", pendingModifiedValues())
.add("LatestRestorableTime", latestRestorableTime())
.add("MultiAZ", multiAZ())
.add("EngineVersion", engineVersion())
.add("AutoMinorVersionUpgrade", autoMinorVersionUpgrade())
.add("ReadReplicaSourceDBInstanceIdentifier", readReplicaSourceDBInstanceIdentifier())
.add("ReadReplicaDBInstanceIdentifiers",
hasReadReplicaDBInstanceIdentifiers() ? readReplicaDBInstanceIdentifiers() : null)
.add("ReadReplicaDBClusterIdentifiers",
hasReadReplicaDBClusterIdentifiers() ? readReplicaDBClusterIdentifiers() : null)
.add("ReplicaMode", replicaModeAsString())
.add("LicenseModel", licenseModel())
.add("Iops", iops())
.add("OptionGroupMemberships", hasOptionGroupMemberships() ? optionGroupMemberships() : null)
.add("CharacterSetName", characterSetName())
.add("NcharCharacterSetName", ncharCharacterSetName())
.add("SecondaryAvailabilityZone", secondaryAvailabilityZone())
.add("PubliclyAccessible", publiclyAccessible())
.add("StatusInfos", hasStatusInfos() ? statusInfos() : null)
.add("StorageType", storageType())
.add("TdeCredentialArn", tdeCredentialArn())
.add("DbInstancePort", dbInstancePort())
.add("DBClusterIdentifier", dbClusterIdentifier())
.add("StorageEncrypted", storageEncrypted())
.add("KmsKeyId", kmsKeyId())
.add("DbiResourceId", dbiResourceId())
.add("CACertificateIdentifier", caCertificateIdentifier())
.add("DomainMemberships", hasDomainMemberships() ? domainMemberships() : null)
.add("CopyTagsToSnapshot", copyTagsToSnapshot())
.add("MonitoringInterval", monitoringInterval())
.add("EnhancedMonitoringResourceArn", enhancedMonitoringResourceArn())
.add("MonitoringRoleArn", monitoringRoleArn())
.add("PromotionTier", promotionTier())
.add("DBInstanceArn", dbInstanceArn())
.add("Timezone", timezone())
.add("IAMDatabaseAuthenticationEnabled", iamDatabaseAuthenticationEnabled())
.add("PerformanceInsightsEnabled", performanceInsightsEnabled())
.add("PerformanceInsightsKMSKeyId", performanceInsightsKMSKeyId())
.add("PerformanceInsightsRetentionPeriod", performanceInsightsRetentionPeriod())
.add("EnabledCloudwatchLogsExports", hasEnabledCloudwatchLogsExports() ? enabledCloudwatchLogsExports() : null)
.add("ProcessorFeatures", hasProcessorFeatures() ? processorFeatures() : null)
.add("DeletionProtection", deletionProtection())
.add("AssociatedRoles", hasAssociatedRoles() ? associatedRoles() : null)
.add("ListenerEndpoint", listenerEndpoint())
.add("MaxAllocatedStorage", maxAllocatedStorage())
.add("TagList", hasTagList() ? tagList() : null)
.add("DBInstanceAutomatedBackupsReplications",
hasDbInstanceAutomatedBackupsReplications() ? dbInstanceAutomatedBackupsReplications() : null)
.add("CustomerOwnedIpEnabled", customerOwnedIpEnabled())
.add("AwsBackupRecoveryPointArn", awsBackupRecoveryPointArn())
.add("ActivityStreamStatus", activityStreamStatusAsString())
.add("ActivityStreamKmsKeyId", activityStreamKmsKeyId())
.add("ActivityStreamKinesisStreamName", activityStreamKinesisStreamName())
.add("ActivityStreamMode", activityStreamModeAsString())
.add("ActivityStreamEngineNativeAuditFieldsIncluded", activityStreamEngineNativeAuditFieldsIncluded())
.add("AutomationMode", automationModeAsString())
.add("ResumeFullAutomationModeTime", resumeFullAutomationModeTime())
.add("CustomIamInstanceProfile", customIamInstanceProfile()).add("BackupTarget", backupTarget())
.add("NetworkType", networkType()).add("ActivityStreamPolicyStatus", activityStreamPolicyStatusAsString())
.add("StorageThroughput", storageThroughput()).add("DBSystemId", dbSystemId())
.add("MasterUserSecret", masterUserSecret()).add("CertificateDetails", certificateDetails())
.add("ReadReplicaSourceDBClusterIdentifier", readReplicaSourceDBClusterIdentifier())
.add("PercentProgress", percentProgress()).add("DedicatedLogVolume", dedicatedLogVolume())
.add("IsStorageConfigUpgradeAvailable", isStorageConfigUpgradeAvailable()).add("MultiTenant", multiTenant())
.add("EngineLifecycleSupport", engineLifecycleSupport()).build();
}
public final Optional getValueForField(String fieldName, Class clazz) {
switch (fieldName) {
case "DBInstanceIdentifier":
return Optional.ofNullable(clazz.cast(dbInstanceIdentifier()));
case "DBInstanceClass":
return Optional.ofNullable(clazz.cast(dbInstanceClass()));
case "Engine":
return Optional.ofNullable(clazz.cast(engine()));
case "DBInstanceStatus":
return Optional.ofNullable(clazz.cast(dbInstanceStatus()));
case "AutomaticRestartTime":
return Optional.ofNullable(clazz.cast(automaticRestartTime()));
case "MasterUsername":
return Optional.ofNullable(clazz.cast(masterUsername()));
case "DBName":
return Optional.ofNullable(clazz.cast(dbName()));
case "Endpoint":
return Optional.ofNullable(clazz.cast(endpoint()));
case "AllocatedStorage":
return Optional.ofNullable(clazz.cast(allocatedStorage()));
case "InstanceCreateTime":
return Optional.ofNullable(clazz.cast(instanceCreateTime()));
case "PreferredBackupWindow":
return Optional.ofNullable(clazz.cast(preferredBackupWindow()));
case "BackupRetentionPeriod":
return Optional.ofNullable(clazz.cast(backupRetentionPeriod()));
case "DBSecurityGroups":
return Optional.ofNullable(clazz.cast(dbSecurityGroups()));
case "VpcSecurityGroups":
return Optional.ofNullable(clazz.cast(vpcSecurityGroups()));
case "DBParameterGroups":
return Optional.ofNullable(clazz.cast(dbParameterGroups()));
case "AvailabilityZone":
return Optional.ofNullable(clazz.cast(availabilityZone()));
case "DBSubnetGroup":
return Optional.ofNullable(clazz.cast(dbSubnetGroup()));
case "PreferredMaintenanceWindow":
return Optional.ofNullable(clazz.cast(preferredMaintenanceWindow()));
case "PendingModifiedValues":
return Optional.ofNullable(clazz.cast(pendingModifiedValues()));
case "LatestRestorableTime":
return Optional.ofNullable(clazz.cast(latestRestorableTime()));
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 "ReadReplicaSourceDBInstanceIdentifier":
return Optional.ofNullable(clazz.cast(readReplicaSourceDBInstanceIdentifier()));
case "ReadReplicaDBInstanceIdentifiers":
return Optional.ofNullable(clazz.cast(readReplicaDBInstanceIdentifiers()));
case "ReadReplicaDBClusterIdentifiers":
return Optional.ofNullable(clazz.cast(readReplicaDBClusterIdentifiers()));
case "ReplicaMode":
return Optional.ofNullable(clazz.cast(replicaModeAsString()));
case "LicenseModel":
return Optional.ofNullable(clazz.cast(licenseModel()));
case "Iops":
return Optional.ofNullable(clazz.cast(iops()));
case "OptionGroupMemberships":
return Optional.ofNullable(clazz.cast(optionGroupMemberships()));
case "CharacterSetName":
return Optional.ofNullable(clazz.cast(characterSetName()));
case "NcharCharacterSetName":
return Optional.ofNullable(clazz.cast(ncharCharacterSetName()));
case "SecondaryAvailabilityZone":
return Optional.ofNullable(clazz.cast(secondaryAvailabilityZone()));
case "PubliclyAccessible":
return Optional.ofNullable(clazz.cast(publiclyAccessible()));
case "StatusInfos":
return Optional.ofNullable(clazz.cast(statusInfos()));
case "StorageType":
return Optional.ofNullable(clazz.cast(storageType()));
case "TdeCredentialArn":
return Optional.ofNullable(clazz.cast(tdeCredentialArn()));
case "DbInstancePort":
return Optional.ofNullable(clazz.cast(dbInstancePort()));
case "DBClusterIdentifier":
return Optional.ofNullable(clazz.cast(dbClusterIdentifier()));
case "StorageEncrypted":
return Optional.ofNullable(clazz.cast(storageEncrypted()));
case "KmsKeyId":
return Optional.ofNullable(clazz.cast(kmsKeyId()));
case "DbiResourceId":
return Optional.ofNullable(clazz.cast(dbiResourceId()));
case "CACertificateIdentifier":
return Optional.ofNullable(clazz.cast(caCertificateIdentifier()));
case "DomainMemberships":
return Optional.ofNullable(clazz.cast(domainMemberships()));
case "CopyTagsToSnapshot":
return Optional.ofNullable(clazz.cast(copyTagsToSnapshot()));
case "MonitoringInterval":
return Optional.ofNullable(clazz.cast(monitoringInterval()));
case "EnhancedMonitoringResourceArn":
return Optional.ofNullable(clazz.cast(enhancedMonitoringResourceArn()));
case "MonitoringRoleArn":
return Optional.ofNullable(clazz.cast(monitoringRoleArn()));
case "PromotionTier":
return Optional.ofNullable(clazz.cast(promotionTier()));
case "DBInstanceArn":
return Optional.ofNullable(clazz.cast(dbInstanceArn()));
case "Timezone":
return Optional.ofNullable(clazz.cast(timezone()));
case "IAMDatabaseAuthenticationEnabled":
return Optional.ofNullable(clazz.cast(iamDatabaseAuthenticationEnabled()));
case "PerformanceInsightsEnabled":
return Optional.ofNullable(clazz.cast(performanceInsightsEnabled()));
case "PerformanceInsightsKMSKeyId":
return Optional.ofNullable(clazz.cast(performanceInsightsKMSKeyId()));
case "PerformanceInsightsRetentionPeriod":
return Optional.ofNullable(clazz.cast(performanceInsightsRetentionPeriod()));
case "EnabledCloudwatchLogsExports":
return Optional.ofNullable(clazz.cast(enabledCloudwatchLogsExports()));
case "ProcessorFeatures":
return Optional.ofNullable(clazz.cast(processorFeatures()));
case "DeletionProtection":
return Optional.ofNullable(clazz.cast(deletionProtection()));
case "AssociatedRoles":
return Optional.ofNullable(clazz.cast(associatedRoles()));
case "ListenerEndpoint":
return Optional.ofNullable(clazz.cast(listenerEndpoint()));
case "MaxAllocatedStorage":
return Optional.ofNullable(clazz.cast(maxAllocatedStorage()));
case "TagList":
return Optional.ofNullable(clazz.cast(tagList()));
case "DBInstanceAutomatedBackupsReplications":
return Optional.ofNullable(clazz.cast(dbInstanceAutomatedBackupsReplications()));
case "CustomerOwnedIpEnabled":
return Optional.ofNullable(clazz.cast(customerOwnedIpEnabled()));
case "AwsBackupRecoveryPointArn":
return Optional.ofNullable(clazz.cast(awsBackupRecoveryPointArn()));
case "ActivityStreamStatus":
return Optional.ofNullable(clazz.cast(activityStreamStatusAsString()));
case "ActivityStreamKmsKeyId":
return Optional.ofNullable(clazz.cast(activityStreamKmsKeyId()));
case "ActivityStreamKinesisStreamName":
return Optional.ofNullable(clazz.cast(activityStreamKinesisStreamName()));
case "ActivityStreamMode":
return Optional.ofNullable(clazz.cast(activityStreamModeAsString()));
case "ActivityStreamEngineNativeAuditFieldsIncluded":
return Optional.ofNullable(clazz.cast(activityStreamEngineNativeAuditFieldsIncluded()));
case "AutomationMode":
return Optional.ofNullable(clazz.cast(automationModeAsString()));
case "ResumeFullAutomationModeTime":
return Optional.ofNullable(clazz.cast(resumeFullAutomationModeTime()));
case "CustomIamInstanceProfile":
return Optional.ofNullable(clazz.cast(customIamInstanceProfile()));
case "BackupTarget":
return Optional.ofNullable(clazz.cast(backupTarget()));
case "NetworkType":
return Optional.ofNullable(clazz.cast(networkType()));
case "ActivityStreamPolicyStatus":
return Optional.ofNullable(clazz.cast(activityStreamPolicyStatusAsString()));
case "StorageThroughput":
return Optional.ofNullable(clazz.cast(storageThroughput()));
case "DBSystemId":
return Optional.ofNullable(clazz.cast(dbSystemId()));
case "MasterUserSecret":
return Optional.ofNullable(clazz.cast(masterUserSecret()));
case "CertificateDetails":
return Optional.ofNullable(clazz.cast(certificateDetails()));
case "ReadReplicaSourceDBClusterIdentifier":
return Optional.ofNullable(clazz.cast(readReplicaSourceDBClusterIdentifier()));
case "PercentProgress":
return Optional.ofNullable(clazz.cast(percentProgress()));
case "DedicatedLogVolume":
return Optional.ofNullable(clazz.cast(dedicatedLogVolume()));
case "IsStorageConfigUpgradeAvailable":
return Optional.ofNullable(clazz.cast(isStorageConfigUpgradeAvailable()));
case "MultiTenant":
return Optional.ofNullable(clazz.cast(multiTenant()));
case "EngineLifecycleSupport":
return Optional.ofNullable(clazz.cast(engineLifecycleSupport()));
default:
return Optional.empty();
}
}
@Override
public final List> sdkFields() {
return SDK_FIELDS;
}
private static Function
*
* For information about DB instance statuses, see Viewing DB instance status in the Amazon RDS User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder dbInstanceStatus(String dbInstanceStatus);
/**
*
* The time when a stopped DB instance is restarted automatically.
*
*
* @param automaticRestartTime
* The time when a stopped DB instance is restarted automatically.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder automaticRestartTime(Instant automaticRestartTime);
/**
*
* The master username for the DB instance.
*
*
* @param masterUsername
* The master username for the DB instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder masterUsername(String masterUsername);
/**
*
* The initial database name that you provided (if required) when you created the DB instance. This name is
* returned for the life of your DB instance. For an RDS for Oracle CDB instance, the name identifies the PDB
* rather than the CDB.
*
*
* @param dbName
* The initial database name that you provided (if required) when you created the DB instance. This name
* is returned for the life of your DB instance. For an RDS for Oracle CDB instance, the name identifies
* the PDB rather than the CDB.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder dbName(String dbName);
/**
*
* The connection endpoint for the DB instance.
*
*
*
* The endpoint might not be shown for instances with the status of creating
.
*
*
*
* @param endpoint
* The connection endpoint for the DB instance.
*
* The endpoint might not be shown for instances with the status of creating
.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder endpoint(Endpoint endpoint);
/**
*
* The connection endpoint for the DB instance.
*
*
*
* The endpoint might not be shown for instances with the status of creating
.
*
* This is a convenience method that creates an instance of the {@link Endpoint.Builder} avoiding the
* need to create one manually via {@link Endpoint#builder()}.
*
*
* When the {@link Consumer} completes, {@link Endpoint.Builder#build()} is called immediately and its result is
* passed to {@link #endpoint(Endpoint)}.
*
* @param endpoint
* a consumer that will call methods on {@link Endpoint.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #endpoint(Endpoint)
*/
default Builder endpoint(Consumer endpoint) {
return endpoint(Endpoint.builder().applyMutation(endpoint).build());
}
/**
*
* The amount of storage in gibibytes (GiB) allocated for the DB instance.
*
*
* @param allocatedStorage
* The amount of storage in gibibytes (GiB) allocated for the DB instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder allocatedStorage(Integer allocatedStorage);
/**
*
* The date and time when the DB instance was created.
*
*
* @param instanceCreateTime
* The date and time when the DB instance was created.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder instanceCreateTime(Instant instanceCreateTime);
/**
*
* The daily time range during which automated backups are created if automated backups are enabled, as
* determined by the BackupRetentionPeriod
.
*
*
* @param preferredBackupWindow
* The daily time range during which automated backups are created if automated backups are enabled, as
* determined by the BackupRetentionPeriod
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder preferredBackupWindow(String preferredBackupWindow);
/**
*
* The number of days for which automatic DB snapshots are retained.
*
*
* @param backupRetentionPeriod
* The number of days for which automatic DB snapshots are retained.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder backupRetentionPeriod(Integer backupRetentionPeriod);
/**
*
* A list of DB security group elements containing DBSecurityGroup.Name
and
* DBSecurityGroup.Status
subelements.
*
*
* @param dbSecurityGroups
* A list of DB security group elements containing DBSecurityGroup.Name
and
* DBSecurityGroup.Status
subelements.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder dbSecurityGroups(Collection dbSecurityGroups);
/**
*
* A list of DB security group elements containing DBSecurityGroup.Name
and
* DBSecurityGroup.Status
subelements.
*
*
* @param dbSecurityGroups
* A list of DB security group elements containing DBSecurityGroup.Name
and
* DBSecurityGroup.Status
subelements.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder dbSecurityGroups(DBSecurityGroupMembership... dbSecurityGroups);
/**
*
* A list of DB security group elements containing DBSecurityGroup.Name
and
* DBSecurityGroup.Status
subelements.
*
* This is a convenience method that creates an instance of the
* {@link software.amazon.awssdk.services.rds.model.DBSecurityGroupMembership.Builder} avoiding the need to
* create one manually via {@link software.amazon.awssdk.services.rds.model.DBSecurityGroupMembership#builder()}
* .
*
*
* When the {@link Consumer} completes,
* {@link software.amazon.awssdk.services.rds.model.DBSecurityGroupMembership.Builder#build()} is called
* immediately and its result is passed to {@link #dbSecurityGroups(List)}.
*
* @param dbSecurityGroups
* a consumer that will call methods on
* {@link software.amazon.awssdk.services.rds.model.DBSecurityGroupMembership.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #dbSecurityGroups(java.util.Collection)
*/
Builder dbSecurityGroups(Consumer... dbSecurityGroups);
/**
*
* The list of Amazon EC2 VPC security groups that the DB instance belongs to.
*
*
* @param vpcSecurityGroups
* The list of Amazon EC2 VPC security groups that the DB instance belongs to.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder vpcSecurityGroups(Collection vpcSecurityGroups);
/**
*
* The list of Amazon EC2 VPC security groups that the DB instance belongs to.
*
*
* @param vpcSecurityGroups
* The list of Amazon EC2 VPC security groups that the DB instance belongs to.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder vpcSecurityGroups(VpcSecurityGroupMembership... vpcSecurityGroups);
/**
*
* The list of Amazon EC2 VPC security groups that the DB instance belongs to.
*
* This is a convenience method that creates an instance of the
* {@link software.amazon.awssdk.services.rds.model.VpcSecurityGroupMembership.Builder} avoiding the need to
* create one manually via
* {@link software.amazon.awssdk.services.rds.model.VpcSecurityGroupMembership#builder()}.
*
*
* When the {@link Consumer} completes,
* {@link software.amazon.awssdk.services.rds.model.VpcSecurityGroupMembership.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.rds.model.VpcSecurityGroupMembership.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);
/**
*
* The list of DB parameter groups applied to this DB instance.
*
*
* @param dbParameterGroups
* The list of DB parameter groups applied to this DB instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder dbParameterGroups(Collection dbParameterGroups);
/**
*
* The list of DB parameter groups applied to this DB instance.
*
*
* @param dbParameterGroups
* The list of DB parameter groups applied to this DB instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder dbParameterGroups(DBParameterGroupStatus... dbParameterGroups);
/**
*
* The list of DB parameter groups applied to this DB instance.
*
* This is a convenience method that creates an instance of the
* {@link software.amazon.awssdk.services.rds.model.DBParameterGroupStatus.Builder} avoiding the need to create
* one manually via {@link software.amazon.awssdk.services.rds.model.DBParameterGroupStatus#builder()}.
*
*
* When the {@link Consumer} completes,
* {@link software.amazon.awssdk.services.rds.model.DBParameterGroupStatus.Builder#build()} is called
* immediately and its result is passed to {@link #dbParameterGroups(List)}.
*
* @param dbParameterGroups
* a consumer that will call methods on
* {@link software.amazon.awssdk.services.rds.model.DBParameterGroupStatus.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #dbParameterGroups(java.util.Collection)
*/
Builder dbParameterGroups(Consumer... dbParameterGroups);
/**
*
* The name of the Availability Zone where the DB instance is located.
*
*
* @param availabilityZone
* The name of the Availability Zone where the DB instance is located.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder availabilityZone(String availabilityZone);
/**
*
* Information about the subnet group associated with the DB instance, including the name, description, and
* subnets in the subnet group.
*
*
* @param dbSubnetGroup
* Information about the subnet group associated with the DB instance, including the name, description,
* and subnets in the subnet group.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder dbSubnetGroup(DBSubnetGroup dbSubnetGroup);
/**
*
* Information about the subnet group associated with the DB instance, including the name, description, and
* subnets in the subnet group.
*
* This is a convenience method that creates an instance of the {@link DBSubnetGroup.Builder} avoiding the need
* to create one manually via {@link DBSubnetGroup#builder()}.
*
*
* When the {@link Consumer} completes, {@link DBSubnetGroup.Builder#build()} is called immediately and its
* result is passed to {@link #dbSubnetGroup(DBSubnetGroup)}.
*
* @param dbSubnetGroup
* a consumer that will call methods on {@link DBSubnetGroup.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #dbSubnetGroup(DBSubnetGroup)
*/
default Builder dbSubnetGroup(Consumer dbSubnetGroup) {
return dbSubnetGroup(DBSubnetGroup.builder().applyMutation(dbSubnetGroup).build());
}
/**
*
* The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
*
*
* @param preferredMaintenanceWindow
* The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder preferredMaintenanceWindow(String preferredMaintenanceWindow);
/**
*
* Information about pending changes to the DB instance. This information is returned only when there are
* pending changes. Specific changes are identified by subelements.
*
*
* @param pendingModifiedValues
* Information about pending changes to the DB instance. This information is returned only when there are
* pending changes. Specific changes are identified by subelements.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder pendingModifiedValues(PendingModifiedValues pendingModifiedValues);
/**
*
* Information about pending changes to the DB instance. This information is returned only when there are
* pending changes. Specific changes are identified by subelements.
*
* This is a convenience method that creates an instance of the {@link PendingModifiedValues.Builder} avoiding
* the need to create one manually via {@link PendingModifiedValues#builder()}.
*
*
* When the {@link Consumer} completes, {@link PendingModifiedValues.Builder#build()} is called immediately and
* its result is passed to {@link #pendingModifiedValues(PendingModifiedValues)}.
*
* @param pendingModifiedValues
* a consumer that will call methods on {@link PendingModifiedValues.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #pendingModifiedValues(PendingModifiedValues)
*/
default Builder pendingModifiedValues(Consumer pendingModifiedValues) {
return pendingModifiedValues(PendingModifiedValues.builder().applyMutation(pendingModifiedValues).build());
}
/**
*
* The latest time to which a database in this DB instance can be restored with point-in-time restore.
*
*
* @param latestRestorableTime
* The latest time to which a database in this DB instance can be restored with point-in-time restore.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder latestRestorableTime(Instant latestRestorableTime);
/**
*
* Indicates whether the DB instance is a Multi-AZ deployment. This setting doesn't apply to RDS Custom DB
* instances.
*
*
* @param multiAZ
* Indicates whether the DB instance is a Multi-AZ deployment. This setting doesn't apply to RDS Custom
* DB instances.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder multiAZ(Boolean multiAZ);
/**
*
* The version of the database engine.
*
*
* @param engineVersion
* The version of the database engine.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder engineVersion(String engineVersion);
/**
*
* Indicates whether minor version patches are applied automatically.
*
*
* @param autoMinorVersionUpgrade
* Indicates whether minor version patches are applied automatically.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder autoMinorVersionUpgrade(Boolean autoMinorVersionUpgrade);
/**
*
* The identifier of the source DB instance if this DB instance is a read replica.
*
*
* @param readReplicaSourceDBInstanceIdentifier
* The identifier of the source DB instance if this DB instance is a read replica.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder readReplicaSourceDBInstanceIdentifier(String readReplicaSourceDBInstanceIdentifier);
/**
*
* The identifiers of the read replicas associated with this DB instance.
*
*
* @param readReplicaDBInstanceIdentifiers
* The identifiers of the read replicas associated with this DB instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder readReplicaDBInstanceIdentifiers(Collection readReplicaDBInstanceIdentifiers);
/**
*
* The identifiers of the read replicas associated with this DB instance.
*
*
* @param readReplicaDBInstanceIdentifiers
* The identifiers of the read replicas associated with this DB instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder readReplicaDBInstanceIdentifiers(String... readReplicaDBInstanceIdentifiers);
/**
*
* The identifiers of Aurora DB clusters to which the RDS DB instance is replicated as a read replica. For
* example, when you create an Aurora read replica of an RDS for MySQL DB instance, the Aurora MySQL DB cluster
* for the Aurora read replica is shown. This output doesn't contain information about cross-Region Aurora read
* replicas.
*
*
*
* Currently, each RDS DB instance can have only one Aurora read replica.
*
*
*
* @param readReplicaDBClusterIdentifiers
* The identifiers of Aurora DB clusters to which the RDS DB instance is replicated as a read replica.
* For example, when you create an Aurora read replica of an RDS for MySQL DB instance, the Aurora MySQL
* DB cluster for the Aurora read replica is shown. This output doesn't contain information about
* cross-Region Aurora read replicas.
*
* Currently, each RDS DB instance can have only one Aurora read replica.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder readReplicaDBClusterIdentifiers(Collection readReplicaDBClusterIdentifiers);
/**
*
* The identifiers of Aurora DB clusters to which the RDS DB instance is replicated as a read replica. For
* example, when you create an Aurora read replica of an RDS for MySQL DB instance, the Aurora MySQL DB cluster
* for the Aurora read replica is shown. This output doesn't contain information about cross-Region Aurora read
* replicas.
*
*
*
* Currently, each RDS DB instance can have only one Aurora read replica.
*
*
*
* @param readReplicaDBClusterIdentifiers
* The identifiers of Aurora DB clusters to which the RDS DB instance is replicated as a read replica.
* For example, when you create an Aurora read replica of an RDS for MySQL DB instance, the Aurora MySQL
* DB cluster for the Aurora read replica is shown. This output doesn't contain information about
* cross-Region Aurora read replicas.
*
* Currently, each RDS DB instance can have only one Aurora read replica.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder readReplicaDBClusterIdentifiers(String... readReplicaDBClusterIdentifiers);
/**
*
* The open mode of an Oracle read replica. The default is open-read-only
. For more information,
* see Working with
* Oracle Read Replicas for Amazon RDS in the Amazon RDS User Guide.
*
*
*
* This attribute is only supported in RDS for Oracle.
*
*
*
* @param replicaMode
* The open mode of an Oracle read replica. The default is open-read-only
. For more
* information, see Working with
* Oracle Read Replicas for Amazon RDS in the Amazon RDS User Guide.
*
* This attribute is only supported in RDS for Oracle.
*
* @see ReplicaMode
* @return Returns a reference to this object so that method calls can be chained together.
* @see ReplicaMode
*/
Builder replicaMode(String replicaMode);
/**
*
* The open mode of an Oracle read replica. The default is open-read-only
. For more information,
* see Working with
* Oracle Read Replicas for Amazon RDS in the Amazon RDS User Guide.
*
*
*
* This attribute is only supported in RDS for Oracle.
*
*
*
* @param replicaMode
* The open mode of an Oracle read replica. The default is open-read-only
. For more
* information, see Working with
* Oracle Read Replicas for Amazon RDS in the Amazon RDS User Guide.
*
* This attribute is only supported in RDS for Oracle.
*
* @see ReplicaMode
* @return Returns a reference to this object so that method calls can be chained together.
* @see ReplicaMode
*/
Builder replicaMode(ReplicaMode replicaMode);
/**
*
* The license model information for this DB instance. This setting doesn't apply to Amazon Aurora or RDS Custom
* DB instances.
*
*
* @param licenseModel
* The license model information for this DB instance. This setting doesn't apply to Amazon Aurora or RDS
* Custom DB instances.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder licenseModel(String licenseModel);
/**
*
* The Provisioned IOPS (I/O operations per second) value for the DB instance.
*
*
* @param iops
* The Provisioned IOPS (I/O operations per second) value for the DB instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder iops(Integer iops);
/**
*
* The list of option group memberships for this DB instance.
*
*
* @param optionGroupMemberships
* The list of option group memberships for this DB instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder optionGroupMemberships(Collection optionGroupMemberships);
/**
*
* The list of option group memberships for this DB instance.
*
*
* @param optionGroupMemberships
* The list of option group memberships for this DB instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder optionGroupMemberships(OptionGroupMembership... optionGroupMemberships);
/**
*
* The list of option group memberships for this DB instance.
*
* This is a convenience method that creates an instance of the
* {@link software.amazon.awssdk.services.rds.model.OptionGroupMembership.Builder} avoiding the need to create
* one manually via {@link software.amazon.awssdk.services.rds.model.OptionGroupMembership#builder()}.
*
*
* When the {@link Consumer} completes,
* {@link software.amazon.awssdk.services.rds.model.OptionGroupMembership.Builder#build()} is called immediately
* and its result is passed to {@link #optionGroupMemberships(List)}.
*
* @param optionGroupMemberships
* a consumer that will call methods on
* {@link software.amazon.awssdk.services.rds.model.OptionGroupMembership.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #optionGroupMemberships(java.util.Collection)
*/
Builder optionGroupMemberships(Consumer... optionGroupMemberships);
/**
*
* If present, specifies the name of the character set that this instance is associated with.
*
*
* @param characterSetName
* If present, specifies the name of the character set that this instance is associated with.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder characterSetName(String characterSetName);
/**
*
* The name of the NCHAR character set for the Oracle DB instance. This character set specifies the Unicode
* encoding for data stored in table columns of type NCHAR, NCLOB, or NVARCHAR2.
*
*
* @param ncharCharacterSetName
* The name of the NCHAR character set for the Oracle DB instance. This character set specifies the
* Unicode encoding for data stored in table columns of type NCHAR, NCLOB, or NVARCHAR2.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder ncharCharacterSetName(String ncharCharacterSetName);
/**
*
* If present, specifies the name of the secondary Availability Zone for a DB instance with multi-AZ support.
*
*
* @param secondaryAvailabilityZone
* If present, specifies the name of the secondary Availability Zone for a DB instance with multi-AZ
* support.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder secondaryAvailabilityZone(String secondaryAvailabilityZone);
/**
*
* Indicates whether the DB instance is publicly accessible.
*
*
* When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual private
* cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you connect from
* within the same VPC as the DB instance, the endpoint resolves to the private IP address. Access to the DB
* cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the
* security group assigned to the DB cluster doesn't permit it.
*
*
* When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves
* to a private IP address.
*
*
* For more information, see CreateDBInstance.
*
*
* @param publiclyAccessible
* Indicates whether the DB instance is publicly accessible.
*
* When the DB instance is publicly accessible and you connect from outside of the DB instance's virtual
* private cloud (VPC), its Domain Name System (DNS) endpoint resolves to the public IP address. When you
* connect from within the same VPC as the DB instance, the endpoint resolves to the private IP address.
* Access to the DB cluster is ultimately controlled by the security group it uses. That public access
* isn't permitted if the security group assigned to the DB cluster doesn't permit it.
*
*
* When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that
* resolves to a private IP address.
*
*
* For more information, see CreateDBInstance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder publiclyAccessible(Boolean publiclyAccessible);
/**
*
* The status of a read replica. If the DB instance isn't a read replica, the value is blank.
*
*
* @param statusInfos
* The status of a read replica. If the DB instance isn't a read replica, the value is blank.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder statusInfos(Collection statusInfos);
/**
*
* The status of a read replica. If the DB instance isn't a read replica, the value is blank.
*
*
* @param statusInfos
* The status of a read replica. If the DB instance isn't a read replica, the value is blank.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder statusInfos(DBInstanceStatusInfo... statusInfos);
/**
*
* The status of a read replica. If the DB instance isn't a read replica, the value is blank.
*
* This is a convenience method that creates an instance of the
* {@link software.amazon.awssdk.services.rds.model.DBInstanceStatusInfo.Builder} avoiding the need to create
* one manually via {@link software.amazon.awssdk.services.rds.model.DBInstanceStatusInfo#builder()}.
*
*
* When the {@link Consumer} completes,
* {@link software.amazon.awssdk.services.rds.model.DBInstanceStatusInfo.Builder#build()} is called immediately
* and its result is passed to {@link #statusInfos(List)}.
*
* @param statusInfos
* a consumer that will call methods on
* {@link software.amazon.awssdk.services.rds.model.DBInstanceStatusInfo.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #statusInfos(java.util.Collection)
*/
Builder statusInfos(Consumer... statusInfos);
/**
*
* The storage type associated with the DB instance.
*
*
* @param storageType
* The storage type associated with the DB instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder storageType(String storageType);
/**
*
* The ARN from the key store with which the instance is associated for TDE encryption.
*
*
* @param tdeCredentialArn
* The ARN from the key store with which the instance is associated for TDE encryption.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder tdeCredentialArn(String tdeCredentialArn);
/**
*
* The port that the DB instance listens on. If the DB instance is part of a DB cluster, this can be a different
* port than the DB cluster port.
*
*
* @param dbInstancePort
* The port that the DB instance listens on. If the DB instance is part of a DB cluster, this can be a
* different port than the DB cluster port.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder dbInstancePort(Integer dbInstancePort);
/**
*
* If the DB instance is a member of a DB cluster, indicates the name of the DB cluster that the DB instance is
* a member of.
*
*
* @param dbClusterIdentifier
* If the DB instance is a member of a DB cluster, indicates the name of the DB cluster that the DB
* instance is a member of.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder dbClusterIdentifier(String dbClusterIdentifier);
/**
*
* Indicates whether the DB instance is encrypted.
*
*
* @param storageEncrypted
* Indicates whether the DB instance is encrypted.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder storageEncrypted(Boolean storageEncrypted);
/**
*
* If StorageEncrypted
is enabled, the Amazon Web Services KMS key identifier for the encrypted DB
* instance.
*
*
* The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.
*
*
* @param kmsKeyId
* If StorageEncrypted
is enabled, the Amazon Web Services KMS key identifier for the
* encrypted DB instance.
*
* The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the
* KMS key.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder kmsKeyId(String kmsKeyId);
/**
*
* The Amazon Web Services Region-unique, immutable identifier for the DB instance. This identifier is found in
* Amazon Web Services CloudTrail log entries whenever the Amazon Web Services KMS key for the DB instance is
* accessed.
*
*
* @param dbiResourceId
* The Amazon Web Services Region-unique, immutable identifier for the DB instance. This identifier is
* found in Amazon Web Services CloudTrail log entries whenever the Amazon Web Services KMS key for the
* DB instance is accessed.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder dbiResourceId(String dbiResourceId);
/**
*
* The identifier of the CA certificate for this DB instance.
*
*
* For more information, see Using SSL/TLS to encrypt
* a connection to a DB instance in the Amazon RDS User Guide and Using SSL/TLS to
* encrypt a connection to a DB cluster in the Amazon Aurora User Guide.
*
*
* @param caCertificateIdentifier
* The identifier of the CA certificate for this DB instance.
*
* For more information, see Using SSL/TLS to
* encrypt a connection to a DB instance in the Amazon RDS User Guide and Using
* SSL/TLS to encrypt a connection to a DB cluster in the Amazon Aurora User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder caCertificateIdentifier(String caCertificateIdentifier);
/**
*
* The Active Directory Domain membership records associated with the DB instance.
*
*
* @param domainMemberships
* The Active Directory Domain membership records associated with the DB instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder domainMemberships(Collection domainMemberships);
/**
*
* The Active Directory Domain membership records associated with the DB instance.
*
*
* @param domainMemberships
* The Active Directory Domain membership records associated with the DB instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder domainMemberships(DomainMembership... domainMemberships);
/**
*
* The Active Directory Domain membership records associated with the DB instance.
*
* This is a convenience method that creates an instance of the
* {@link software.amazon.awssdk.services.rds.model.DomainMembership.Builder} avoiding the need to create one
* manually via {@link software.amazon.awssdk.services.rds.model.DomainMembership#builder()}.
*
*
* When the {@link Consumer} completes,
* {@link software.amazon.awssdk.services.rds.model.DomainMembership.Builder#build()} is called immediately and
* its result is passed to {@link #domainMemberships(List)}.
*
* @param domainMemberships
* a consumer that will call methods on
* {@link software.amazon.awssdk.services.rds.model.DomainMembership.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #domainMemberships(java.util.Collection)
*/
Builder domainMemberships(Consumer... domainMemberships);
/**
*
* Indicates whether tags are copied from the DB instance to snapshots of the DB instance.
*
*
* This setting doesn't apply to Amazon Aurora DB instances. Copying tags to snapshots is managed by the DB
* cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting. For more
* information, see DBCluster
.
*
*
* @param copyTagsToSnapshot
* Indicates whether tags are copied from the DB instance to snapshots of the DB instance.
*
* This setting doesn't apply to Amazon Aurora DB instances. Copying tags to snapshots is managed by the
* DB cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting. For
* more information, see DBCluster
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder copyTagsToSnapshot(Boolean copyTagsToSnapshot);
/**
*
* The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance.
*
*
* @param monitoringInterval
* The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB
* instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder monitoringInterval(Integer monitoringInterval);
/**
*
* The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that receives the Enhanced Monitoring
* metrics data for the DB instance.
*
*
* @param enhancedMonitoringResourceArn
* The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that receives the Enhanced
* Monitoring metrics data for the DB instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder enhancedMonitoringResourceArn(String enhancedMonitoringResourceArn);
/**
*
* The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs.
*
*
* @param monitoringRoleArn
* The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch
* Logs.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder monitoringRoleArn(String monitoringRoleArn);
/**
*
* The order of priority in which an Aurora Replica is promoted to the primary instance after a failure of the
* existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.
*
*
* @param promotionTier
* The order of priority in which an Aurora Replica is promoted to the primary instance after a failure
* of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder promotionTier(Integer promotionTier);
/**
*
* The Amazon Resource Name (ARN) for the DB instance.
*
*
* @param dbInstanceArn
* The Amazon Resource Name (ARN) for the DB instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder dbInstanceArn(String dbInstanceArn);
/**
*
* The time zone of the DB instance. In most cases, the Timezone
element is empty.
* Timezone
content appears only for RDS for Db2 and RDS for SQL Server DB instances that were
* created with a time zone specified.
*
*
* @param timezone
* The time zone of the DB instance. In most cases, the Timezone
element is empty.
* Timezone
content appears only for RDS for Db2 and RDS for SQL Server DB instances that
* were created with a time zone specified.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder timezone(String timezone);
/**
*
* Indicates whether mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database
* accounts is enabled for the DB instance.
*
*
* For a list of engine versions that support IAM database authentication, see IAM database authentication in the Amazon RDS User Guide and IAM database authentication in Aurora in the Amazon Aurora User Guide.
*
*
* @param iamDatabaseAuthenticationEnabled
* Indicates whether mapping of Amazon Web Services Identity and Access Management (IAM) accounts to
* database accounts is enabled for the DB instance.
*
* For a list of engine versions that support IAM database authentication, see IAM database authentication in the Amazon RDS User Guide and IAM database authentication in Aurora in the Amazon Aurora User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder iamDatabaseAuthenticationEnabled(Boolean iamDatabaseAuthenticationEnabled);
/**
*
* Indicates whether Performance Insights is enabled for the DB instance.
*
*
* @param performanceInsightsEnabled
* Indicates whether Performance Insights is enabled for the DB instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder performanceInsightsEnabled(Boolean performanceInsightsEnabled);
/**
*
* The Amazon Web Services KMS key identifier for encryption of Performance Insights data.
*
*
* The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.
*
*
* @param performanceInsightsKMSKeyId
* The Amazon Web Services KMS key identifier for encryption of Performance Insights data.
*
* The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the
* KMS key.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder performanceInsightsKMSKeyId(String performanceInsightsKMSKeyId);
/**
*
* The number of days to retain Performance Insights data.
*
*
* Valid Values:
*
*
* -
*
* 7
*
*
* -
*
* month * 31, where month is a number of months from 1-23. Examples: 93
(3 months *
* 31), 341
(11 months * 31), 589
(19 months * 31)
*
*
* -
*
* 731
*
*
*
*
* Default: 7
days
*
*
* @param performanceInsightsRetentionPeriod
* The number of days to retain Performance Insights data.
*
* Valid Values:
*
*
* -
*
* 7
*
*
* -
*
* month * 31, where month is a number of months from 1-23. Examples: 93
(3
* months * 31), 341
(11 months * 31), 589
(19 months * 31)
*
*
* -
*
* 731
*
*
*
*
* Default: 7
days
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder performanceInsightsRetentionPeriod(Integer performanceInsightsRetentionPeriod);
/**
*
* A list of log types that this DB instance is configured to export to CloudWatch Logs.
*
*
* Log types vary by DB engine. For information about the log types for each DB engine, see Monitoring Amazon RDS log
* files in the Amazon RDS User Guide.
*
*
* @param enabledCloudwatchLogsExports
* A list of log types that this DB instance is configured to export to CloudWatch Logs.
*
* Log types vary by DB engine. For information about the log types for each DB engine, see Monitoring Amazon
* RDS log files in the Amazon RDS User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder enabledCloudwatchLogsExports(Collection enabledCloudwatchLogsExports);
/**
*
* A list of log types that this DB instance is configured to export to CloudWatch Logs.
*
*
* Log types vary by DB engine. For information about the log types for each DB engine, see Monitoring Amazon RDS log
* files in the Amazon RDS User Guide.
*
*
* @param enabledCloudwatchLogsExports
* A list of log types that this DB instance is configured to export to CloudWatch Logs.
*
* Log types vary by DB engine. For information about the log types for each DB engine, see Monitoring Amazon
* RDS log files in the Amazon RDS User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder enabledCloudwatchLogsExports(String... enabledCloudwatchLogsExports);
/**
*
* The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.
*
*
* @param processorFeatures
* The number of CPU cores and the number of threads per core for the DB instance class of the DB
* instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder processorFeatures(Collection processorFeatures);
/**
*
* The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.
*
*
* @param processorFeatures
* The number of CPU cores and the number of threads per core for the DB instance class of the DB
* instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder processorFeatures(ProcessorFeature... processorFeatures);
/**
*
* The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.
*
* This is a convenience method that creates an instance of the
* {@link software.amazon.awssdk.services.rds.model.ProcessorFeature.Builder} avoiding the need to create one
* manually via {@link software.amazon.awssdk.services.rds.model.ProcessorFeature#builder()}.
*
*
* When the {@link Consumer} completes,
* {@link software.amazon.awssdk.services.rds.model.ProcessorFeature.Builder#build()} is called immediately and
* its result is passed to {@link #processorFeatures(List)}.
*
* @param processorFeatures
* a consumer that will call methods on
* {@link software.amazon.awssdk.services.rds.model.ProcessorFeature.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #processorFeatures(java.util.Collection)
*/
Builder processorFeatures(Consumer... processorFeatures);
/**
*
* Indicates whether the DB instance has deletion protection enabled. The database can't be deleted when
* deletion protection is enabled. For more information, see Deleting a DB
* Instance.
*
*
* @param deletionProtection
* Indicates whether the DB instance has deletion protection enabled. The database can't be deleted when
* deletion protection is enabled. For more information, see Deleting a DB
* Instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder deletionProtection(Boolean deletionProtection);
/**
*
* The Amazon Web Services Identity and Access Management (IAM) roles associated with the DB instance.
*
*
* @param associatedRoles
* The Amazon Web Services Identity and Access Management (IAM) roles associated with the DB instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder associatedRoles(Collection associatedRoles);
/**
*
* The Amazon Web Services Identity and Access Management (IAM) roles associated with the DB instance.
*
*
* @param associatedRoles
* The Amazon Web Services Identity and Access Management (IAM) roles associated with the DB instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder associatedRoles(DBInstanceRole... associatedRoles);
/**
*
* The Amazon Web Services Identity and Access Management (IAM) roles associated with the DB instance.
*
* This is a convenience method that creates an instance of the
* {@link software.amazon.awssdk.services.rds.model.DBInstanceRole.Builder} avoiding the need to create one
* manually via {@link software.amazon.awssdk.services.rds.model.DBInstanceRole#builder()}.
*
*
* When the {@link Consumer} completes,
* {@link software.amazon.awssdk.services.rds.model.DBInstanceRole.Builder#build()} is called immediately and
* its result is passed to {@link #associatedRoles(List)}.
*
* @param associatedRoles
* a consumer that will call methods on
* {@link software.amazon.awssdk.services.rds.model.DBInstanceRole.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #associatedRoles(java.util.Collection)
*/
Builder associatedRoles(Consumer... associatedRoles);
/**
*
* The listener connection endpoint for SQL Server Always On.
*
*
* @param listenerEndpoint
* The listener connection endpoint for SQL Server Always On.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder listenerEndpoint(Endpoint listenerEndpoint);
/**
*
* The listener connection endpoint for SQL Server Always On.
*
* This is a convenience method that creates an instance of the {@link Endpoint.Builder} avoiding the need to
* create one manually via {@link Endpoint#builder()}.
*
*
* When the {@link Consumer} completes, {@link Endpoint.Builder#build()} is called immediately and its result is
* passed to {@link #listenerEndpoint(Endpoint)}.
*
* @param listenerEndpoint
* a consumer that will call methods on {@link Endpoint.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #listenerEndpoint(Endpoint)
*/
default Builder listenerEndpoint(Consumer listenerEndpoint) {
return listenerEndpoint(Endpoint.builder().applyMutation(listenerEndpoint).build());
}
/**
*
* The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB
* instance.
*
*
* @param maxAllocatedStorage
* The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB
* instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder maxAllocatedStorage(Integer maxAllocatedStorage);
/**
* Sets the value of the TagList property for this object.
*
* @param tagList
* The new value for the TagList property for this object.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder tagList(Collection tagList);
/**
* Sets the value of the TagList property for this object.
*
* @param tagList
* The new value for the TagList property for this object.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder tagList(Tag... tagList);
/**
* Sets the value of the TagList property for this object.
*
* This is a convenience method that creates an instance of the
* {@link software.amazon.awssdk.services.rds.model.Tag.Builder} avoiding the need to create one manually via
* {@link software.amazon.awssdk.services.rds.model.Tag#builder()}.
*
*
* When the {@link Consumer} completes, {@link software.amazon.awssdk.services.rds.model.Tag.Builder#build()} is
* called immediately and its result is passed to {@link #tagList(List)}.
*
* @param tagList
* a consumer that will call methods on {@link software.amazon.awssdk.services.rds.model.Tag.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #tagList(java.util.Collection)
*/
Builder tagList(Consumer... tagList);
/**
*
* The list of replicated automated backups associated with the DB instance.
*
*
* @param dbInstanceAutomatedBackupsReplications
* The list of replicated automated backups associated with the DB instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder dbInstanceAutomatedBackupsReplications(
Collection dbInstanceAutomatedBackupsReplications);
/**
*
* The list of replicated automated backups associated with the DB instance.
*
*
* @param dbInstanceAutomatedBackupsReplications
* The list of replicated automated backups associated with the DB instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder dbInstanceAutomatedBackupsReplications(
DBInstanceAutomatedBackupsReplication... dbInstanceAutomatedBackupsReplications);
/**
*
* The list of replicated automated backups associated with the DB instance.
*
* This is a convenience method that creates an instance of the
* {@link software.amazon.awssdk.services.rds.model.DBInstanceAutomatedBackupsReplication.Builder} avoiding the
* need to create one manually via
* {@link software.amazon.awssdk.services.rds.model.DBInstanceAutomatedBackupsReplication#builder()}.
*
*
* When the {@link Consumer} completes,
* {@link software.amazon.awssdk.services.rds.model.DBInstanceAutomatedBackupsReplication.Builder#build()} is
* called immediately and its result is passed to {@link
* #dbInstanceAutomatedBackupsReplications(List)}.
*
* @param dbInstanceAutomatedBackupsReplications
* a consumer that will call methods on
* {@link software.amazon.awssdk.services.rds.model.DBInstanceAutomatedBackupsReplication.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #dbInstanceAutomatedBackupsReplications(java.util.Collection)
*/
Builder dbInstanceAutomatedBackupsReplications(
Consumer... dbInstanceAutomatedBackupsReplications);
/**
*
* Indicates whether a customer-owned IP address (CoIP) is enabled for an RDS on Outposts DB instance.
*
*
* A CoIP provides local or external connectivity to resources in your Outpost subnets through your
* on-premises network. For some use cases, a CoIP can provide lower latency for connections to the DB instance
* from outside of its virtual private cloud (VPC) on your local network.
*
*
* For more information about RDS on Outposts, see Working with Amazon RDS on
* Amazon Web Services Outposts in the Amazon RDS User Guide.
*
*
* For more information about CoIPs, see Customer-owned IP
* addresses in the Amazon Web Services Outposts User Guide.
*
*
* @param customerOwnedIpEnabled
* Indicates whether a customer-owned IP address (CoIP) is enabled for an RDS on Outposts DB
* instance.
*
* A CoIP provides local or external connectivity to resources in your Outpost subnets through
* your on-premises network. For some use cases, a CoIP can provide lower latency for connections to the
* DB instance from outside of its virtual private cloud (VPC) on your local network.
*
*
* For more information about RDS on Outposts, see Working with Amazon
* RDS on Amazon Web Services Outposts in the Amazon RDS User Guide.
*
*
* For more information about CoIPs, see Customer-owned
* IP addresses in the Amazon Web Services Outposts User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder customerOwnedIpEnabled(Boolean customerOwnedIpEnabled);
/**
*
* The Amazon Resource Name (ARN) of the recovery point in Amazon Web Services Backup.
*
*
* @param awsBackupRecoveryPointArn
* The Amazon Resource Name (ARN) of the recovery point in Amazon Web Services Backup.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder awsBackupRecoveryPointArn(String awsBackupRecoveryPointArn);
/**
*
* The status of the database activity stream.
*
*
* @param activityStreamStatus
* The status of the database activity stream.
* @see ActivityStreamStatus
* @return Returns a reference to this object so that method calls can be chained together.
* @see ActivityStreamStatus
*/
Builder activityStreamStatus(String activityStreamStatus);
/**
*
* The status of the database activity stream.
*
*
* @param activityStreamStatus
* The status of the database activity stream.
* @see ActivityStreamStatus
* @return Returns a reference to this object so that method calls can be chained together.
* @see ActivityStreamStatus
*/
Builder activityStreamStatus(ActivityStreamStatus activityStreamStatus);
/**
*
* The Amazon Web Services KMS key identifier used for encrypting messages in the database activity stream. The
* Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.
*
*
* @param activityStreamKmsKeyId
* The Amazon Web Services KMS key identifier used for encrypting messages in the database activity
* stream. The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name
* for the KMS key.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder activityStreamKmsKeyId(String activityStreamKmsKeyId);
/**
*
* The name of the Amazon Kinesis data stream used for the database activity stream.
*
*
* @param activityStreamKinesisStreamName
* The name of the Amazon Kinesis data stream used for the database activity stream.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder activityStreamKinesisStreamName(String activityStreamKinesisStreamName);
/**
*
* The mode of the database activity stream. Database events such as a change or access generate an activity
* stream event. RDS for Oracle always handles these events asynchronously.
*
*
* @param activityStreamMode
* The mode of the database activity stream. Database events such as a change or access generate an
* activity stream event. RDS for Oracle always handles these events asynchronously.
* @see ActivityStreamMode
* @return Returns a reference to this object so that method calls can be chained together.
* @see ActivityStreamMode
*/
Builder activityStreamMode(String activityStreamMode);
/**
*
* The mode of the database activity stream. Database events such as a change or access generate an activity
* stream event. RDS for Oracle always handles these events asynchronously.
*
*
* @param activityStreamMode
* The mode of the database activity stream. Database events such as a change or access generate an
* activity stream event. RDS for Oracle always handles these events asynchronously.
* @see ActivityStreamMode
* @return Returns a reference to this object so that method calls can be chained together.
* @see ActivityStreamMode
*/
Builder activityStreamMode(ActivityStreamMode activityStreamMode);
/**
*
* Indicates whether engine-native audit fields are included in the database activity stream.
*
*
* @param activityStreamEngineNativeAuditFieldsIncluded
* Indicates whether engine-native audit fields are included in the database activity stream.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder activityStreamEngineNativeAuditFieldsIncluded(Boolean activityStreamEngineNativeAuditFieldsIncluded);
/**
*
* The automation mode of the RDS Custom DB instance: full
or all paused
. If
* full
, the DB instance automates monitoring and instance recovery. If all paused
,
* the instance pauses automation for the duration set by --resume-full-automation-mode-minutes
.
*
*
* @param automationMode
* The automation mode of the RDS Custom DB instance: full
or all paused
. If
* full
, the DB instance automates monitoring and instance recovery. If
* all paused
, the instance pauses automation for the duration set by
* --resume-full-automation-mode-minutes
.
* @see AutomationMode
* @return Returns a reference to this object so that method calls can be chained together.
* @see AutomationMode
*/
Builder automationMode(String automationMode);
/**
*
* The automation mode of the RDS Custom DB instance: full
or all paused
. If
* full
, the DB instance automates monitoring and instance recovery. If all paused
,
* the instance pauses automation for the duration set by --resume-full-automation-mode-minutes
.
*
*
* @param automationMode
* The automation mode of the RDS Custom DB instance: full
or all paused
. If
* full
, the DB instance automates monitoring and instance recovery. If
* all paused
, the instance pauses automation for the duration set by
* --resume-full-automation-mode-minutes
.
* @see AutomationMode
* @return Returns a reference to this object so that method calls can be chained together.
* @see AutomationMode
*/
Builder automationMode(AutomationMode automationMode);
/**
*
* The number of minutes to pause the automation. When the time period ends, RDS Custom resumes full automation.
* The minimum value is 60 (default). The maximum value is 1,440.
*
*
* @param resumeFullAutomationModeTime
* The number of minutes to pause the automation. When the time period ends, RDS Custom resumes full
* automation. The minimum value is 60 (default). The maximum value is 1,440.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder resumeFullAutomationModeTime(Instant resumeFullAutomationModeTime);
/**
*
* The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. The
* instance profile must meet the following requirements:
*
*
* -
*
* The profile must exist in your account.
*
*
* -
*
* The profile must have an IAM role that Amazon EC2 has permissions to assume.
*
*
* -
*
* The instance profile name and the associated IAM role name must start with the prefix
* AWSRDSCustom
.
*
*
*
*
* For the list of permissions required for the IAM role, see
* Configure IAM and your VPC in the Amazon RDS User Guide.
*
*
* @param customIamInstanceProfile
* The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.
* The instance profile must meet the following requirements:
*
* -
*
* The profile must exist in your account.
*
*
* -
*
* The profile must have an IAM role that Amazon EC2 has permissions to assume.
*
*
* -
*
* The instance profile name and the associated IAM role name must start with the prefix
* AWSRDSCustom
.
*
*
*
*
* For the list of permissions required for the IAM role, see Configure IAM and your VPC in the Amazon RDS User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder customIamInstanceProfile(String customIamInstanceProfile);
/**
*
* The location where automated backups and manual snapshots are stored: Amazon Web Services Outposts or the
* Amazon Web Services Region.
*
*
* @param backupTarget
* The location where automated backups and manual snapshots are stored: Amazon Web Services Outposts or
* the Amazon Web Services Region.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder backupTarget(String backupTarget);
/**
*
* The network type of the DB instance.
*
*
* The network type is determined by the DBSubnetGroup
specified for the DB instance. A
* DBSubnetGroup
can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (
* DUAL
).
*
*
* For more information, see
* Working with a DB instance in a VPC in the Amazon RDS User Guide and
* Working with a DB instance in a VPC in the Amazon Aurora User Guide.
*
*
* Valid Values: IPV4 | DUAL
*
*
* @param networkType
* The network type of the DB instance.
*
* The network type is determined by the DBSubnetGroup
specified for the DB instance. A
* DBSubnetGroup
can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (
* DUAL
).
*
*
* For more information, see
* Working with a DB instance in a VPC in the Amazon RDS User Guide and Working with a DB instance in a VPC in the Amazon Aurora User Guide.
*
*
* Valid Values: IPV4 | DUAL
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder networkType(String networkType);
/**
*
* The status of the policy state of the activity stream.
*
*
* @param activityStreamPolicyStatus
* The status of the policy state of the activity stream.
* @see ActivityStreamPolicyStatus
* @return Returns a reference to this object so that method calls can be chained together.
* @see ActivityStreamPolicyStatus
*/
Builder activityStreamPolicyStatus(String activityStreamPolicyStatus);
/**
*
* The status of the policy state of the activity stream.
*
*
* @param activityStreamPolicyStatus
* The status of the policy state of the activity stream.
* @see ActivityStreamPolicyStatus
* @return Returns a reference to this object so that method calls can be chained together.
* @see ActivityStreamPolicyStatus
*/
Builder activityStreamPolicyStatus(ActivityStreamPolicyStatus activityStreamPolicyStatus);
/**
*
* The storage throughput for the DB instance.
*
*
* This setting applies only to the gp3
storage type.
*
*
* @param storageThroughput
* The storage throughput for the DB instance.
*
* This setting applies only to the gp3
storage type.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder storageThroughput(Integer storageThroughput);
/**
*
* The Oracle system ID (Oracle SID) for a container database (CDB). The Oracle SID is also the name of the CDB.
* This setting is only valid for RDS Custom DB instances.
*
*
* @param dbSystemId
* The Oracle system ID (Oracle SID) for a container database (CDB). The Oracle SID is also the name of
* the CDB. This setting is only valid for RDS Custom DB instances.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder dbSystemId(String dbSystemId);
/**
*
* The secret managed by RDS in Amazon Web Services Secrets Manager for the master user password.
*
*
* For more information, see Password management
* with Amazon Web Services Secrets Manager in the Amazon RDS User Guide.
*
*
* @param masterUserSecret
* The secret managed by RDS in Amazon Web Services Secrets Manager for the master user password.
*
* For more information, see Password
* management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder masterUserSecret(MasterUserSecret masterUserSecret);
/**
*
* The secret managed by RDS in Amazon Web Services Secrets Manager for the master user password.
*
*
* For more information, see Password management
* with Amazon Web Services Secrets Manager in the Amazon RDS User Guide.
*
* This is a convenience method that creates an instance of the {@link MasterUserSecret.Builder} avoiding the
* need to create one manually via {@link MasterUserSecret#builder()}.
*
*
* When the {@link Consumer} completes, {@link MasterUserSecret.Builder#build()} is called immediately and its
* result is passed to {@link #masterUserSecret(MasterUserSecret)}.
*
* @param masterUserSecret
* a consumer that will call methods on {@link MasterUserSecret.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #masterUserSecret(MasterUserSecret)
*/
default Builder masterUserSecret(Consumer masterUserSecret) {
return masterUserSecret(MasterUserSecret.builder().applyMutation(masterUserSecret).build());
}
/**
*
* The details of the DB instance's server certificate.
*
*
* @param certificateDetails
* The details of the DB instance's server certificate.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder certificateDetails(CertificateDetails certificateDetails);
/**
*
* The details of the DB instance's server certificate.
*
* This is a convenience method that creates an instance of the {@link CertificateDetails.Builder} avoiding the
* need to create one manually via {@link CertificateDetails#builder()}.
*
*
* When the {@link Consumer} completes, {@link CertificateDetails.Builder#build()} is called immediately and its
* result is passed to {@link #certificateDetails(CertificateDetails)}.
*
* @param certificateDetails
* a consumer that will call methods on {@link CertificateDetails.Builder}
* @return Returns a reference to this object so that method calls can be chained together.
* @see #certificateDetails(CertificateDetails)
*/
default Builder certificateDetails(Consumer certificateDetails) {
return certificateDetails(CertificateDetails.builder().applyMutation(certificateDetails).build());
}
/**
*
* The identifier of the source DB cluster if this DB instance is a read replica.
*
*
* @param readReplicaSourceDBClusterIdentifier
* The identifier of the source DB cluster if this DB instance is a read replica.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder readReplicaSourceDBClusterIdentifier(String readReplicaSourceDBClusterIdentifier);
/**
*
* The progress of the storage optimization operation as a percentage.
*
*
* @param percentProgress
* The progress of the storage optimization operation as a percentage.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder percentProgress(String percentProgress);
/**
*
* Indicates whether the DB instance has a dedicated log volume (DLV) enabled.
*
*
* @param dedicatedLogVolume
* Indicates whether the DB instance has a dedicated log volume (DLV) enabled.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder dedicatedLogVolume(Boolean dedicatedLogVolume);
/**
*
* Indicates whether an upgrade is recommended for the storage file system configuration on the DB instance. To
* migrate to the preferred configuration, you can either create a blue/green deployment, or create a read
* replica from the DB instance. For more information, see Upgrading the storage file system for a DB instance.
*
*
* @param isStorageConfigUpgradeAvailable
* Indicates whether an upgrade is recommended for the storage file system configuration on the DB
* instance. To migrate to the preferred configuration, you can either create a blue/green deployment, or
* create a read replica from the DB instance. For more information, see Upgrading the storage file system for a DB instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder isStorageConfigUpgradeAvailable(Boolean isStorageConfigUpgradeAvailable);
/**
*
* Specifies whether the DB instance is in the multi-tenant configuration (TRUE) or the single-tenant
* configuration (FALSE).
*
*
* @param multiTenant
* Specifies whether the DB instance is in the multi-tenant configuration (TRUE) or the single-tenant
* configuration (FALSE).
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder multiTenant(Boolean multiTenant);
/**
*
* The life cycle type for the DB instance.
*
*
* For more information, see CreateDBInstance.
*
*
* @param engineLifecycleSupport
* The life cycle type for the DB instance.
*
* For more information, see CreateDBInstance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
Builder engineLifecycleSupport(String engineLifecycleSupport);
}
static final class BuilderImpl implements Builder {
private String dbInstanceIdentifier;
private String dbInstanceClass;
private String engine;
private String dbInstanceStatus;
private Instant automaticRestartTime;
private String masterUsername;
private String dbName;
private Endpoint endpoint;
private Integer allocatedStorage;
private Instant instanceCreateTime;
private String preferredBackupWindow;
private Integer backupRetentionPeriod;
private List dbSecurityGroups = DefaultSdkAutoConstructList.getInstance();
private List vpcSecurityGroups = DefaultSdkAutoConstructList.getInstance();
private List dbParameterGroups = DefaultSdkAutoConstructList.getInstance();
private String availabilityZone;
private DBSubnetGroup dbSubnetGroup;
private String preferredMaintenanceWindow;
private PendingModifiedValues pendingModifiedValues;
private Instant latestRestorableTime;
private Boolean multiAZ;
private String engineVersion;
private Boolean autoMinorVersionUpgrade;
private String readReplicaSourceDBInstanceIdentifier;
private List readReplicaDBInstanceIdentifiers = DefaultSdkAutoConstructList.getInstance();
private List readReplicaDBClusterIdentifiers = DefaultSdkAutoConstructList.getInstance();
private String replicaMode;
private String licenseModel;
private Integer iops;
private List optionGroupMemberships = DefaultSdkAutoConstructList.getInstance();
private String characterSetName;
private String ncharCharacterSetName;
private String secondaryAvailabilityZone;
private Boolean publiclyAccessible;
private List statusInfos = DefaultSdkAutoConstructList.getInstance();
private String storageType;
private String tdeCredentialArn;
private Integer dbInstancePort;
private String dbClusterIdentifier;
private Boolean storageEncrypted;
private String kmsKeyId;
private String dbiResourceId;
private String caCertificateIdentifier;
private List domainMemberships = DefaultSdkAutoConstructList.getInstance();
private Boolean copyTagsToSnapshot;
private Integer monitoringInterval;
private String enhancedMonitoringResourceArn;
private String monitoringRoleArn;
private Integer promotionTier;
private String dbInstanceArn;
private String timezone;
private Boolean iamDatabaseAuthenticationEnabled;
private Boolean performanceInsightsEnabled;
private String performanceInsightsKMSKeyId;
private Integer performanceInsightsRetentionPeriod;
private List enabledCloudwatchLogsExports = DefaultSdkAutoConstructList.getInstance();
private List processorFeatures = DefaultSdkAutoConstructList.getInstance();
private Boolean deletionProtection;
private List associatedRoles = DefaultSdkAutoConstructList.getInstance();
private Endpoint listenerEndpoint;
private Integer maxAllocatedStorage;
private List tagList = DefaultSdkAutoConstructList.getInstance();
private List dbInstanceAutomatedBackupsReplications = DefaultSdkAutoConstructList
.getInstance();
private Boolean customerOwnedIpEnabled;
private String awsBackupRecoveryPointArn;
private String activityStreamStatus;
private String activityStreamKmsKeyId;
private String activityStreamKinesisStreamName;
private String activityStreamMode;
private Boolean activityStreamEngineNativeAuditFieldsIncluded;
private String automationMode;
private Instant resumeFullAutomationModeTime;
private String customIamInstanceProfile;
private String backupTarget;
private String networkType;
private String activityStreamPolicyStatus;
private Integer storageThroughput;
private String dbSystemId;
private MasterUserSecret masterUserSecret;
private CertificateDetails certificateDetails;
private String readReplicaSourceDBClusterIdentifier;
private String percentProgress;
private Boolean dedicatedLogVolume;
private Boolean isStorageConfigUpgradeAvailable;
private Boolean multiTenant;
private String engineLifecycleSupport;
private BuilderImpl() {
}
private BuilderImpl(DBInstance model) {
dbInstanceIdentifier(model.dbInstanceIdentifier);
dbInstanceClass(model.dbInstanceClass);
engine(model.engine);
dbInstanceStatus(model.dbInstanceStatus);
automaticRestartTime(model.automaticRestartTime);
masterUsername(model.masterUsername);
dbName(model.dbName);
endpoint(model.endpoint);
allocatedStorage(model.allocatedStorage);
instanceCreateTime(model.instanceCreateTime);
preferredBackupWindow(model.preferredBackupWindow);
backupRetentionPeriod(model.backupRetentionPeriod);
dbSecurityGroups(model.dbSecurityGroups);
vpcSecurityGroups(model.vpcSecurityGroups);
dbParameterGroups(model.dbParameterGroups);
availabilityZone(model.availabilityZone);
dbSubnetGroup(model.dbSubnetGroup);
preferredMaintenanceWindow(model.preferredMaintenanceWindow);
pendingModifiedValues(model.pendingModifiedValues);
latestRestorableTime(model.latestRestorableTime);
multiAZ(model.multiAZ);
engineVersion(model.engineVersion);
autoMinorVersionUpgrade(model.autoMinorVersionUpgrade);
readReplicaSourceDBInstanceIdentifier(model.readReplicaSourceDBInstanceIdentifier);
readReplicaDBInstanceIdentifiers(model.readReplicaDBInstanceIdentifiers);
readReplicaDBClusterIdentifiers(model.readReplicaDBClusterIdentifiers);
replicaMode(model.replicaMode);
licenseModel(model.licenseModel);
iops(model.iops);
optionGroupMemberships(model.optionGroupMemberships);
characterSetName(model.characterSetName);
ncharCharacterSetName(model.ncharCharacterSetName);
secondaryAvailabilityZone(model.secondaryAvailabilityZone);
publiclyAccessible(model.publiclyAccessible);
statusInfos(model.statusInfos);
storageType(model.storageType);
tdeCredentialArn(model.tdeCredentialArn);
dbInstancePort(model.dbInstancePort);
dbClusterIdentifier(model.dbClusterIdentifier);
storageEncrypted(model.storageEncrypted);
kmsKeyId(model.kmsKeyId);
dbiResourceId(model.dbiResourceId);
caCertificateIdentifier(model.caCertificateIdentifier);
domainMemberships(model.domainMemberships);
copyTagsToSnapshot(model.copyTagsToSnapshot);
monitoringInterval(model.monitoringInterval);
enhancedMonitoringResourceArn(model.enhancedMonitoringResourceArn);
monitoringRoleArn(model.monitoringRoleArn);
promotionTier(model.promotionTier);
dbInstanceArn(model.dbInstanceArn);
timezone(model.timezone);
iamDatabaseAuthenticationEnabled(model.iamDatabaseAuthenticationEnabled);
performanceInsightsEnabled(model.performanceInsightsEnabled);
performanceInsightsKMSKeyId(model.performanceInsightsKMSKeyId);
performanceInsightsRetentionPeriod(model.performanceInsightsRetentionPeriod);
enabledCloudwatchLogsExports(model.enabledCloudwatchLogsExports);
processorFeatures(model.processorFeatures);
deletionProtection(model.deletionProtection);
associatedRoles(model.associatedRoles);
listenerEndpoint(model.listenerEndpoint);
maxAllocatedStorage(model.maxAllocatedStorage);
tagList(model.tagList);
dbInstanceAutomatedBackupsReplications(model.dbInstanceAutomatedBackupsReplications);
customerOwnedIpEnabled(model.customerOwnedIpEnabled);
awsBackupRecoveryPointArn(model.awsBackupRecoveryPointArn);
activityStreamStatus(model.activityStreamStatus);
activityStreamKmsKeyId(model.activityStreamKmsKeyId);
activityStreamKinesisStreamName(model.activityStreamKinesisStreamName);
activityStreamMode(model.activityStreamMode);
activityStreamEngineNativeAuditFieldsIncluded(model.activityStreamEngineNativeAuditFieldsIncluded);
automationMode(model.automationMode);
resumeFullAutomationModeTime(model.resumeFullAutomationModeTime);
customIamInstanceProfile(model.customIamInstanceProfile);
backupTarget(model.backupTarget);
networkType(model.networkType);
activityStreamPolicyStatus(model.activityStreamPolicyStatus);
storageThroughput(model.storageThroughput);
dbSystemId(model.dbSystemId);
masterUserSecret(model.masterUserSecret);
certificateDetails(model.certificateDetails);
readReplicaSourceDBClusterIdentifier(model.readReplicaSourceDBClusterIdentifier);
percentProgress(model.percentProgress);
dedicatedLogVolume(model.dedicatedLogVolume);
isStorageConfigUpgradeAvailable(model.isStorageConfigUpgradeAvailable);
multiTenant(model.multiTenant);
engineLifecycleSupport(model.engineLifecycleSupport);
}
public final String getDbInstanceIdentifier() {
return dbInstanceIdentifier;
}
public final void setDbInstanceIdentifier(String dbInstanceIdentifier) {
this.dbInstanceIdentifier = dbInstanceIdentifier;
}
@Override
public final Builder dbInstanceIdentifier(String dbInstanceIdentifier) {
this.dbInstanceIdentifier = dbInstanceIdentifier;
return this;
}
public final String getDbInstanceClass() {
return dbInstanceClass;
}
public final void setDbInstanceClass(String dbInstanceClass) {
this.dbInstanceClass = dbInstanceClass;
}
@Override
public final Builder dbInstanceClass(String dbInstanceClass) {
this.dbInstanceClass = dbInstanceClass;
return this;
}
public final String getEngine() {
return engine;
}
public final void setEngine(String engine) {
this.engine = engine;
}
@Override
public final Builder engine(String engine) {
this.engine = engine;
return this;
}
public final String getDbInstanceStatus() {
return dbInstanceStatus;
}
public final void setDbInstanceStatus(String dbInstanceStatus) {
this.dbInstanceStatus = dbInstanceStatus;
}
@Override
public final Builder dbInstanceStatus(String dbInstanceStatus) {
this.dbInstanceStatus = dbInstanceStatus;
return this;
}
public final Instant getAutomaticRestartTime() {
return automaticRestartTime;
}
public final void setAutomaticRestartTime(Instant automaticRestartTime) {
this.automaticRestartTime = automaticRestartTime;
}
@Override
public final Builder automaticRestartTime(Instant automaticRestartTime) {
this.automaticRestartTime = automaticRestartTime;
return this;
}
public final String getMasterUsername() {
return masterUsername;
}
public final void setMasterUsername(String masterUsername) {
this.masterUsername = masterUsername;
}
@Override
public final Builder masterUsername(String masterUsername) {
this.masterUsername = masterUsername;
return this;
}
public final String getDbName() {
return dbName;
}
public final void setDbName(String dbName) {
this.dbName = dbName;
}
@Override
public final Builder dbName(String dbName) {
this.dbName = dbName;
return this;
}
public final Endpoint.Builder getEndpoint() {
return endpoint != null ? endpoint.toBuilder() : null;
}
public final void setEndpoint(Endpoint.BuilderImpl endpoint) {
this.endpoint = endpoint != null ? endpoint.build() : null;
}
@Override
public final Builder endpoint(Endpoint endpoint) {
this.endpoint = endpoint;
return this;
}
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 Instant getInstanceCreateTime() {
return instanceCreateTime;
}
public final void setInstanceCreateTime(Instant instanceCreateTime) {
this.instanceCreateTime = instanceCreateTime;
}
@Override
public final Builder instanceCreateTime(Instant instanceCreateTime) {
this.instanceCreateTime = instanceCreateTime;
return this;
}
public final String getPreferredBackupWindow() {
return preferredBackupWindow;
}
public final void setPreferredBackupWindow(String preferredBackupWindow) {
this.preferredBackupWindow = preferredBackupWindow;
}
@Override
public final Builder preferredBackupWindow(String preferredBackupWindow) {
this.preferredBackupWindow = preferredBackupWindow;
return this;
}
public final Integer getBackupRetentionPeriod() {
return backupRetentionPeriod;
}
public final void setBackupRetentionPeriod(Integer backupRetentionPeriod) {
this.backupRetentionPeriod = backupRetentionPeriod;
}
@Override
public final Builder backupRetentionPeriod(Integer backupRetentionPeriod) {
this.backupRetentionPeriod = backupRetentionPeriod;
return this;
}
public final List getDbSecurityGroups() {
List result = DBSecurityGroupMembershipListCopier
.copyToBuilder(this.dbSecurityGroups);
if (result instanceof SdkAutoConstructList) {
return null;
}
return result;
}
public final void setDbSecurityGroups(Collection dbSecurityGroups) {
this.dbSecurityGroups = DBSecurityGroupMembershipListCopier.copyFromBuilder(dbSecurityGroups);
}
@Override
public final Builder dbSecurityGroups(Collection dbSecurityGroups) {
this.dbSecurityGroups = DBSecurityGroupMembershipListCopier.copy(dbSecurityGroups);
return this;
}
@Override
@SafeVarargs
public final Builder dbSecurityGroups(DBSecurityGroupMembership... dbSecurityGroups) {
dbSecurityGroups(Arrays.asList(dbSecurityGroups));
return this;
}
@Override
@SafeVarargs
public final Builder dbSecurityGroups(Consumer... dbSecurityGroups) {
dbSecurityGroups(Stream.of(dbSecurityGroups).map(c -> DBSecurityGroupMembership.builder().applyMutation(c).build())
.collect(Collectors.toList()));
return this;
}
public final List getVpcSecurityGroups() {
List result = VpcSecurityGroupMembershipListCopier
.copyToBuilder(this.vpcSecurityGroups);
if (result instanceof SdkAutoConstructList) {
return null;
}
return result;
}
public final void setVpcSecurityGroups(Collection vpcSecurityGroups) {
this.vpcSecurityGroups = VpcSecurityGroupMembershipListCopier.copyFromBuilder(vpcSecurityGroups);
}
@Override
public final Builder vpcSecurityGroups(Collection vpcSecurityGroups) {
this.vpcSecurityGroups = VpcSecurityGroupMembershipListCopier.copy(vpcSecurityGroups);
return this;
}
@Override
@SafeVarargs
public final Builder vpcSecurityGroups(VpcSecurityGroupMembership... vpcSecurityGroups) {
vpcSecurityGroups(Arrays.asList(vpcSecurityGroups));
return this;
}
@Override
@SafeVarargs
public final Builder vpcSecurityGroups(Consumer... vpcSecurityGroups) {
vpcSecurityGroups(Stream.of(vpcSecurityGroups)
.map(c -> VpcSecurityGroupMembership.builder().applyMutation(c).build()).collect(Collectors.toList()));
return this;
}
public final List getDbParameterGroups() {
List result = DBParameterGroupStatusListCopier.copyToBuilder(this.dbParameterGroups);
if (result instanceof SdkAutoConstructList) {
return null;
}
return result;
}
public final void setDbParameterGroups(Collection dbParameterGroups) {
this.dbParameterGroups = DBParameterGroupStatusListCopier.copyFromBuilder(dbParameterGroups);
}
@Override
public final Builder dbParameterGroups(Collection dbParameterGroups) {
this.dbParameterGroups = DBParameterGroupStatusListCopier.copy(dbParameterGroups);
return this;
}
@Override
@SafeVarargs
public final Builder dbParameterGroups(DBParameterGroupStatus... dbParameterGroups) {
dbParameterGroups(Arrays.asList(dbParameterGroups));
return this;
}
@Override
@SafeVarargs
public final Builder dbParameterGroups(Consumer... dbParameterGroups) {
dbParameterGroups(Stream.of(dbParameterGroups).map(c -> DBParameterGroupStatus.builder().applyMutation(c).build())
.collect(Collectors.toList()));
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 DBSubnetGroup.Builder getDbSubnetGroup() {
return dbSubnetGroup != null ? dbSubnetGroup.toBuilder() : null;
}
public final void setDbSubnetGroup(DBSubnetGroup.BuilderImpl dbSubnetGroup) {
this.dbSubnetGroup = dbSubnetGroup != null ? dbSubnetGroup.build() : null;
}
@Override
public final Builder dbSubnetGroup(DBSubnetGroup dbSubnetGroup) {
this.dbSubnetGroup = dbSubnetGroup;
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 PendingModifiedValues.Builder getPendingModifiedValues() {
return pendingModifiedValues != null ? pendingModifiedValues.toBuilder() : null;
}
public final void setPendingModifiedValues(PendingModifiedValues.BuilderImpl pendingModifiedValues) {
this.pendingModifiedValues = pendingModifiedValues != null ? pendingModifiedValues.build() : null;
}
@Override
public final Builder pendingModifiedValues(PendingModifiedValues pendingModifiedValues) {
this.pendingModifiedValues = pendingModifiedValues;
return this;
}
public final Instant getLatestRestorableTime() {
return latestRestorableTime;
}
public final void setLatestRestorableTime(Instant latestRestorableTime) {
this.latestRestorableTime = latestRestorableTime;
}
@Override
public final Builder latestRestorableTime(Instant latestRestorableTime) {
this.latestRestorableTime = latestRestorableTime;
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 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 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 getReadReplicaSourceDBInstanceIdentifier() {
return readReplicaSourceDBInstanceIdentifier;
}
public final void setReadReplicaSourceDBInstanceIdentifier(String readReplicaSourceDBInstanceIdentifier) {
this.readReplicaSourceDBInstanceIdentifier = readReplicaSourceDBInstanceIdentifier;
}
@Override
public final Builder readReplicaSourceDBInstanceIdentifier(String readReplicaSourceDBInstanceIdentifier) {
this.readReplicaSourceDBInstanceIdentifier = readReplicaSourceDBInstanceIdentifier;
return this;
}
public final Collection getReadReplicaDBInstanceIdentifiers() {
if (readReplicaDBInstanceIdentifiers instanceof SdkAutoConstructList) {
return null;
}
return readReplicaDBInstanceIdentifiers;
}
public final void setReadReplicaDBInstanceIdentifiers(Collection readReplicaDBInstanceIdentifiers) {
this.readReplicaDBInstanceIdentifiers = ReadReplicaDBInstanceIdentifierListCopier
.copy(readReplicaDBInstanceIdentifiers);
}
@Override
public final Builder readReplicaDBInstanceIdentifiers(Collection readReplicaDBInstanceIdentifiers) {
this.readReplicaDBInstanceIdentifiers = ReadReplicaDBInstanceIdentifierListCopier
.copy(readReplicaDBInstanceIdentifiers);
return this;
}
@Override
@SafeVarargs
public final Builder readReplicaDBInstanceIdentifiers(String... readReplicaDBInstanceIdentifiers) {
readReplicaDBInstanceIdentifiers(Arrays.asList(readReplicaDBInstanceIdentifiers));
return this;
}
public final Collection getReadReplicaDBClusterIdentifiers() {
if (readReplicaDBClusterIdentifiers instanceof SdkAutoConstructList) {
return null;
}
return readReplicaDBClusterIdentifiers;
}
public final void setReadReplicaDBClusterIdentifiers(Collection readReplicaDBClusterIdentifiers) {
this.readReplicaDBClusterIdentifiers = ReadReplicaDBClusterIdentifierListCopier.copy(readReplicaDBClusterIdentifiers);
}
@Override
public final Builder readReplicaDBClusterIdentifiers(Collection readReplicaDBClusterIdentifiers) {
this.readReplicaDBClusterIdentifiers = ReadReplicaDBClusterIdentifierListCopier.copy(readReplicaDBClusterIdentifiers);
return this;
}
@Override
@SafeVarargs
public final Builder readReplicaDBClusterIdentifiers(String... readReplicaDBClusterIdentifiers) {
readReplicaDBClusterIdentifiers(Arrays.asList(readReplicaDBClusterIdentifiers));
return this;
}
public final String getReplicaMode() {
return replicaMode;
}
public final void setReplicaMode(String replicaMode) {
this.replicaMode = replicaMode;
}
@Override
public final Builder replicaMode(String replicaMode) {
this.replicaMode = replicaMode;
return this;
}
@Override
public final Builder replicaMode(ReplicaMode replicaMode) {
this.replicaMode(replicaMode == null ? null : replicaMode.toString());
return this;
}
public final String getLicenseModel() {
return licenseModel;
}
public final void setLicenseModel(String licenseModel) {
this.licenseModel = licenseModel;
}
@Override
public final Builder licenseModel(String licenseModel) {
this.licenseModel = licenseModel;
return this;
}
public final Integer getIops() {
return iops;
}
public final void setIops(Integer iops) {
this.iops = iops;
}
@Override
public final Builder iops(Integer iops) {
this.iops = iops;
return this;
}
public final List