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

software.amazon.awssdk.services.rds.model.RestoreDbInstanceFromDbSnapshotRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon RDS module holds the client classes that are used for communicating with Amazon Relational Database Service

There is a newer version: 2.29.15
Show newest version
/*
 * 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.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.awscore.AwsRequestOverrideConfiguration;
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;

/**
 * 

*/ @Generated("software.amazon.awssdk:codegen") public final class RestoreDbInstanceFromDbSnapshotRequest extends RdsRequest implements ToCopyableBuilder { private static final SdkField DB_INSTANCE_IDENTIFIER_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("DBInstanceIdentifier").getter(getter(RestoreDbInstanceFromDbSnapshotRequest::dbInstanceIdentifier)) .setter(setter(Builder::dbInstanceIdentifier)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBInstanceIdentifier").build()) .build(); private static final SdkField DB_SNAPSHOT_IDENTIFIER_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("DBSnapshotIdentifier").getter(getter(RestoreDbInstanceFromDbSnapshotRequest::dbSnapshotIdentifier)) .setter(setter(Builder::dbSnapshotIdentifier)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBSnapshotIdentifier").build()) .build(); private static final SdkField DB_INSTANCE_CLASS_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("DBInstanceClass").getter(getter(RestoreDbInstanceFromDbSnapshotRequest::dbInstanceClass)) .setter(setter(Builder::dbInstanceClass)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBInstanceClass").build()).build(); private static final SdkField PORT_FIELD = SdkField. builder(MarshallingType.INTEGER).memberName("Port") .getter(getter(RestoreDbInstanceFromDbSnapshotRequest::port)).setter(setter(Builder::port)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Port").build()).build(); private static final SdkField AVAILABILITY_ZONE_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("AvailabilityZone").getter(getter(RestoreDbInstanceFromDbSnapshotRequest::availabilityZone)) .setter(setter(Builder::availabilityZone)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AvailabilityZone").build()).build(); private static final SdkField DB_SUBNET_GROUP_NAME_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("DBSubnetGroupName").getter(getter(RestoreDbInstanceFromDbSnapshotRequest::dbSubnetGroupName)) .setter(setter(Builder::dbSubnetGroupName)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBSubnetGroupName").build()).build(); private static final SdkField MULTI_AZ_FIELD = SdkField. builder(MarshallingType.BOOLEAN) .memberName("MultiAZ").getter(getter(RestoreDbInstanceFromDbSnapshotRequest::multiAZ)) .setter(setter(Builder::multiAZ)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("MultiAZ").build()).build(); private static final SdkField PUBLICLY_ACCESSIBLE_FIELD = SdkField. builder(MarshallingType.BOOLEAN) .memberName("PubliclyAccessible").getter(getter(RestoreDbInstanceFromDbSnapshotRequest::publiclyAccessible)) .setter(setter(Builder::publiclyAccessible)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("PubliclyAccessible").build()) .build(); private static final SdkField AUTO_MINOR_VERSION_UPGRADE_FIELD = SdkField. builder(MarshallingType.BOOLEAN) .memberName("AutoMinorVersionUpgrade") .getter(getter(RestoreDbInstanceFromDbSnapshotRequest::autoMinorVersionUpgrade)) .setter(setter(Builder::autoMinorVersionUpgrade)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AutoMinorVersionUpgrade").build()) .build(); private static final SdkField LICENSE_MODEL_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("LicenseModel").getter(getter(RestoreDbInstanceFromDbSnapshotRequest::licenseModel)) .setter(setter(Builder::licenseModel)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("LicenseModel").build()).build(); private static final SdkField DB_NAME_FIELD = SdkField. builder(MarshallingType.STRING).memberName("DBName") .getter(getter(RestoreDbInstanceFromDbSnapshotRequest::dbName)).setter(setter(Builder::dbName)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBName").build()).build(); private static final SdkField ENGINE_FIELD = SdkField. builder(MarshallingType.STRING).memberName("Engine") .getter(getter(RestoreDbInstanceFromDbSnapshotRequest::engine)).setter(setter(Builder::engine)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Engine").build()).build(); private static final SdkField IOPS_FIELD = SdkField. builder(MarshallingType.INTEGER).memberName("Iops") .getter(getter(RestoreDbInstanceFromDbSnapshotRequest::iops)).setter(setter(Builder::iops)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Iops").build()).build(); private static final SdkField OPTION_GROUP_NAME_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("OptionGroupName").getter(getter(RestoreDbInstanceFromDbSnapshotRequest::optionGroupName)) .setter(setter(Builder::optionGroupName)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("OptionGroupName").build()).build(); private static final SdkField> TAGS_FIELD = SdkField .> builder(MarshallingType.LIST) .memberName("Tags") .getter(getter(RestoreDbInstanceFromDbSnapshotRequest::tags)) .setter(setter(Builder::tags)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Tags").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 STORAGE_TYPE_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("StorageType").getter(getter(RestoreDbInstanceFromDbSnapshotRequest::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(RestoreDbInstanceFromDbSnapshotRequest::tdeCredentialArn)) .setter(setter(Builder::tdeCredentialArn)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("TdeCredentialArn").build()).build(); private static final SdkField TDE_CREDENTIAL_PASSWORD_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("TdeCredentialPassword").getter(getter(RestoreDbInstanceFromDbSnapshotRequest::tdeCredentialPassword)) .setter(setter(Builder::tdeCredentialPassword)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("TdeCredentialPassword").build()) .build(); private static final SdkField> VPC_SECURITY_GROUP_IDS_FIELD = SdkField .> builder(MarshallingType.LIST) .memberName("VpcSecurityGroupIds") .getter(getter(RestoreDbInstanceFromDbSnapshotRequest::vpcSecurityGroupIds)) .setter(setter(Builder::vpcSecurityGroupIds)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("VpcSecurityGroupIds").build(), ListTrait .builder() .memberLocationName("VpcSecurityGroupId") .memberFieldInfo( SdkField. builder(MarshallingType.STRING) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("VpcSecurityGroupId").build()).build()).build()).build(); private static final SdkField DOMAIN_FIELD = SdkField. builder(MarshallingType.STRING).memberName("Domain") .getter(getter(RestoreDbInstanceFromDbSnapshotRequest::domain)).setter(setter(Builder::domain)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Domain").build()).build(); private static final SdkField DOMAIN_FQDN_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("DomainFqdn").getter(getter(RestoreDbInstanceFromDbSnapshotRequest::domainFqdn)) .setter(setter(Builder::domainFqdn)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DomainFqdn").build()).build(); private static final SdkField DOMAIN_OU_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("DomainOu").getter(getter(RestoreDbInstanceFromDbSnapshotRequest::domainOu)) .setter(setter(Builder::domainOu)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DomainOu").build()).build(); private static final SdkField DOMAIN_AUTH_SECRET_ARN_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("DomainAuthSecretArn").getter(getter(RestoreDbInstanceFromDbSnapshotRequest::domainAuthSecretArn)) .setter(setter(Builder::domainAuthSecretArn)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DomainAuthSecretArn").build()) .build(); private static final SdkField> DOMAIN_DNS_IPS_FIELD = SdkField .> builder(MarshallingType.LIST) .memberName("DomainDnsIps") .getter(getter(RestoreDbInstanceFromDbSnapshotRequest::domainDnsIps)) .setter(setter(Builder::domainDnsIps)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DomainDnsIps").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 COPY_TAGS_TO_SNAPSHOT_FIELD = SdkField. builder(MarshallingType.BOOLEAN) .memberName("CopyTagsToSnapshot").getter(getter(RestoreDbInstanceFromDbSnapshotRequest::copyTagsToSnapshot)) .setter(setter(Builder::copyTagsToSnapshot)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CopyTagsToSnapshot").build()) .build(); private static final SdkField DOMAIN_IAM_ROLE_NAME_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("DomainIAMRoleName").getter(getter(RestoreDbInstanceFromDbSnapshotRequest::domainIAMRoleName)) .setter(setter(Builder::domainIAMRoleName)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DomainIAMRoleName").build()).build(); private static final SdkField ENABLE_IAM_DATABASE_AUTHENTICATION_FIELD = SdkField . builder(MarshallingType.BOOLEAN) .memberName("EnableIAMDatabaseAuthentication") .getter(getter(RestoreDbInstanceFromDbSnapshotRequest::enableIAMDatabaseAuthentication)) .setter(setter(Builder::enableIAMDatabaseAuthentication)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EnableIAMDatabaseAuthentication") .build()).build(); private static final SdkField> ENABLE_CLOUDWATCH_LOGS_EXPORTS_FIELD = SdkField .> builder(MarshallingType.LIST) .memberName("EnableCloudwatchLogsExports") .getter(getter(RestoreDbInstanceFromDbSnapshotRequest::enableCloudwatchLogsExports)) .setter(setter(Builder::enableCloudwatchLogsExports)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EnableCloudwatchLogsExports") .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(RestoreDbInstanceFromDbSnapshotRequest::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 USE_DEFAULT_PROCESSOR_FEATURES_FIELD = SdkField . builder(MarshallingType.BOOLEAN) .memberName("UseDefaultProcessorFeatures") .getter(getter(RestoreDbInstanceFromDbSnapshotRequest::useDefaultProcessorFeatures)) .setter(setter(Builder::useDefaultProcessorFeatures)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("UseDefaultProcessorFeatures") .build()).build(); private static final SdkField DB_PARAMETER_GROUP_NAME_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("DBParameterGroupName").getter(getter(RestoreDbInstanceFromDbSnapshotRequest::dbParameterGroupName)) .setter(setter(Builder::dbParameterGroupName)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBParameterGroupName").build()) .build(); private static final SdkField DELETION_PROTECTION_FIELD = SdkField. builder(MarshallingType.BOOLEAN) .memberName("DeletionProtection").getter(getter(RestoreDbInstanceFromDbSnapshotRequest::deletionProtection)) .setter(setter(Builder::deletionProtection)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DeletionProtection").build()) .build(); private static final SdkField ENABLE_CUSTOMER_OWNED_IP_FIELD = SdkField. builder(MarshallingType.BOOLEAN) .memberName("EnableCustomerOwnedIp").getter(getter(RestoreDbInstanceFromDbSnapshotRequest::enableCustomerOwnedIp)) .setter(setter(Builder::enableCustomerOwnedIp)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EnableCustomerOwnedIp").build()) .build(); private static final SdkField CUSTOM_IAM_INSTANCE_PROFILE_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("CustomIamInstanceProfile") .getter(getter(RestoreDbInstanceFromDbSnapshotRequest::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(RestoreDbInstanceFromDbSnapshotRequest::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(RestoreDbInstanceFromDbSnapshotRequest::networkType)) .setter(setter(Builder::networkType)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("NetworkType").build()).build(); private static final SdkField STORAGE_THROUGHPUT_FIELD = SdkField. builder(MarshallingType.INTEGER) .memberName("StorageThroughput").getter(getter(RestoreDbInstanceFromDbSnapshotRequest::storageThroughput)) .setter(setter(Builder::storageThroughput)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("StorageThroughput").build()).build(); private static final SdkField DB_CLUSTER_SNAPSHOT_IDENTIFIER_FIELD = SdkField . builder(MarshallingType.STRING) .memberName("DBClusterSnapshotIdentifier") .getter(getter(RestoreDbInstanceFromDbSnapshotRequest::dbClusterSnapshotIdentifier)) .setter(setter(Builder::dbClusterSnapshotIdentifier)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBClusterSnapshotIdentifier") .build()).build(); private static final SdkField ALLOCATED_STORAGE_FIELD = SdkField. builder(MarshallingType.INTEGER) .memberName("AllocatedStorage").getter(getter(RestoreDbInstanceFromDbSnapshotRequest::allocatedStorage)) .setter(setter(Builder::allocatedStorage)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AllocatedStorage").build()).build(); private static final SdkField DEDICATED_LOG_VOLUME_FIELD = SdkField. builder(MarshallingType.BOOLEAN) .memberName("DedicatedLogVolume").getter(getter(RestoreDbInstanceFromDbSnapshotRequest::dedicatedLogVolume)) .setter(setter(Builder::dedicatedLogVolume)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DedicatedLogVolume").build()) .build(); private static final SdkField CA_CERTIFICATE_IDENTIFIER_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("CACertificateIdentifier") .getter(getter(RestoreDbInstanceFromDbSnapshotRequest::caCertificateIdentifier)) .setter(setter(Builder::caCertificateIdentifier)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CACertificateIdentifier").build()) .build(); private static final SdkField ENGINE_LIFECYCLE_SUPPORT_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("EngineLifecycleSupport").getter(getter(RestoreDbInstanceFromDbSnapshotRequest::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_SNAPSHOT_IDENTIFIER_FIELD, DB_INSTANCE_CLASS_FIELD, PORT_FIELD, AVAILABILITY_ZONE_FIELD, DB_SUBNET_GROUP_NAME_FIELD, MULTI_AZ_FIELD, PUBLICLY_ACCESSIBLE_FIELD, AUTO_MINOR_VERSION_UPGRADE_FIELD, LICENSE_MODEL_FIELD, DB_NAME_FIELD, ENGINE_FIELD, IOPS_FIELD, OPTION_GROUP_NAME_FIELD, TAGS_FIELD, STORAGE_TYPE_FIELD, TDE_CREDENTIAL_ARN_FIELD, TDE_CREDENTIAL_PASSWORD_FIELD, VPC_SECURITY_GROUP_IDS_FIELD, DOMAIN_FIELD, DOMAIN_FQDN_FIELD, DOMAIN_OU_FIELD, DOMAIN_AUTH_SECRET_ARN_FIELD, DOMAIN_DNS_IPS_FIELD, COPY_TAGS_TO_SNAPSHOT_FIELD, DOMAIN_IAM_ROLE_NAME_FIELD, ENABLE_IAM_DATABASE_AUTHENTICATION_FIELD, ENABLE_CLOUDWATCH_LOGS_EXPORTS_FIELD, PROCESSOR_FEATURES_FIELD, USE_DEFAULT_PROCESSOR_FEATURES_FIELD, DB_PARAMETER_GROUP_NAME_FIELD, DELETION_PROTECTION_FIELD, ENABLE_CUSTOMER_OWNED_IP_FIELD, CUSTOM_IAM_INSTANCE_PROFILE_FIELD, BACKUP_TARGET_FIELD, NETWORK_TYPE_FIELD, STORAGE_THROUGHPUT_FIELD, DB_CLUSTER_SNAPSHOT_IDENTIFIER_FIELD, ALLOCATED_STORAGE_FIELD, DEDICATED_LOG_VOLUME_FIELD, CA_CERTIFICATE_IDENTIFIER_FIELD, ENGINE_LIFECYCLE_SUPPORT_FIELD)); private final String dbInstanceIdentifier; private final String dbSnapshotIdentifier; private final String dbInstanceClass; private final Integer port; private final String availabilityZone; private final String dbSubnetGroupName; private final Boolean multiAZ; private final Boolean publiclyAccessible; private final Boolean autoMinorVersionUpgrade; private final String licenseModel; private final String dbName; private final String engine; private final Integer iops; private final String optionGroupName; private final List tags; private final String storageType; private final String tdeCredentialArn; private final String tdeCredentialPassword; private final List vpcSecurityGroupIds; private final String domain; private final String domainFqdn; private final String domainOu; private final String domainAuthSecretArn; private final List domainDnsIps; private final Boolean copyTagsToSnapshot; private final String domainIAMRoleName; private final Boolean enableIAMDatabaseAuthentication; private final List enableCloudwatchLogsExports; private final List processorFeatures; private final Boolean useDefaultProcessorFeatures; private final String dbParameterGroupName; private final Boolean deletionProtection; private final Boolean enableCustomerOwnedIp; private final String customIamInstanceProfile; private final String backupTarget; private final String networkType; private final Integer storageThroughput; private final String dbClusterSnapshotIdentifier; private final Integer allocatedStorage; private final Boolean dedicatedLogVolume; private final String caCertificateIdentifier; private final String engineLifecycleSupport; private RestoreDbInstanceFromDbSnapshotRequest(BuilderImpl builder) { super(builder); this.dbInstanceIdentifier = builder.dbInstanceIdentifier; this.dbSnapshotIdentifier = builder.dbSnapshotIdentifier; this.dbInstanceClass = builder.dbInstanceClass; this.port = builder.port; this.availabilityZone = builder.availabilityZone; this.dbSubnetGroupName = builder.dbSubnetGroupName; this.multiAZ = builder.multiAZ; this.publiclyAccessible = builder.publiclyAccessible; this.autoMinorVersionUpgrade = builder.autoMinorVersionUpgrade; this.licenseModel = builder.licenseModel; this.dbName = builder.dbName; this.engine = builder.engine; this.iops = builder.iops; this.optionGroupName = builder.optionGroupName; this.tags = builder.tags; this.storageType = builder.storageType; this.tdeCredentialArn = builder.tdeCredentialArn; this.tdeCredentialPassword = builder.tdeCredentialPassword; this.vpcSecurityGroupIds = builder.vpcSecurityGroupIds; this.domain = builder.domain; this.domainFqdn = builder.domainFqdn; this.domainOu = builder.domainOu; this.domainAuthSecretArn = builder.domainAuthSecretArn; this.domainDnsIps = builder.domainDnsIps; this.copyTagsToSnapshot = builder.copyTagsToSnapshot; this.domainIAMRoleName = builder.domainIAMRoleName; this.enableIAMDatabaseAuthentication = builder.enableIAMDatabaseAuthentication; this.enableCloudwatchLogsExports = builder.enableCloudwatchLogsExports; this.processorFeatures = builder.processorFeatures; this.useDefaultProcessorFeatures = builder.useDefaultProcessorFeatures; this.dbParameterGroupName = builder.dbParameterGroupName; this.deletionProtection = builder.deletionProtection; this.enableCustomerOwnedIp = builder.enableCustomerOwnedIp; this.customIamInstanceProfile = builder.customIamInstanceProfile; this.backupTarget = builder.backupTarget; this.networkType = builder.networkType; this.storageThroughput = builder.storageThroughput; this.dbClusterSnapshotIdentifier = builder.dbClusterSnapshotIdentifier; this.allocatedStorage = builder.allocatedStorage; this.dedicatedLogVolume = builder.dedicatedLogVolume; this.caCertificateIdentifier = builder.caCertificateIdentifier; this.engineLifecycleSupport = builder.engineLifecycleSupport; } /** *

* The name of the DB instance to create from the DB snapshot. This parameter isn't case-sensitive. *

*

* Constraints: *

*
    *
  • *

    * Must contain from 1 to 63 numbers, letters, or hyphens. *

    *
  • *
  • *

    * First character must be a letter. *

    *
  • *
  • *

    * Can't end with a hyphen or contain two consecutive hyphens. *

    *
  • *
*

* Example: my-snapshot-id *

* * @return The name of the DB instance to create from the DB snapshot. This parameter isn't case-sensitive.

*

* Constraints: *

*
    *
  • *

    * Must contain from 1 to 63 numbers, letters, or hyphens. *

    *
  • *
  • *

    * First character must be a letter. *

    *
  • *
  • *

    * Can't end with a hyphen or contain two consecutive hyphens. *

    *
  • *
*

* Example: my-snapshot-id */ public final String dbInstanceIdentifier() { return dbInstanceIdentifier; } /** *

* The identifier for the DB snapshot to restore from. *

*

* Constraints: *

*
    *
  • *

    * Must match the identifier of an existing DB snapshot. *

    *
  • *
  • *

    * Can't be specified when DBClusterSnapshotIdentifier is specified. *

    *
  • *
  • *

    * Must be specified when DBClusterSnapshotIdentifier isn't specified. *

    *
  • *
  • *

    * If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier must be the ARN of * the shared DB snapshot. *

    *
  • *
* * @return The identifier for the DB snapshot to restore from.

*

* Constraints: *

*
    *
  • *

    * Must match the identifier of an existing DB snapshot. *

    *
  • *
  • *

    * Can't be specified when DBClusterSnapshotIdentifier is specified. *

    *
  • *
  • *

    * Must be specified when DBClusterSnapshotIdentifier isn't specified. *

    *
  • *
  • *

    * If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier must be the * ARN of the shared DB snapshot. *

    *
  • */ public final String dbSnapshotIdentifier() { return dbSnapshotIdentifier; } /** *

    * The compute and memory capacity of the Amazon RDS DB instance, for example db.m4.large. Not all DB instance * classes are available in all Amazon Web Services Regions, or for all database engines. For the full list of DB * instance classes, and availability for your engine, see DB Instance Class * in the Amazon RDS User Guide. *

    *

    * Default: The same DBInstanceClass as the original DB instance. *

    * * @return The compute and memory capacity of the Amazon RDS DB instance, for example db.m4.large. Not all DB * instance classes are available in all Amazon Web Services Regions, or for all database engines. For the * full list of DB instance classes, and availability for your engine, see DB Instance * Class in the Amazon RDS User Guide.

    *

    * Default: The same DBInstanceClass as the original DB instance. */ public final String dbInstanceClass() { return dbInstanceClass; } /** *

    * The port number on which the database accepts connections. *

    *

    * Default: The same port as the original DB instance *

    *

    * Constraints: Value must be 1150-65535 *

    * * @return The port number on which the database accepts connections.

    *

    * Default: The same port as the original DB instance *

    *

    * Constraints: Value must be 1150-65535 */ public final Integer port() { return port; } /** *

    * The Availability Zone (AZ) where the DB instance will be created. *

    *

    * Default: A random, system-chosen Availability Zone. *

    *

    * Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ * deployment. *

    *

    * Example: us-east-1a *

    * * @return The Availability Zone (AZ) where the DB instance will be created.

    *

    * Default: A random, system-chosen Availability Zone. *

    *

    * Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a * Multi-AZ deployment. *

    *

    * Example: us-east-1a */ public final String availabilityZone() { return availabilityZone; } /** *

    * The name of the DB subnet group to use for the new instance. *

    *

    * Constraints: *

    *
      *
    • *

      * If supplied, must match the name of an existing DB subnet group. *

      *
    • *
    *

    * Example: mydbsubnetgroup *

    * * @return The name of the DB subnet group to use for the new instance.

    *

    * Constraints: *

    *
      *
    • *

      * If supplied, must match the name of an existing DB subnet group. *

      *
    • *
    *

    * Example: mydbsubnetgroup */ public final String dbSubnetGroupName() { return dbSubnetGroupName; } /** *

    * Specifies whether the DB instance is a Multi-AZ deployment. *

    *

    * This setting doesn't apply to RDS Custom. *

    *

    * Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ * deployment. *

    * * @return Specifies whether the DB instance is a Multi-AZ deployment.

    *

    * This setting doesn't apply to RDS Custom. *

    *

    * Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a * Multi-AZ deployment. */ public final Boolean multiAZ() { return multiAZ; } /** *

    * Specifies whether the DB instance is publicly accessible. *

    *

    * When the DB instance is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP * address from within the DB instance's virtual private cloud (VPC). It resolves to the public IP address from * outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it * uses. That public access is not permitted if the security group assigned to the DB instance 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 Specifies whether the DB instance is publicly accessible.

    *

    * When the DB instance is publicly accessible, its Domain Name System (DNS) endpoint resolves to the * private IP address from within the DB instance's virtual private cloud (VPC). It resolves to the public * IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by * the security group it uses. That public access is not permitted if the security group assigned to the DB * instance 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; } /** *

    * Specifies whether to automatically apply minor version upgrades to the DB instance during the maintenance window. *

    *

    * If you restore an RDS Custom DB instance, you must disable this parameter. *

    * * @return Specifies whether to automatically apply minor version upgrades to the DB instance during the maintenance * window.

    *

    * If you restore an RDS Custom DB instance, you must disable this parameter. */ public final Boolean autoMinorVersionUpgrade() { return autoMinorVersionUpgrade; } /** *

    * License model information for the restored DB instance. *

    * *

    * License models for RDS for Db2 require additional configuration. The Bring Your Own License (BYOL) model requires * a custom parameter group and an Amazon Web Services License Manager self-managed license. The Db2 license through * Amazon Web Services Marketplace model requires an Amazon Web Services Marketplace subscription. For more * information, see Amazon RDS * for Db2 licensing options in the Amazon RDS User Guide. *

    *
    *

    * This setting doesn't apply to Amazon Aurora or RDS Custom DB instances. *

    *

    * Valid Values: *

    *
      *
    • *

      * RDS for Db2 - bring-your-own-license | marketplace-license *

      *
    • *
    • *

      * RDS for MariaDB - general-public-license *

      *
    • *
    • *

      * RDS for Microsoft SQL Server - license-included *

      *
    • *
    • *

      * RDS for MySQL - general-public-license *

      *
    • *
    • *

      * RDS for Oracle - bring-your-own-license | license-included *

      *
    • *
    • *

      * RDS for PostgreSQL - postgresql-license *

      *
    • *
    *

    * Default: Same as the source. *

    * * @return License model information for the restored DB instance.

    *

    * License models for RDS for Db2 require additional configuration. The Bring Your Own License (BYOL) model * requires a custom parameter group and an Amazon Web Services License Manager self-managed license. The * Db2 license through Amazon Web Services Marketplace model requires an Amazon Web Services Marketplace * subscription. For more information, see Amazon RDS for Db2 * licensing options in the Amazon RDS User Guide. *

    *
    *

    * This setting doesn't apply to Amazon Aurora or RDS Custom DB instances. *

    *

    * Valid Values: *

    *
      *
    • *

      * RDS for Db2 - bring-your-own-license | marketplace-license *

      *
    • *
    • *

      * RDS for MariaDB - general-public-license *

      *
    • *
    • *

      * RDS for Microsoft SQL Server - license-included *

      *
    • *
    • *

      * RDS for MySQL - general-public-license *

      *
    • *
    • *

      * RDS for Oracle - bring-your-own-license | license-included *

      *
    • *
    • *

      * RDS for PostgreSQL - postgresql-license *

      *
    • *
    *

    * Default: Same as the source. */ public final String licenseModel() { return licenseModel; } /** *

    * The name of the database for the restored DB instance. *

    *

    * This parameter only applies to RDS for Oracle and RDS for SQL Server DB instances. It doesn't apply to the other * engines or to RDS Custom DB instances. *

    * * @return The name of the database for the restored DB instance.

    *

    * This parameter only applies to RDS for Oracle and RDS for SQL Server DB instances. It doesn't apply to * the other engines or to RDS Custom DB instances. */ public final String dbName() { return dbName; } /** *

    * The database engine to use for the new instance. *

    *

    * This setting doesn't apply to RDS Custom. *

    *

    * Default: The same as source *

    *

    * Constraint: Must be compatible with the engine of the source. For example, you can restore a MariaDB 10.1 DB * instance from a MySQL 5.6 snapshot. *

    *

    * Valid Values: *

    *
      *
    • *

      * db2-ae *

      *
    • *
    • *

      * db2-se *

      *
    • *
    • *

      * mariadb *

      *
    • *
    • *

      * mysql *

      *
    • *
    • *

      * oracle-ee *

      *
    • *
    • *

      * oracle-ee-cdb *

      *
    • *
    • *

      * oracle-se2 *

      *
    • *
    • *

      * oracle-se2-cdb *

      *
    • *
    • *

      * postgres *

      *
    • *
    • *

      * sqlserver-ee *

      *
    • *
    • *

      * sqlserver-se *

      *
    • *
    • *

      * sqlserver-ex *

      *
    • *
    • *

      * sqlserver-web *

      *
    • *
    * * @return The database engine to use for the new instance.

    *

    * This setting doesn't apply to RDS Custom. *

    *

    * Default: The same as source *

    *

    * Constraint: Must be compatible with the engine of the source. For example, you can restore a MariaDB 10.1 * DB instance from a MySQL 5.6 snapshot. *

    *

    * Valid Values: *

    *
      *
    • *

      * db2-ae *

      *
    • *
    • *

      * db2-se *

      *
    • *
    • *

      * mariadb *

      *
    • *
    • *

      * mysql *

      *
    • *
    • *

      * oracle-ee *

      *
    • *
    • *

      * oracle-ee-cdb *

      *
    • *
    • *

      * oracle-se2 *

      *
    • *
    • *

      * oracle-se2-cdb *

      *
    • *
    • *

      * postgres *

      *
    • *
    • *

      * sqlserver-ee *

      *
    • *
    • *

      * sqlserver-se *

      *
    • *
    • *

      * sqlserver-ex *

      *
    • *
    • *

      * sqlserver-web *

      *
    • */ public final String engine() { return engine; } /** *

      * Specifies the amount of provisioned IOPS for the DB instance, expressed in I/O operations per second. If this * parameter isn't specified, the IOPS value is taken from the backup. If this parameter is set to 0, the new * instance is converted to a non-PIOPS instance. The conversion takes additional time, though your DB instance is * available for connections before the conversion starts. *

      *

      * The provisioned IOPS value must follow the requirements for your database engine. For more information, see Amazon RDS Provisioned * IOPS storage in the Amazon RDS User Guide. *

      *

      * Constraints: Must be an integer greater than 1000. *

      * * @return Specifies the amount of provisioned IOPS for the DB instance, expressed in I/O operations per second. If * this parameter isn't specified, the IOPS value is taken from the backup. If this parameter is set to 0, * the new instance is converted to a non-PIOPS instance. The conversion takes additional time, though your * DB instance is available for connections before the conversion starts.

      *

      * The provisioned IOPS value must follow the requirements for your database engine. For more information, * see Amazon * RDS Provisioned IOPS storage in the Amazon RDS User Guide. *

      *

      * Constraints: Must be an integer greater than 1000. */ public final Integer iops() { return iops; } /** *

      * The name of the option group to be used for the restored DB instance. *

      *

      * Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option * group, and that option group can't be removed from a DB instance after it is associated with a DB instance. *

      *

      * This setting doesn't apply to RDS Custom. *

      * * @return The name of the option group to be used for the restored DB instance.

      *

      * Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an * option group, and that option group can't be removed from a DB instance after it is associated with a DB * instance. *

      *

      * This setting doesn't apply to RDS Custom. */ public final String optionGroupName() { return optionGroupName; } /** * For responses, this returns true if the service returned a value for the Tags 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 hasTags() { return tags != null && !(tags instanceof SdkAutoConstructList); } /** * Returns the value of the Tags 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 #hasTags} method. *

      * * @return The value of the Tags property for this object. */ public final List tags() { return tags; } /** *

      * Specifies the storage type to be associated with the DB instance. *

      *

      * Valid Values: gp2 | gp3 | io1 | io2 | standard *

      *

      * If you specify io1, io2, or gp3, you must also include a value for the * Iops parameter. *

      *

      * Default: io1 if the Iops parameter is specified, otherwise gp2 *

      * * @return Specifies the storage type to be associated with the DB instance.

      *

      * Valid Values: gp2 | gp3 | io1 | io2 | standard *

      *

      * If you specify io1, io2, or gp3, you must also include a value for * the Iops parameter. *

      *

      * Default: io1 if the Iops parameter is specified, otherwise gp2 */ public final String storageType() { return storageType; } /** *

      * The ARN from the key store with which to associate the instance for TDE encryption. *

      *

      * This setting doesn't apply to RDS Custom. *

      * * @return The ARN from the key store with which to associate the instance for TDE encryption.

      *

      * This setting doesn't apply to RDS Custom. */ public final String tdeCredentialArn() { return tdeCredentialArn; } /** *

      * The password for the given ARN from the key store in order to access the device. *

      *

      * This setting doesn't apply to RDS Custom. *

      * * @return The password for the given ARN from the key store in order to access the device.

      *

      * This setting doesn't apply to RDS Custom. */ public final String tdeCredentialPassword() { return tdeCredentialPassword; } /** * For responses, this returns true if the service returned a value for the VpcSecurityGroupIds 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 hasVpcSecurityGroupIds() { return vpcSecurityGroupIds != null && !(vpcSecurityGroupIds instanceof SdkAutoConstructList); } /** *

      * A list of EC2 VPC security groups to associate with this DB instance. *

      *

      * Default: The default EC2 VPC security group for the DB subnet group's VPC. *

      *

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

      * * @return A list of EC2 VPC security groups to associate with this DB instance.

      *

      * Default: The default EC2 VPC security group for the DB subnet group's VPC. */ public final List vpcSecurityGroupIds() { return vpcSecurityGroupIds; } /** *

      * The Active Directory directory ID to restore the DB instance in. The domain/ must be created prior to this * operation. Currently, you can create only Db2, MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances * in an Active Directory Domain. *

      *

      * For more information, see Kerberos * Authentication in the Amazon RDS User Guide. *

      *

      * This setting doesn't apply to RDS Custom. *

      * * @return The Active Directory directory ID to restore the DB instance in. The domain/ must be created prior to * this operation. Currently, you can create only Db2, MySQL, Microsoft SQL Server, Oracle, and PostgreSQL * DB instances in an Active Directory Domain.

      *

      * For more information, see Kerberos * Authentication in the Amazon RDS User Guide. *

      *

      * This setting doesn't apply to RDS Custom. */ public final String domain() { return domain; } /** *

      * The fully qualified domain name (FQDN) of an Active Directory domain. *

      *

      * Constraints: *

      *
        *
      • *

        * Can't be longer than 64 characters. *

        *
      • *
      *

      * Example: mymanagedADtest.mymanagedAD.mydomain *

      * * @return The fully qualified domain name (FQDN) of an Active Directory domain.

      *

      * Constraints: *

      *
        *
      • *

        * Can't be longer than 64 characters. *

        *
      • *
      *

      * Example: mymanagedADtest.mymanagedAD.mydomain */ public final String domainFqdn() { return domainFqdn; } /** *

      * The Active Directory organizational unit for your DB instance to join. *

      *

      * Constraints: *

      *
        *
      • *

        * Must be in the distinguished name format. *

        *
      • *
      • *

        * Can't be longer than 64 characters. *

        *
      • *
      *

      * Example: OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain *

      * * @return The Active Directory organizational unit for your DB instance to join.

      *

      * Constraints: *

      *
        *
      • *

        * Must be in the distinguished name format. *

        *
      • *
      • *

        * Can't be longer than 64 characters. *

        *
      • *
      *

      * Example: OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain */ public final String domainOu() { return domainOu; } /** *

      * The ARN for the Secrets Manager secret with the credentials for the user joining the domain. *

      *

      * Constraints: *

      *
        *
      • *

        * Can't be longer than 64 characters. *

        *
      • *
      *

      * Example: arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456 *

      * * @return The ARN for the Secrets Manager secret with the credentials for the user joining the domain.

      *

      * Constraints: *

      *
        *
      • *

        * Can't be longer than 64 characters. *

        *
      • *
      *

      * Example: * arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456 */ public final String domainAuthSecretArn() { return domainAuthSecretArn; } /** * For responses, this returns true if the service returned a value for the DomainDnsIps 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 hasDomainDnsIps() { return domainDnsIps != null && !(domainDnsIps instanceof SdkAutoConstructList); } /** *

      * The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers. *

      *

      * Constraints: *

      *
        *
      • *

        * Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the * primary domain controller for both entries in the list. *

        *
      • *
      *

      * Example: 123.124.125.126,234.235.236.237 *

      *

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

      * * @return The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers.

      *

      * Constraints: *

      *
        *
      • *

        * Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of * the primary domain controller for both entries in the list. *

        *
      • *
      *

      * Example: 123.124.125.126,234.235.236.237 */ public final List domainDnsIps() { return domainDnsIps; } /** *

      * Specifies whether to copy all tags from the restored DB instance to snapshots of the DB instance. *

      *

      * In most cases, tags aren't copied by default. However, when you restore a DB instance from a DB snapshot, RDS * checks whether you specify new tags. If yes, the new tags are added to the restored DB instance. If there are no * new tags, RDS looks for the tags from the source DB instance for the DB snapshot, and then adds those tags to the * restored DB instance. *

      *

      * For more information, see Copying * tags to DB instance snapshots in the Amazon RDS User Guide. *

      * * @return Specifies whether to copy all tags from the restored DB instance to snapshots of the DB instance.

      *

      * In most cases, tags aren't copied by default. However, when you restore a DB instance from a DB snapshot, * RDS checks whether you specify new tags. If yes, the new tags are added to the restored DB instance. If * there are no new tags, RDS looks for the tags from the source DB instance for the DB snapshot, and then * adds those tags to the restored DB instance. *

      *

      * For more information, see * Copying tags to DB instance snapshots in the Amazon RDS User Guide. */ public final Boolean copyTagsToSnapshot() { return copyTagsToSnapshot; } /** *

      * The name of the IAM role to use when making API calls to the Directory Service. *

      *

      * This setting doesn't apply to RDS Custom DB instances. *

      * * @return The name of the IAM role to use when making API calls to the Directory Service.

      *

      * This setting doesn't apply to RDS Custom DB instances. */ public final String domainIAMRoleName() { return domainIAMRoleName; } /** *

      * Specifies whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to * database accounts. By default, mapping is disabled. *

      *

      * For more information about IAM database authentication, see IAM Database * Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. *

      *

      * This setting doesn't apply to RDS Custom. *

      * * @return Specifies whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts * to database accounts. By default, mapping is disabled.

      *

      * For more information about IAM database authentication, see IAM Database * Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. *

      *

      * This setting doesn't apply to RDS Custom. */ public final Boolean enableIAMDatabaseAuthentication() { return enableIAMDatabaseAuthentication; } /** * For responses, this returns true if the service returned a value for the EnableCloudwatchLogsExports 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 hasEnableCloudwatchLogsExports() { return enableCloudwatchLogsExports != null && !(enableCloudwatchLogsExports instanceof SdkAutoConstructList); } /** *

      * The list of logs for the restored DB instance to export to CloudWatch Logs. The values in the list depend on the * DB engine. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide. *

      *

      * This setting doesn't apply to RDS Custom. *

      *

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

      * * @return The list of logs for the restored DB instance to export to CloudWatch Logs. The values in the list depend * on the DB engine. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

      *

      * This setting doesn't apply to RDS Custom. */ public final List enableCloudwatchLogsExports() { return enableCloudwatchLogsExports; } /** * 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. *

      *

      * This setting doesn't apply to RDS Custom. *

      *

      * 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.

      *

      * This setting doesn't apply to RDS Custom. */ public final List processorFeatures() { return processorFeatures; } /** *

      * Specifies whether the DB instance class of the DB instance uses its default processor features. *

      *

      * This setting doesn't apply to RDS Custom. *

      * * @return Specifies whether the DB instance class of the DB instance uses its default processor features.

      *

      * This setting doesn't apply to RDS Custom. */ public final Boolean useDefaultProcessorFeatures() { return useDefaultProcessorFeatures; } /** *

      * The name of the DB parameter group to associate with this DB instance. *

      *

      * If you don't specify a value for DBParameterGroupName, then RDS uses the default * DBParameterGroup for the specified DB engine. *

      *

      * This setting doesn't apply to RDS Custom. *

      *

      * Constraints: *

      *
        *
      • *

        * If supplied, must match the name of an existing DB parameter group. *

        *
      • *
      • *

        * Must be 1 to 255 letters, numbers, or hyphens. *

        *
      • *
      • *

        * First character must be a letter. *

        *
      • *
      • *

        * Can't end with a hyphen or contain two consecutive hyphens. *

        *
      • *
      * * @return The name of the DB parameter group to associate with this DB instance.

      *

      * If you don't specify a value for DBParameterGroupName, then RDS uses the default * DBParameterGroup for the specified DB engine. *

      *

      * This setting doesn't apply to RDS Custom. *

      *

      * Constraints: *

      *
        *
      • *

        * If supplied, must match the name of an existing DB parameter group. *

        *
      • *
      • *

        * Must be 1 to 255 letters, numbers, or hyphens. *

        *
      • *
      • *

        * First character must be a letter. *

        *
      • *
      • *

        * Can't end with a hyphen or contain two consecutive hyphens. *

        *
      • */ public final String dbParameterGroupName() { return dbParameterGroupName; } /** *

        * Specifies whether to enable deletion protection for the DB instance. The database can't be deleted when deletion * protection is enabled. By default, deletion protection isn't enabled. For more information, see Deleting a DB * Instance. *

        * * @return Specifies whether to enable deletion protection for the DB instance. The database can't be deleted when * deletion protection is enabled. By default, deletion protection isn't enabled. For more information, see * Deleting a DB * Instance. */ public final Boolean deletionProtection() { return deletionProtection; } /** *

        * Specifies whether to enable a customer-owned IP address (CoIP) 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. *

        *

        * This setting doesn't apply to RDS Custom. *

        *

        * 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 Specifies whether to enable a customer-owned IP address (CoIP) 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. *

        *

        * This setting doesn't apply to RDS Custom. *

        *

        * 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 enableCustomerOwnedIp() { return enableCustomerOwnedIp; } /** *

        * 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. *

        *

        * This setting is required for RDS Custom. *

        * * @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. *

        *

        * This setting is required for RDS Custom. */ public final String customIamInstanceProfile() { return customIamInstanceProfile; } /** *

        * Specifies where automated backups and manual snapshots are stored for the restored DB instance. *

        *

        * Possible values are outposts (Amazon Web Services Outposts) and region (Amazon Web * Services Region). The default is region. *

        *

        * For more information, see Working with Amazon RDS on * Amazon Web Services Outposts in the Amazon RDS User Guide. *

        * * @return Specifies where automated backups and manual snapshots are stored for the restored DB instance.

        *

        * Possible values are outposts (Amazon Web Services Outposts) and region (Amazon * Web Services Region). The default is region. *

        *

        * For more information, see Working with Amazon * RDS on Amazon Web Services Outposts in the Amazon RDS User Guide. */ public final String backupTarget() { return backupTarget; } /** *

        * The network type of the DB instance. *

        *

        * Valid Values: *

        *
          *
        • *

          * IPV4 *

          *
        • *
        • *

          * DUAL *

          *
        • *
        *

        * 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. *

        * * @return The network type of the DB instance.

        *

        * Valid Values: *

        *
          *
        • *

          * IPV4 *

          *
        • *
        • *

          * DUAL *

          *
        • *
        *

        * 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. */ public final String networkType() { return networkType; } /** *

        * Specifies the storage throughput value for the DB instance. *

        *

        * This setting doesn't apply to RDS Custom or Amazon Aurora. *

        * * @return Specifies the storage throughput value for the DB instance.

        *

        * This setting doesn't apply to RDS Custom or Amazon Aurora. */ public final Integer storageThroughput() { return storageThroughput; } /** *

        * The identifier for the Multi-AZ DB cluster snapshot to restore from. *

        *

        * For more information on Multi-AZ DB clusters, see Multi-AZ DB * cluster deployments in the Amazon RDS User Guide. *

        *

        * Constraints: *

        *
          *
        • *

          * Must match the identifier of an existing Multi-AZ DB cluster snapshot. *

          *
        • *
        • *

          * Can't be specified when DBSnapshotIdentifier is specified. *

          *
        • *
        • *

          * Must be specified when DBSnapshotIdentifier isn't specified. *

          *
        • *
        • *

          * If you are restoring from a shared manual Multi-AZ DB cluster snapshot, the * DBClusterSnapshotIdentifier must be the ARN of the shared snapshot. *

          *
        • *
        • *

          * Can't be the identifier of an Aurora DB cluster snapshot. *

          *
        • *
        * * @return The identifier for the Multi-AZ DB cluster snapshot to restore from.

        *

        * For more information on Multi-AZ DB clusters, see * Multi-AZ DB cluster deployments in the Amazon RDS User Guide. *

        *

        * Constraints: *

        *
          *
        • *

          * Must match the identifier of an existing Multi-AZ DB cluster snapshot. *

          *
        • *
        • *

          * Can't be specified when DBSnapshotIdentifier is specified. *

          *
        • *
        • *

          * Must be specified when DBSnapshotIdentifier isn't specified. *

          *
        • *
        • *

          * If you are restoring from a shared manual Multi-AZ DB cluster snapshot, the * DBClusterSnapshotIdentifier must be the ARN of the shared snapshot. *

          *
        • *
        • *

          * Can't be the identifier of an Aurora DB cluster snapshot. *

          *
        • */ public final String dbClusterSnapshotIdentifier() { return dbClusterSnapshotIdentifier; } /** *

          * The amount of storage (in gibibytes) to allocate initially for the DB instance. Follow the allocation rules * specified in CreateDBInstance. *

          * *

          * Be sure to allocate enough storage for your new DB instance so that the restore operation can succeed. You can * also allocate additional storage for future growth. *

          *
          * * @return The amount of storage (in gibibytes) to allocate initially for the DB instance. Follow the allocation * rules specified in CreateDBInstance.

          *

          * Be sure to allocate enough storage for your new DB instance so that the restore operation can succeed. * You can also allocate additional storage for future growth. *

          */ public final Integer allocatedStorage() { return allocatedStorage; } /** *

          * Specifies whether to enable a dedicated log volume (DLV) for the DB instance. *

          * * @return Specifies whether to enable a dedicated log volume (DLV) for the DB instance. */ public final Boolean dedicatedLogVolume() { return dedicatedLogVolume; } /** *

          * The CA certificate identifier to use for the DB instance's server certificate. *

          *

          * This setting doesn't apply to RDS Custom DB instances. *

          *

          * 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 CA certificate identifier to use for the DB instance's server certificate.

          *

          * This setting doesn't apply to RDS Custom DB instances. *

          *

          * 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; } /** *

          * The life cycle type for this DB instance. *

          * *

          * By default, this value is set to open-source-rds-extended-support, which enrolls your DB instance * into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by * setting the value to open-source-rds-extended-support-disabled. In this case, RDS automatically * upgrades your restored DB instance to a higher engine version, if the major engine version is past its end of * standard support date. *

          *
          *

          * You can use this setting to enroll your DB instance into Amazon RDS Extended Support. With RDS Extended Support, * you can run the selected major engine version on your DB instance past the end of standard support for that * engine version. For more information, see Using Amazon RDS Extended * Support in the Amazon RDS User Guide. *

          *

          * This setting applies only to RDS for MySQL and RDS for PostgreSQL. For Amazon Aurora DB instances, the life cycle * type is managed by the DB cluster. *

          *

          * Valid Values: open-source-rds-extended-support | open-source-rds-extended-support-disabled *

          *

          * Default: open-source-rds-extended-support *

          * * @return The life cycle type for this DB instance.

          *

          * By default, this value is set to open-source-rds-extended-support, which enrolls your DB * instance into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for * Extended Support by setting the value to open-source-rds-extended-support-disabled. In this * case, RDS automatically upgrades your restored DB instance to a higher engine version, if the major * engine version is past its end of standard support date. *

          *
          *

          * You can use this setting to enroll your DB instance into Amazon RDS Extended Support. With RDS Extended * Support, you can run the selected major engine version on your DB instance past the end of standard * support for that engine version. For more information, see Using Amazon RDS * Extended Support in the Amazon RDS User Guide. *

          *

          * This setting applies only to RDS for MySQL and RDS for PostgreSQL. For Amazon Aurora DB instances, the * life cycle type is managed by the DB cluster. *

          *

          * Valid Values: open-source-rds-extended-support | open-source-rds-extended-support-disabled *

          *

          * Default: open-source-rds-extended-support */ public final String engineLifecycleSupport() { return engineLifecycleSupport; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public final int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + super.hashCode(); hashCode = 31 * hashCode + Objects.hashCode(dbInstanceIdentifier()); hashCode = 31 * hashCode + Objects.hashCode(dbSnapshotIdentifier()); hashCode = 31 * hashCode + Objects.hashCode(dbInstanceClass()); hashCode = 31 * hashCode + Objects.hashCode(port()); hashCode = 31 * hashCode + Objects.hashCode(availabilityZone()); hashCode = 31 * hashCode + Objects.hashCode(dbSubnetGroupName()); hashCode = 31 * hashCode + Objects.hashCode(multiAZ()); hashCode = 31 * hashCode + Objects.hashCode(publiclyAccessible()); hashCode = 31 * hashCode + Objects.hashCode(autoMinorVersionUpgrade()); hashCode = 31 * hashCode + Objects.hashCode(licenseModel()); hashCode = 31 * hashCode + Objects.hashCode(dbName()); hashCode = 31 * hashCode + Objects.hashCode(engine()); hashCode = 31 * hashCode + Objects.hashCode(iops()); hashCode = 31 * hashCode + Objects.hashCode(optionGroupName()); hashCode = 31 * hashCode + Objects.hashCode(hasTags() ? tags() : null); hashCode = 31 * hashCode + Objects.hashCode(storageType()); hashCode = 31 * hashCode + Objects.hashCode(tdeCredentialArn()); hashCode = 31 * hashCode + Objects.hashCode(tdeCredentialPassword()); hashCode = 31 * hashCode + Objects.hashCode(hasVpcSecurityGroupIds() ? vpcSecurityGroupIds() : null); hashCode = 31 * hashCode + Objects.hashCode(domain()); hashCode = 31 * hashCode + Objects.hashCode(domainFqdn()); hashCode = 31 * hashCode + Objects.hashCode(domainOu()); hashCode = 31 * hashCode + Objects.hashCode(domainAuthSecretArn()); hashCode = 31 * hashCode + Objects.hashCode(hasDomainDnsIps() ? domainDnsIps() : null); hashCode = 31 * hashCode + Objects.hashCode(copyTagsToSnapshot()); hashCode = 31 * hashCode + Objects.hashCode(domainIAMRoleName()); hashCode = 31 * hashCode + Objects.hashCode(enableIAMDatabaseAuthentication()); hashCode = 31 * hashCode + Objects.hashCode(hasEnableCloudwatchLogsExports() ? enableCloudwatchLogsExports() : null); hashCode = 31 * hashCode + Objects.hashCode(hasProcessorFeatures() ? processorFeatures() : null); hashCode = 31 * hashCode + Objects.hashCode(useDefaultProcessorFeatures()); hashCode = 31 * hashCode + Objects.hashCode(dbParameterGroupName()); hashCode = 31 * hashCode + Objects.hashCode(deletionProtection()); hashCode = 31 * hashCode + Objects.hashCode(enableCustomerOwnedIp()); hashCode = 31 * hashCode + Objects.hashCode(customIamInstanceProfile()); hashCode = 31 * hashCode + Objects.hashCode(backupTarget()); hashCode = 31 * hashCode + Objects.hashCode(networkType()); hashCode = 31 * hashCode + Objects.hashCode(storageThroughput()); hashCode = 31 * hashCode + Objects.hashCode(dbClusterSnapshotIdentifier()); hashCode = 31 * hashCode + Objects.hashCode(allocatedStorage()); hashCode = 31 * hashCode + Objects.hashCode(dedicatedLogVolume()); hashCode = 31 * hashCode + Objects.hashCode(caCertificateIdentifier()); hashCode = 31 * hashCode + Objects.hashCode(engineLifecycleSupport()); return hashCode; } @Override public final boolean equals(Object obj) { return super.equals(obj) && equalsBySdkFields(obj); } @Override public final boolean equalsBySdkFields(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof RestoreDbInstanceFromDbSnapshotRequest)) { return false; } RestoreDbInstanceFromDbSnapshotRequest other = (RestoreDbInstanceFromDbSnapshotRequest) obj; return Objects.equals(dbInstanceIdentifier(), other.dbInstanceIdentifier()) && Objects.equals(dbSnapshotIdentifier(), other.dbSnapshotIdentifier()) && Objects.equals(dbInstanceClass(), other.dbInstanceClass()) && Objects.equals(port(), other.port()) && Objects.equals(availabilityZone(), other.availabilityZone()) && Objects.equals(dbSubnetGroupName(), other.dbSubnetGroupName()) && Objects.equals(multiAZ(), other.multiAZ()) && Objects.equals(publiclyAccessible(), other.publiclyAccessible()) && Objects.equals(autoMinorVersionUpgrade(), other.autoMinorVersionUpgrade()) && Objects.equals(licenseModel(), other.licenseModel()) && Objects.equals(dbName(), other.dbName()) && Objects.equals(engine(), other.engine()) && Objects.equals(iops(), other.iops()) && Objects.equals(optionGroupName(), other.optionGroupName()) && hasTags() == other.hasTags() && Objects.equals(tags(), other.tags()) && Objects.equals(storageType(), other.storageType()) && Objects.equals(tdeCredentialArn(), other.tdeCredentialArn()) && Objects.equals(tdeCredentialPassword(), other.tdeCredentialPassword()) && hasVpcSecurityGroupIds() == other.hasVpcSecurityGroupIds() && Objects.equals(vpcSecurityGroupIds(), other.vpcSecurityGroupIds()) && Objects.equals(domain(), other.domain()) && Objects.equals(domainFqdn(), other.domainFqdn()) && Objects.equals(domainOu(), other.domainOu()) && Objects.equals(domainAuthSecretArn(), other.domainAuthSecretArn()) && hasDomainDnsIps() == other.hasDomainDnsIps() && Objects.equals(domainDnsIps(), other.domainDnsIps()) && Objects.equals(copyTagsToSnapshot(), other.copyTagsToSnapshot()) && Objects.equals(domainIAMRoleName(), other.domainIAMRoleName()) && Objects.equals(enableIAMDatabaseAuthentication(), other.enableIAMDatabaseAuthentication()) && hasEnableCloudwatchLogsExports() == other.hasEnableCloudwatchLogsExports() && Objects.equals(enableCloudwatchLogsExports(), other.enableCloudwatchLogsExports()) && hasProcessorFeatures() == other.hasProcessorFeatures() && Objects.equals(processorFeatures(), other.processorFeatures()) && Objects.equals(useDefaultProcessorFeatures(), other.useDefaultProcessorFeatures()) && Objects.equals(dbParameterGroupName(), other.dbParameterGroupName()) && Objects.equals(deletionProtection(), other.deletionProtection()) && Objects.equals(enableCustomerOwnedIp(), other.enableCustomerOwnedIp()) && Objects.equals(customIamInstanceProfile(), other.customIamInstanceProfile()) && Objects.equals(backupTarget(), other.backupTarget()) && Objects.equals(networkType(), other.networkType()) && Objects.equals(storageThroughput(), other.storageThroughput()) && Objects.equals(dbClusterSnapshotIdentifier(), other.dbClusterSnapshotIdentifier()) && Objects.equals(allocatedStorage(), other.allocatedStorage()) && Objects.equals(dedicatedLogVolume(), other.dedicatedLogVolume()) && Objects.equals(caCertificateIdentifier(), other.caCertificateIdentifier()) && 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("RestoreDbInstanceFromDbSnapshotRequest").add("DBInstanceIdentifier", dbInstanceIdentifier()) .add("DBSnapshotIdentifier", dbSnapshotIdentifier()).add("DBInstanceClass", dbInstanceClass()) .add("Port", port()).add("AvailabilityZone", availabilityZone()).add("DBSubnetGroupName", dbSubnetGroupName()) .add("MultiAZ", multiAZ()).add("PubliclyAccessible", publiclyAccessible()) .add("AutoMinorVersionUpgrade", autoMinorVersionUpgrade()).add("LicenseModel", licenseModel()) .add("DBName", dbName()).add("Engine", engine()).add("Iops", iops()).add("OptionGroupName", optionGroupName()) .add("Tags", hasTags() ? tags() : null).add("StorageType", storageType()) .add("TdeCredentialArn", tdeCredentialArn()).add("TdeCredentialPassword", tdeCredentialPassword()) .add("VpcSecurityGroupIds", hasVpcSecurityGroupIds() ? vpcSecurityGroupIds() : null).add("Domain", domain()) .add("DomainFqdn", domainFqdn()).add("DomainOu", domainOu()).add("DomainAuthSecretArn", domainAuthSecretArn()) .add("DomainDnsIps", hasDomainDnsIps() ? domainDnsIps() : null).add("CopyTagsToSnapshot", copyTagsToSnapshot()) .add("DomainIAMRoleName", domainIAMRoleName()) .add("EnableIAMDatabaseAuthentication", enableIAMDatabaseAuthentication()) .add("EnableCloudwatchLogsExports", hasEnableCloudwatchLogsExports() ? enableCloudwatchLogsExports() : null) .add("ProcessorFeatures", hasProcessorFeatures() ? processorFeatures() : null) .add("UseDefaultProcessorFeatures", useDefaultProcessorFeatures()) .add("DBParameterGroupName", dbParameterGroupName()).add("DeletionProtection", deletionProtection()) .add("EnableCustomerOwnedIp", enableCustomerOwnedIp()) .add("CustomIamInstanceProfile", customIamInstanceProfile()).add("BackupTarget", backupTarget()) .add("NetworkType", networkType()).add("StorageThroughput", storageThroughput()) .add("DBClusterSnapshotIdentifier", dbClusterSnapshotIdentifier()).add("AllocatedStorage", allocatedStorage()) .add("DedicatedLogVolume", dedicatedLogVolume()).add("CACertificateIdentifier", caCertificateIdentifier()) .add("EngineLifecycleSupport", engineLifecycleSupport()).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "DBInstanceIdentifier": return Optional.ofNullable(clazz.cast(dbInstanceIdentifier())); case "DBSnapshotIdentifier": return Optional.ofNullable(clazz.cast(dbSnapshotIdentifier())); case "DBInstanceClass": return Optional.ofNullable(clazz.cast(dbInstanceClass())); case "Port": return Optional.ofNullable(clazz.cast(port())); case "AvailabilityZone": return Optional.ofNullable(clazz.cast(availabilityZone())); case "DBSubnetGroupName": return Optional.ofNullable(clazz.cast(dbSubnetGroupName())); case "MultiAZ": return Optional.ofNullable(clazz.cast(multiAZ())); case "PubliclyAccessible": return Optional.ofNullable(clazz.cast(publiclyAccessible())); case "AutoMinorVersionUpgrade": return Optional.ofNullable(clazz.cast(autoMinorVersionUpgrade())); case "LicenseModel": return Optional.ofNullable(clazz.cast(licenseModel())); case "DBName": return Optional.ofNullable(clazz.cast(dbName())); case "Engine": return Optional.ofNullable(clazz.cast(engine())); case "Iops": return Optional.ofNullable(clazz.cast(iops())); case "OptionGroupName": return Optional.ofNullable(clazz.cast(optionGroupName())); case "Tags": return Optional.ofNullable(clazz.cast(tags())); case "StorageType": return Optional.ofNullable(clazz.cast(storageType())); case "TdeCredentialArn": return Optional.ofNullable(clazz.cast(tdeCredentialArn())); case "TdeCredentialPassword": return Optional.ofNullable(clazz.cast(tdeCredentialPassword())); case "VpcSecurityGroupIds": return Optional.ofNullable(clazz.cast(vpcSecurityGroupIds())); case "Domain": return Optional.ofNullable(clazz.cast(domain())); case "DomainFqdn": return Optional.ofNullable(clazz.cast(domainFqdn())); case "DomainOu": return Optional.ofNullable(clazz.cast(domainOu())); case "DomainAuthSecretArn": return Optional.ofNullable(clazz.cast(domainAuthSecretArn())); case "DomainDnsIps": return Optional.ofNullable(clazz.cast(domainDnsIps())); case "CopyTagsToSnapshot": return Optional.ofNullable(clazz.cast(copyTagsToSnapshot())); case "DomainIAMRoleName": return Optional.ofNullable(clazz.cast(domainIAMRoleName())); case "EnableIAMDatabaseAuthentication": return Optional.ofNullable(clazz.cast(enableIAMDatabaseAuthentication())); case "EnableCloudwatchLogsExports": return Optional.ofNullable(clazz.cast(enableCloudwatchLogsExports())); case "ProcessorFeatures": return Optional.ofNullable(clazz.cast(processorFeatures())); case "UseDefaultProcessorFeatures": return Optional.ofNullable(clazz.cast(useDefaultProcessorFeatures())); case "DBParameterGroupName": return Optional.ofNullable(clazz.cast(dbParameterGroupName())); case "DeletionProtection": return Optional.ofNullable(clazz.cast(deletionProtection())); case "EnableCustomerOwnedIp": return Optional.ofNullable(clazz.cast(enableCustomerOwnedIp())); 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 "StorageThroughput": return Optional.ofNullable(clazz.cast(storageThroughput())); case "DBClusterSnapshotIdentifier": return Optional.ofNullable(clazz.cast(dbClusterSnapshotIdentifier())); case "AllocatedStorage": return Optional.ofNullable(clazz.cast(allocatedStorage())); case "DedicatedLogVolume": return Optional.ofNullable(clazz.cast(dedicatedLogVolume())); case "CACertificateIdentifier": return Optional.ofNullable(clazz.cast(caCertificateIdentifier())); case "EngineLifecycleSupport": return Optional.ofNullable(clazz.cast(engineLifecycleSupport())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((RestoreDbInstanceFromDbSnapshotRequest) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends RdsRequest.Builder, SdkPojo, CopyableBuilder { /** *

          * The name of the DB instance to create from the DB snapshot. This parameter isn't case-sensitive. *

          *

          * Constraints: *

          *
            *
          • *

            * Must contain from 1 to 63 numbers, letters, or hyphens. *

            *
          • *
          • *

            * First character must be a letter. *

            *
          • *
          • *

            * Can't end with a hyphen or contain two consecutive hyphens. *

            *
          • *
          *

          * Example: my-snapshot-id *

          * * @param dbInstanceIdentifier * The name of the DB instance to create from the DB snapshot. This parameter isn't case-sensitive.

          *

          * Constraints: *

          *
            *
          • *

            * Must contain from 1 to 63 numbers, letters, or hyphens. *

            *
          • *
          • *

            * First character must be a letter. *

            *
          • *
          • *

            * Can't end with a hyphen or contain two consecutive hyphens. *

            *
          • *
          *

          * Example: my-snapshot-id * @return Returns a reference to this object so that method calls can be chained together. */ Builder dbInstanceIdentifier(String dbInstanceIdentifier); /** *

          * The identifier for the DB snapshot to restore from. *

          *

          * Constraints: *

          *
            *
          • *

            * Must match the identifier of an existing DB snapshot. *

            *
          • *
          • *

            * Can't be specified when DBClusterSnapshotIdentifier is specified. *

            *
          • *
          • *

            * Must be specified when DBClusterSnapshotIdentifier isn't specified. *

            *
          • *
          • *

            * If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier must be the ARN * of the shared DB snapshot. *

            *
          • *
          * * @param dbSnapshotIdentifier * The identifier for the DB snapshot to restore from.

          *

          * Constraints: *

          *
            *
          • *

            * Must match the identifier of an existing DB snapshot. *

            *
          • *
          • *

            * Can't be specified when DBClusterSnapshotIdentifier is specified. *

            *
          • *
          • *

            * Must be specified when DBClusterSnapshotIdentifier isn't specified. *

            *
          • *
          • *

            * If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier must be * the ARN of the shared DB snapshot. *

            *
          • * @return Returns a reference to this object so that method calls can be chained together. */ Builder dbSnapshotIdentifier(String dbSnapshotIdentifier); /** *

            * The compute and memory capacity of the Amazon RDS DB instance, for example db.m4.large. Not all DB instance * classes are available in all Amazon Web Services Regions, or for all database engines. For the full list of * DB instance classes, and availability for your engine, see DB Instance * Class in the Amazon RDS User Guide. *

            *

            * Default: The same DBInstanceClass as the original DB instance. *

            * * @param dbInstanceClass * The compute and memory capacity of the Amazon RDS DB instance, for example db.m4.large. Not all DB * instance classes are available in all Amazon Web Services Regions, or for all database engines. For * the full list of DB instance classes, and availability for your engine, see DB * Instance Class in the Amazon RDS User Guide.

            *

            * Default: The same DBInstanceClass as the original DB instance. * @return Returns a reference to this object so that method calls can be chained together. */ Builder dbInstanceClass(String dbInstanceClass); /** *

            * The port number on which the database accepts connections. *

            *

            * Default: The same port as the original DB instance *

            *

            * Constraints: Value must be 1150-65535 *

            * * @param port * The port number on which the database accepts connections.

            *

            * Default: The same port as the original DB instance *

            *

            * Constraints: Value must be 1150-65535 * @return Returns a reference to this object so that method calls can be chained together. */ Builder port(Integer port); /** *

            * The Availability Zone (AZ) where the DB instance will be created. *

            *

            * Default: A random, system-chosen Availability Zone. *

            *

            * Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ * deployment. *

            *

            * Example: us-east-1a *

            * * @param availabilityZone * The Availability Zone (AZ) where the DB instance will be created.

            *

            * Default: A random, system-chosen Availability Zone. *

            *

            * Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a * Multi-AZ deployment. *

            *

            * Example: us-east-1a * @return Returns a reference to this object so that method calls can be chained together. */ Builder availabilityZone(String availabilityZone); /** *

            * The name of the DB subnet group to use for the new instance. *

            *

            * Constraints: *

            *
              *
            • *

              * If supplied, must match the name of an existing DB subnet group. *

              *
            • *
            *

            * Example: mydbsubnetgroup *

            * * @param dbSubnetGroupName * The name of the DB subnet group to use for the new instance.

            *

            * Constraints: *

            *
              *
            • *

              * If supplied, must match the name of an existing DB subnet group. *

              *
            • *
            *

            * Example: mydbsubnetgroup * @return Returns a reference to this object so that method calls can be chained together. */ Builder dbSubnetGroupName(String dbSubnetGroupName); /** *

            * Specifies whether the DB instance is a Multi-AZ deployment. *

            *

            * This setting doesn't apply to RDS Custom. *

            *

            * Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ * deployment. *

            * * @param multiAZ * Specifies whether the DB instance is a Multi-AZ deployment.

            *

            * This setting doesn't apply to RDS Custom. *

            *

            * Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a * Multi-AZ deployment. * @return Returns a reference to this object so that method calls can be chained together. */ Builder multiAZ(Boolean multiAZ); /** *

            * Specifies whether the DB instance is publicly accessible. *

            *

            * When the DB instance is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP * address from within the DB instance's virtual private cloud (VPC). It resolves to the public IP address from * outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it * uses. That public access is not permitted if the security group assigned to the DB instance 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 * Specifies whether the DB instance is publicly accessible.

            *

            * When the DB instance is publicly accessible, its Domain Name System (DNS) endpoint resolves to the * private IP address from within the DB instance's virtual private cloud (VPC). It resolves to the * public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately * controlled by the security group it uses. That public access is not permitted if the security group * assigned to the DB instance 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); /** *

            * Specifies whether to automatically apply minor version upgrades to the DB instance during the maintenance * window. *

            *

            * If you restore an RDS Custom DB instance, you must disable this parameter. *

            * * @param autoMinorVersionUpgrade * Specifies whether to automatically apply minor version upgrades to the DB instance during the * maintenance window.

            *

            * If you restore an RDS Custom DB instance, you must disable this parameter. * @return Returns a reference to this object so that method calls can be chained together. */ Builder autoMinorVersionUpgrade(Boolean autoMinorVersionUpgrade); /** *

            * License model information for the restored DB instance. *

            * *

            * License models for RDS for Db2 require additional configuration. The Bring Your Own License (BYOL) model * requires a custom parameter group and an Amazon Web Services License Manager self-managed license. The Db2 * license through Amazon Web Services Marketplace model requires an Amazon Web Services Marketplace * subscription. For more information, see Amazon RDS for Db2 licensing * options in the Amazon RDS User Guide. *

            *
            *

            * This setting doesn't apply to Amazon Aurora or RDS Custom DB instances. *

            *

            * Valid Values: *

            *
              *
            • *

              * RDS for Db2 - bring-your-own-license | marketplace-license *

              *
            • *
            • *

              * RDS for MariaDB - general-public-license *

              *
            • *
            • *

              * RDS for Microsoft SQL Server - license-included *

              *
            • *
            • *

              * RDS for MySQL - general-public-license *

              *
            • *
            • *

              * RDS for Oracle - bring-your-own-license | license-included *

              *
            • *
            • *

              * RDS for PostgreSQL - postgresql-license *

              *
            • *
            *

            * Default: Same as the source. *

            * * @param licenseModel * License model information for the restored DB instance.

            *

            * License models for RDS for Db2 require additional configuration. The Bring Your Own License (BYOL) * model requires a custom parameter group and an Amazon Web Services License Manager self-managed * license. The Db2 license through Amazon Web Services Marketplace model requires an Amazon Web Services * Marketplace subscription. For more information, see Amazon RDS for Db2 * licensing options in the Amazon RDS User Guide. *

            *
            *

            * This setting doesn't apply to Amazon Aurora or RDS Custom DB instances. *

            *

            * Valid Values: *

            *
              *
            • *

              * RDS for Db2 - bring-your-own-license | marketplace-license *

              *
            • *
            • *

              * RDS for MariaDB - general-public-license *

              *
            • *
            • *

              * RDS for Microsoft SQL Server - license-included *

              *
            • *
            • *

              * RDS for MySQL - general-public-license *

              *
            • *
            • *

              * RDS for Oracle - bring-your-own-license | license-included *

              *
            • *
            • *

              * RDS for PostgreSQL - postgresql-license *

              *
            • *
            *

            * Default: Same as the source. * @return Returns a reference to this object so that method calls can be chained together. */ Builder licenseModel(String licenseModel); /** *

            * The name of the database for the restored DB instance. *

            *

            * This parameter only applies to RDS for Oracle and RDS for SQL Server DB instances. It doesn't apply to the * other engines or to RDS Custom DB instances. *

            * * @param dbName * The name of the database for the restored DB instance.

            *

            * This parameter only applies to RDS for Oracle and RDS for SQL Server DB instances. It doesn't apply to * the other engines or to RDS Custom DB instances. * @return Returns a reference to this object so that method calls can be chained together. */ Builder dbName(String dbName); /** *

            * The database engine to use for the new instance. *

            *

            * This setting doesn't apply to RDS Custom. *

            *

            * Default: The same as source *

            *

            * Constraint: Must be compatible with the engine of the source. For example, you can restore a MariaDB 10.1 DB * instance from a MySQL 5.6 snapshot. *

            *

            * Valid Values: *

            *
              *
            • *

              * db2-ae *

              *
            • *
            • *

              * db2-se *

              *
            • *
            • *

              * mariadb *

              *
            • *
            • *

              * mysql *

              *
            • *
            • *

              * oracle-ee *

              *
            • *
            • *

              * oracle-ee-cdb *

              *
            • *
            • *

              * oracle-se2 *

              *
            • *
            • *

              * oracle-se2-cdb *

              *
            • *
            • *

              * postgres *

              *
            • *
            • *

              * sqlserver-ee *

              *
            • *
            • *

              * sqlserver-se *

              *
            • *
            • *

              * sqlserver-ex *

              *
            • *
            • *

              * sqlserver-web *

              *
            • *
            * * @param engine * The database engine to use for the new instance.

            *

            * This setting doesn't apply to RDS Custom. *

            *

            * Default: The same as source *

            *

            * Constraint: Must be compatible with the engine of the source. For example, you can restore a MariaDB * 10.1 DB instance from a MySQL 5.6 snapshot. *

            *

            * Valid Values: *

            *
              *
            • *

              * db2-ae *

              *
            • *
            • *

              * db2-se *

              *
            • *
            • *

              * mariadb *

              *
            • *
            • *

              * mysql *

              *
            • *
            • *

              * oracle-ee *

              *
            • *
            • *

              * oracle-ee-cdb *

              *
            • *
            • *

              * oracle-se2 *

              *
            • *
            • *

              * oracle-se2-cdb *

              *
            • *
            • *

              * postgres *

              *
            • *
            • *

              * sqlserver-ee *

              *
            • *
            • *

              * sqlserver-se *

              *
            • *
            • *

              * sqlserver-ex *

              *
            • *
            • *

              * sqlserver-web *

              *
            • * @return Returns a reference to this object so that method calls can be chained together. */ Builder engine(String engine); /** *

              * Specifies the amount of provisioned IOPS for the DB instance, expressed in I/O operations per second. If this * parameter isn't specified, the IOPS value is taken from the backup. If this parameter is set to 0, the new * instance is converted to a non-PIOPS instance. The conversion takes additional time, though your DB instance * is available for connections before the conversion starts. *

              *

              * The provisioned IOPS value must follow the requirements for your database engine. For more information, see * Amazon RDS * Provisioned IOPS storage in the Amazon RDS User Guide. *

              *

              * Constraints: Must be an integer greater than 1000. *

              * * @param iops * Specifies the amount of provisioned IOPS for the DB instance, expressed in I/O operations per second. * If this parameter isn't specified, the IOPS value is taken from the backup. If this parameter is set * to 0, the new instance is converted to a non-PIOPS instance. The conversion takes additional time, * though your DB instance is available for connections before the conversion starts.

              *

              * The provisioned IOPS value must follow the requirements for your database engine. For more * information, see Amazon RDS * Provisioned IOPS storage in the Amazon RDS User Guide. *

              *

              * Constraints: Must be an integer greater than 1000. * @return Returns a reference to this object so that method calls can be chained together. */ Builder iops(Integer iops); /** *

              * The name of the option group to be used for the restored DB instance. *

              *

              * Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option * group, and that option group can't be removed from a DB instance after it is associated with a DB instance. *

              *

              * This setting doesn't apply to RDS Custom. *

              * * @param optionGroupName * The name of the option group to be used for the restored DB instance.

              *

              * Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an * option group, and that option group can't be removed from a DB instance after it is associated with a * DB instance. *

              *

              * This setting doesn't apply to RDS Custom. * @return Returns a reference to this object so that method calls can be chained together. */ Builder optionGroupName(String optionGroupName); /** * Sets the value of the Tags property for this object. * * @param tags * The new value for the Tags property for this object. * @return Returns a reference to this object so that method calls can be chained together. */ Builder tags(Collection tags); /** * Sets the value of the Tags property for this object. * * @param tags * The new value for the Tags property for this object. * @return Returns a reference to this object so that method calls can be chained together. */ Builder tags(Tag... tags); /** * Sets the value of the Tags 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 #tags(List)}. * * @param tags * 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 #tags(java.util.Collection) */ Builder tags(Consumer... tags); /** *

              * Specifies the storage type to be associated with the DB instance. *

              *

              * Valid Values: gp2 | gp3 | io1 | io2 | standard *

              *

              * If you specify io1, io2, or gp3, you must also include a value for the * Iops parameter. *

              *

              * Default: io1 if the Iops parameter is specified, otherwise gp2 *

              * * @param storageType * Specifies the storage type to be associated with the DB instance.

              *

              * Valid Values: gp2 | gp3 | io1 | io2 | standard *

              *

              * If you specify io1, io2, or gp3, you must also include a value * for the Iops parameter. *

              *

              * Default: io1 if the Iops parameter is specified, otherwise gp2 * @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 to associate the instance for TDE encryption. *

              *

              * This setting doesn't apply to RDS Custom. *

              * * @param tdeCredentialArn * The ARN from the key store with which to associate the instance for TDE encryption.

              *

              * This setting doesn't apply to RDS Custom. * @return Returns a reference to this object so that method calls can be chained together. */ Builder tdeCredentialArn(String tdeCredentialArn); /** *

              * The password for the given ARN from the key store in order to access the device. *

              *

              * This setting doesn't apply to RDS Custom. *

              * * @param tdeCredentialPassword * The password for the given ARN from the key store in order to access the device.

              *

              * This setting doesn't apply to RDS Custom. * @return Returns a reference to this object so that method calls can be chained together. */ Builder tdeCredentialPassword(String tdeCredentialPassword); /** *

              * A list of EC2 VPC security groups to associate with this DB instance. *

              *

              * Default: The default EC2 VPC security group for the DB subnet group's VPC. *

              * * @param vpcSecurityGroupIds * A list of EC2 VPC security groups to associate with this DB instance.

              *

              * Default: The default EC2 VPC security group for the DB subnet group's VPC. * @return Returns a reference to this object so that method calls can be chained together. */ Builder vpcSecurityGroupIds(Collection vpcSecurityGroupIds); /** *

              * A list of EC2 VPC security groups to associate with this DB instance. *

              *

              * Default: The default EC2 VPC security group for the DB subnet group's VPC. *

              * * @param vpcSecurityGroupIds * A list of EC2 VPC security groups to associate with this DB instance.

              *

              * Default: The default EC2 VPC security group for the DB subnet group's VPC. * @return Returns a reference to this object so that method calls can be chained together. */ Builder vpcSecurityGroupIds(String... vpcSecurityGroupIds); /** *

              * The Active Directory directory ID to restore the DB instance in. The domain/ must be created prior to this * operation. Currently, you can create only Db2, MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB * instances in an Active Directory Domain. *

              *

              * For more information, see Kerberos * Authentication in the Amazon RDS User Guide. *

              *

              * This setting doesn't apply to RDS Custom. *

              * * @param domain * The Active Directory directory ID to restore the DB instance in. The domain/ must be created prior to * this operation. Currently, you can create only Db2, MySQL, Microsoft SQL Server, Oracle, and * PostgreSQL DB instances in an Active Directory Domain.

              *

              * For more information, see Kerberos * Authentication in the Amazon RDS User Guide. *

              *

              * This setting doesn't apply to RDS Custom. * @return Returns a reference to this object so that method calls can be chained together. */ Builder domain(String domain); /** *

              * The fully qualified domain name (FQDN) of an Active Directory domain. *

              *

              * Constraints: *

              *
                *
              • *

                * Can't be longer than 64 characters. *

                *
              • *
              *

              * Example: mymanagedADtest.mymanagedAD.mydomain *

              * * @param domainFqdn * The fully qualified domain name (FQDN) of an Active Directory domain.

              *

              * Constraints: *

              *
                *
              • *

                * Can't be longer than 64 characters. *

                *
              • *
              *

              * Example: mymanagedADtest.mymanagedAD.mydomain * @return Returns a reference to this object so that method calls can be chained together. */ Builder domainFqdn(String domainFqdn); /** *

              * The Active Directory organizational unit for your DB instance to join. *

              *

              * Constraints: *

              *
                *
              • *

                * Must be in the distinguished name format. *

                *
              • *
              • *

                * Can't be longer than 64 characters. *

                *
              • *
              *

              * Example: OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain *

              * * @param domainOu * The Active Directory organizational unit for your DB instance to join.

              *

              * Constraints: *

              *
                *
              • *

                * Must be in the distinguished name format. *

                *
              • *
              • *

                * Can't be longer than 64 characters. *

                *
              • *
              *

              * Example: OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain * @return Returns a reference to this object so that method calls can be chained together. */ Builder domainOu(String domainOu); /** *

              * The ARN for the Secrets Manager secret with the credentials for the user joining the domain. *

              *

              * Constraints: *

              *
                *
              • *

                * Can't be longer than 64 characters. *

                *
              • *
              *

              * Example: arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456 *

              * * @param domainAuthSecretArn * The ARN for the Secrets Manager secret with the credentials for the user joining the domain.

              *

              * Constraints: *

              *
                *
              • *

                * Can't be longer than 64 characters. *

                *
              • *
              *

              * Example: * arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456 * @return Returns a reference to this object so that method calls can be chained together. */ Builder domainAuthSecretArn(String domainAuthSecretArn); /** *

              * The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers. *

              *

              * Constraints: *

              *
                *
              • *

                * Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the * primary domain controller for both entries in the list. *

                *
              • *
              *

              * Example: 123.124.125.126,234.235.236.237 *

              * * @param domainDnsIps * The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers.

              *

              * Constraints: *

              *
                *
              • *

                * Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of * the primary domain controller for both entries in the list. *

                *
              • *
              *

              * Example: 123.124.125.126,234.235.236.237 * @return Returns a reference to this object so that method calls can be chained together. */ Builder domainDnsIps(Collection domainDnsIps); /** *

              * The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers. *

              *

              * Constraints: *

              *
                *
              • *

                * Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the * primary domain controller for both entries in the list. *

                *
              • *
              *

              * Example: 123.124.125.126,234.235.236.237 *

              * * @param domainDnsIps * The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers.

              *

              * Constraints: *

              *
                *
              • *

                * Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of * the primary domain controller for both entries in the list. *

                *
              • *
              *

              * Example: 123.124.125.126,234.235.236.237 * @return Returns a reference to this object so that method calls can be chained together. */ Builder domainDnsIps(String... domainDnsIps); /** *

              * Specifies whether to copy all tags from the restored DB instance to snapshots of the DB instance. *

              *

              * In most cases, tags aren't copied by default. However, when you restore a DB instance from a DB snapshot, RDS * checks whether you specify new tags. If yes, the new tags are added to the restored DB instance. If there are * no new tags, RDS looks for the tags from the source DB instance for the DB snapshot, and then adds those tags * to the restored DB instance. *

              *

              * For more information, see * Copying tags to DB instance snapshots in the Amazon RDS User Guide. *

              * * @param copyTagsToSnapshot * Specifies whether to copy all tags from the restored DB instance to snapshots of the DB instance.

              *

              * In most cases, tags aren't copied by default. However, when you restore a DB instance from a DB * snapshot, RDS checks whether you specify new tags. If yes, the new tags are added to the restored DB * instance. If there are no new tags, RDS looks for the tags from the source DB instance for the DB * snapshot, and then adds those tags to the restored DB instance. *

              *

              * For more information, see * Copying tags to DB instance snapshots in the Amazon RDS User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ Builder copyTagsToSnapshot(Boolean copyTagsToSnapshot); /** *

              * The name of the IAM role to use when making API calls to the Directory Service. *

              *

              * This setting doesn't apply to RDS Custom DB instances. *

              * * @param domainIAMRoleName * The name of the IAM role to use when making API calls to the Directory Service.

              *

              * 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 domainIAMRoleName(String domainIAMRoleName); /** *

              * Specifies whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to * database accounts. By default, mapping is disabled. *

              *

              * For more information about IAM database authentication, see IAM Database * Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. *

              *

              * This setting doesn't apply to RDS Custom. *

              * * @param enableIAMDatabaseAuthentication * Specifies whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) * accounts to database accounts. By default, mapping is disabled.

              *

              * For more information about IAM database authentication, see IAM * Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. *

              *

              * This setting doesn't apply to RDS Custom. * @return Returns a reference to this object so that method calls can be chained together. */ Builder enableIAMDatabaseAuthentication(Boolean enableIAMDatabaseAuthentication); /** *

              * The list of logs for the restored DB instance to export to CloudWatch Logs. The values in the list depend on * the DB engine. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide. *

              *

              * This setting doesn't apply to RDS Custom. *

              * * @param enableCloudwatchLogsExports * The list of logs for the restored DB instance to export to CloudWatch Logs. The values in the list * depend on the DB engine. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

              *

              * This setting doesn't apply to RDS Custom. * @return Returns a reference to this object so that method calls can be chained together. */ Builder enableCloudwatchLogsExports(Collection enableCloudwatchLogsExports); /** *

              * The list of logs for the restored DB instance to export to CloudWatch Logs. The values in the list depend on * the DB engine. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide. *

              *

              * This setting doesn't apply to RDS Custom. *

              * * @param enableCloudwatchLogsExports * The list of logs for the restored DB instance to export to CloudWatch Logs. The values in the list * depend on the DB engine. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

              *

              * This setting doesn't apply to RDS Custom. * @return Returns a reference to this object so that method calls can be chained together. */ Builder enableCloudwatchLogsExports(String... enableCloudwatchLogsExports); /** *

              * The number of CPU cores and the number of threads per core for the DB instance class of the DB instance. *

              *

              * This setting doesn't apply to RDS Custom. *

              * * @param processorFeatures * The number of CPU cores and the number of threads per core for the DB instance class of the DB * instance.

              *

              * This setting doesn't apply to RDS Custom. * @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. *

              *

              * This setting doesn't apply to RDS Custom. *

              * * @param processorFeatures * The number of CPU cores and the number of threads per core for the DB instance class of the DB * instance.

              *

              * This setting doesn't apply to RDS Custom. * @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 setting doesn't apply to RDS Custom. *

              * 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); /** *

              * Specifies whether the DB instance class of the DB instance uses its default processor features. *

              *

              * This setting doesn't apply to RDS Custom. *

              * * @param useDefaultProcessorFeatures * Specifies whether the DB instance class of the DB instance uses its default processor features.

              *

              * This setting doesn't apply to RDS Custom. * @return Returns a reference to this object so that method calls can be chained together. */ Builder useDefaultProcessorFeatures(Boolean useDefaultProcessorFeatures); /** *

              * The name of the DB parameter group to associate with this DB instance. *

              *

              * If you don't specify a value for DBParameterGroupName, then RDS uses the default * DBParameterGroup for the specified DB engine. *

              *

              * This setting doesn't apply to RDS Custom. *

              *

              * Constraints: *

              *
                *
              • *

                * If supplied, must match the name of an existing DB parameter group. *

                *
              • *
              • *

                * Must be 1 to 255 letters, numbers, or hyphens. *

                *
              • *
              • *

                * First character must be a letter. *

                *
              • *
              • *

                * Can't end with a hyphen or contain two consecutive hyphens. *

                *
              • *
              * * @param dbParameterGroupName * The name of the DB parameter group to associate with this DB instance.

              *

              * If you don't specify a value for DBParameterGroupName, then RDS uses the default * DBParameterGroup for the specified DB engine. *

              *

              * This setting doesn't apply to RDS Custom. *

              *

              * Constraints: *

              *
                *
              • *

                * If supplied, must match the name of an existing DB parameter group. *

                *
              • *
              • *

                * Must be 1 to 255 letters, numbers, or hyphens. *

                *
              • *
              • *

                * First character must be a letter. *

                *
              • *
              • *

                * Can't end with a hyphen or contain two consecutive hyphens. *

                *
              • * @return Returns a reference to this object so that method calls can be chained together. */ Builder dbParameterGroupName(String dbParameterGroupName); /** *

                * Specifies whether to enable deletion protection for the DB instance. The database can't be deleted when * deletion protection is enabled. By default, deletion protection isn't enabled. For more information, see Deleting a DB * Instance. *

                * * @param deletionProtection * Specifies whether to enable deletion protection for the DB instance. The database can't be deleted * when deletion protection is enabled. By default, deletion protection isn't 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); /** *

                * Specifies whether to enable a customer-owned IP address (CoIP) 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. *

                *

                * This setting doesn't apply to RDS Custom. *

                *

                * 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 enableCustomerOwnedIp * Specifies whether to enable a customer-owned IP address (CoIP) 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. *

                *

                * This setting doesn't apply to RDS Custom. *

                *

                * 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 enableCustomerOwnedIp(Boolean enableCustomerOwnedIp); /** *

                * 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. *

                *

                * This setting is required for RDS Custom. *

                * * @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. *

                *

                * This setting is required for RDS Custom. * @return Returns a reference to this object so that method calls can be chained together. */ Builder customIamInstanceProfile(String customIamInstanceProfile); /** *

                * Specifies where automated backups and manual snapshots are stored for the restored DB instance. *

                *

                * Possible values are outposts (Amazon Web Services Outposts) and region (Amazon Web * Services Region). The default is region. *

                *

                * For more information, see Working with Amazon RDS on * Amazon Web Services Outposts in the Amazon RDS User Guide. *

                * * @param backupTarget * Specifies where automated backups and manual snapshots are stored for the restored DB instance.

                *

                * Possible values are outposts (Amazon Web Services Outposts) and region * (Amazon Web Services Region). The default is region. *

                *

                * For more information, see Working with Amazon * RDS on Amazon Web Services Outposts in the Amazon RDS User Guide. * @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. *

                *

                * Valid Values: *

                *
                  *
                • *

                  * IPV4 *

                  *
                • *
                • *

                  * DUAL *

                  *
                • *
                *

                * 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. *

                * * @param networkType * The network type of the DB instance.

                *

                * Valid Values: *

                *
                  *
                • *

                  * IPV4 *

                  *
                • *
                • *

                  * DUAL *

                  *
                • *
                *

                * 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. * @return Returns a reference to this object so that method calls can be chained together. */ Builder networkType(String networkType); /** *

                * Specifies the storage throughput value for the DB instance. *

                *

                * This setting doesn't apply to RDS Custom or Amazon Aurora. *

                * * @param storageThroughput * Specifies the storage throughput value for the DB instance.

                *

                * This setting doesn't apply to RDS Custom or Amazon Aurora. * @return Returns a reference to this object so that method calls can be chained together. */ Builder storageThroughput(Integer storageThroughput); /** *

                * The identifier for the Multi-AZ DB cluster snapshot to restore from. *

                *

                * For more information on Multi-AZ DB clusters, see Multi-AZ DB * cluster deployments in the Amazon RDS User Guide. *

                *

                * Constraints: *

                *
                  *
                • *

                  * Must match the identifier of an existing Multi-AZ DB cluster snapshot. *

                  *
                • *
                • *

                  * Can't be specified when DBSnapshotIdentifier is specified. *

                  *
                • *
                • *

                  * Must be specified when DBSnapshotIdentifier isn't specified. *

                  *
                • *
                • *

                  * If you are restoring from a shared manual Multi-AZ DB cluster snapshot, the * DBClusterSnapshotIdentifier must be the ARN of the shared snapshot. *

                  *
                • *
                • *

                  * Can't be the identifier of an Aurora DB cluster snapshot. *

                  *
                • *
                * * @param dbClusterSnapshotIdentifier * The identifier for the Multi-AZ DB cluster snapshot to restore from.

                *

                * For more information on Multi-AZ DB clusters, see * Multi-AZ DB cluster deployments in the Amazon RDS User Guide. *

                *

                * Constraints: *

                *
                  *
                • *

                  * Must match the identifier of an existing Multi-AZ DB cluster snapshot. *

                  *
                • *
                • *

                  * Can't be specified when DBSnapshotIdentifier is specified. *

                  *
                • *
                • *

                  * Must be specified when DBSnapshotIdentifier isn't specified. *

                  *
                • *
                • *

                  * If you are restoring from a shared manual Multi-AZ DB cluster snapshot, the * DBClusterSnapshotIdentifier must be the ARN of the shared snapshot. *

                  *
                • *
                • *

                  * Can't be the identifier of an Aurora DB cluster snapshot. *

                  *
                • * @return Returns a reference to this object so that method calls can be chained together. */ Builder dbClusterSnapshotIdentifier(String dbClusterSnapshotIdentifier); /** *

                  * The amount of storage (in gibibytes) to allocate initially for the DB instance. Follow the allocation rules * specified in CreateDBInstance. *

                  * *

                  * Be sure to allocate enough storage for your new DB instance so that the restore operation can succeed. You * can also allocate additional storage for future growth. *

                  *
                  * * @param allocatedStorage * The amount of storage (in gibibytes) to allocate initially for the DB instance. Follow the allocation * rules specified in CreateDBInstance.

                  *

                  * Be sure to allocate enough storage for your new DB instance so that the restore operation can succeed. * You can also allocate additional storage for future growth. *

                  * @return Returns a reference to this object so that method calls can be chained together. */ Builder allocatedStorage(Integer allocatedStorage); /** *

                  * Specifies whether to enable a dedicated log volume (DLV) for the DB instance. *

                  * * @param dedicatedLogVolume * Specifies whether to enable a dedicated log volume (DLV) for the DB instance. * @return Returns a reference to this object so that method calls can be chained together. */ Builder dedicatedLogVolume(Boolean dedicatedLogVolume); /** *

                  * The CA certificate identifier to use for the DB instance's server certificate. *

                  *

                  * This setting doesn't apply to RDS Custom DB instances. *

                  *

                  * 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 CA certificate identifier to use for the DB instance's server certificate.

                  *

                  * This setting doesn't apply to RDS Custom DB instances. *

                  *

                  * 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 life cycle type for this DB instance. *

                  * *

                  * By default, this value is set to open-source-rds-extended-support, which enrolls your DB * instance into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended * Support by setting the value to open-source-rds-extended-support-disabled. In this case, RDS * automatically upgrades your restored DB instance to a higher engine version, if the major engine version is * past its end of standard support date. *

                  *
                  *

                  * You can use this setting to enroll your DB instance into Amazon RDS Extended Support. With RDS Extended * Support, you can run the selected major engine version on your DB instance past the end of standard support * for that engine version. For more information, see Using Amazon RDS Extended * Support in the Amazon RDS User Guide. *

                  *

                  * This setting applies only to RDS for MySQL and RDS for PostgreSQL. For Amazon Aurora DB instances, the life * cycle type is managed by the DB cluster. *

                  *

                  * Valid Values: open-source-rds-extended-support | open-source-rds-extended-support-disabled *

                  *

                  * Default: open-source-rds-extended-support *

                  * * @param engineLifecycleSupport * The life cycle type for this DB instance.

                  *

                  * By default, this value is set to open-source-rds-extended-support, which enrolls your DB * instance into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for * Extended Support by setting the value to open-source-rds-extended-support-disabled. In * this case, RDS automatically upgrades your restored DB instance to a higher engine version, if the * major engine version is past its end of standard support date. *

                  *
                  *

                  * You can use this setting to enroll your DB instance into Amazon RDS Extended Support. With RDS * Extended Support, you can run the selected major engine version on your DB instance past the end of * standard support for that engine version. For more information, see Using Amazon RDS * Extended Support in the Amazon RDS User Guide. *

                  *

                  * This setting applies only to RDS for MySQL and RDS for PostgreSQL. For Amazon Aurora DB instances, the * life cycle type is managed by the DB cluster. *

                  *

                  * Valid Values: * open-source-rds-extended-support | open-source-rds-extended-support-disabled *

                  *

                  * Default: open-source-rds-extended-support * @return Returns a reference to this object so that method calls can be chained together. */ Builder engineLifecycleSupport(String engineLifecycleSupport); @Override Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration); @Override Builder overrideConfiguration(Consumer builderConsumer); } static final class BuilderImpl extends RdsRequest.BuilderImpl implements Builder { private String dbInstanceIdentifier; private String dbSnapshotIdentifier; private String dbInstanceClass; private Integer port; private String availabilityZone; private String dbSubnetGroupName; private Boolean multiAZ; private Boolean publiclyAccessible; private Boolean autoMinorVersionUpgrade; private String licenseModel; private String dbName; private String engine; private Integer iops; private String optionGroupName; private List tags = DefaultSdkAutoConstructList.getInstance(); private String storageType; private String tdeCredentialArn; private String tdeCredentialPassword; private List vpcSecurityGroupIds = DefaultSdkAutoConstructList.getInstance(); private String domain; private String domainFqdn; private String domainOu; private String domainAuthSecretArn; private List domainDnsIps = DefaultSdkAutoConstructList.getInstance(); private Boolean copyTagsToSnapshot; private String domainIAMRoleName; private Boolean enableIAMDatabaseAuthentication; private List enableCloudwatchLogsExports = DefaultSdkAutoConstructList.getInstance(); private List processorFeatures = DefaultSdkAutoConstructList.getInstance(); private Boolean useDefaultProcessorFeatures; private String dbParameterGroupName; private Boolean deletionProtection; private Boolean enableCustomerOwnedIp; private String customIamInstanceProfile; private String backupTarget; private String networkType; private Integer storageThroughput; private String dbClusterSnapshotIdentifier; private Integer allocatedStorage; private Boolean dedicatedLogVolume; private String caCertificateIdentifier; private String engineLifecycleSupport; private BuilderImpl() { } private BuilderImpl(RestoreDbInstanceFromDbSnapshotRequest model) { super(model); dbInstanceIdentifier(model.dbInstanceIdentifier); dbSnapshotIdentifier(model.dbSnapshotIdentifier); dbInstanceClass(model.dbInstanceClass); port(model.port); availabilityZone(model.availabilityZone); dbSubnetGroupName(model.dbSubnetGroupName); multiAZ(model.multiAZ); publiclyAccessible(model.publiclyAccessible); autoMinorVersionUpgrade(model.autoMinorVersionUpgrade); licenseModel(model.licenseModel); dbName(model.dbName); engine(model.engine); iops(model.iops); optionGroupName(model.optionGroupName); tags(model.tags); storageType(model.storageType); tdeCredentialArn(model.tdeCredentialArn); tdeCredentialPassword(model.tdeCredentialPassword); vpcSecurityGroupIds(model.vpcSecurityGroupIds); domain(model.domain); domainFqdn(model.domainFqdn); domainOu(model.domainOu); domainAuthSecretArn(model.domainAuthSecretArn); domainDnsIps(model.domainDnsIps); copyTagsToSnapshot(model.copyTagsToSnapshot); domainIAMRoleName(model.domainIAMRoleName); enableIAMDatabaseAuthentication(model.enableIAMDatabaseAuthentication); enableCloudwatchLogsExports(model.enableCloudwatchLogsExports); processorFeatures(model.processorFeatures); useDefaultProcessorFeatures(model.useDefaultProcessorFeatures); dbParameterGroupName(model.dbParameterGroupName); deletionProtection(model.deletionProtection); enableCustomerOwnedIp(model.enableCustomerOwnedIp); customIamInstanceProfile(model.customIamInstanceProfile); backupTarget(model.backupTarget); networkType(model.networkType); storageThroughput(model.storageThroughput); dbClusterSnapshotIdentifier(model.dbClusterSnapshotIdentifier); allocatedStorage(model.allocatedStorage); dedicatedLogVolume(model.dedicatedLogVolume); caCertificateIdentifier(model.caCertificateIdentifier); 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 getDbSnapshotIdentifier() { return dbSnapshotIdentifier; } public final void setDbSnapshotIdentifier(String dbSnapshotIdentifier) { this.dbSnapshotIdentifier = dbSnapshotIdentifier; } @Override public final Builder dbSnapshotIdentifier(String dbSnapshotIdentifier) { this.dbSnapshotIdentifier = dbSnapshotIdentifier; 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 Integer getPort() { return port; } public final void setPort(Integer port) { this.port = port; } @Override public final Builder port(Integer port) { this.port = port; return this; } public final String getAvailabilityZone() { return availabilityZone; } public final void setAvailabilityZone(String availabilityZone) { this.availabilityZone = availabilityZone; } @Override public final Builder availabilityZone(String availabilityZone) { this.availabilityZone = availabilityZone; return this; } public final String getDbSubnetGroupName() { return dbSubnetGroupName; } public final void setDbSubnetGroupName(String dbSubnetGroupName) { this.dbSubnetGroupName = dbSubnetGroupName; } @Override public final Builder dbSubnetGroupName(String dbSubnetGroupName) { this.dbSubnetGroupName = dbSubnetGroupName; 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 Boolean getPubliclyAccessible() { return publiclyAccessible; } public final void setPubliclyAccessible(Boolean publiclyAccessible) { this.publiclyAccessible = publiclyAccessible; } @Override public final Builder publiclyAccessible(Boolean publiclyAccessible) { this.publiclyAccessible = publiclyAccessible; return this; } public final 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 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 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 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 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 String getOptionGroupName() { return optionGroupName; } public final void setOptionGroupName(String optionGroupName) { this.optionGroupName = optionGroupName; } @Override public final Builder optionGroupName(String optionGroupName) { this.optionGroupName = optionGroupName; return this; } public final List getTags() { List result = TagListCopier.copyToBuilder(this.tags); if (result instanceof SdkAutoConstructList) { return null; } return result; } public final void setTags(Collection tags) { this.tags = TagListCopier.copyFromBuilder(tags); } @Override public final Builder tags(Collection tags) { this.tags = TagListCopier.copy(tags); return this; } @Override @SafeVarargs public final Builder tags(Tag... tags) { tags(Arrays.asList(tags)); return this; } @Override @SafeVarargs public final Builder tags(Consumer... tags) { tags(Stream.of(tags).map(c -> Tag.builder().applyMutation(c).build()).collect(Collectors.toList())); return this; } public final String getStorageType() { return storageType; } public final void setStorageType(String storageType) { this.storageType = storageType; } @Override public final Builder storageType(String storageType) { this.storageType = storageType; return this; } public final String getTdeCredentialArn() { return tdeCredentialArn; } public final void setTdeCredentialArn(String tdeCredentialArn) { this.tdeCredentialArn = tdeCredentialArn; } @Override public final Builder tdeCredentialArn(String tdeCredentialArn) { this.tdeCredentialArn = tdeCredentialArn; return this; } public final String getTdeCredentialPassword() { return tdeCredentialPassword; } public final void setTdeCredentialPassword(String tdeCredentialPassword) { this.tdeCredentialPassword = tdeCredentialPassword; } @Override public final Builder tdeCredentialPassword(String tdeCredentialPassword) { this.tdeCredentialPassword = tdeCredentialPassword; return this; } public final Collection getVpcSecurityGroupIds() { if (vpcSecurityGroupIds instanceof SdkAutoConstructList) { return null; } return vpcSecurityGroupIds; } public final void setVpcSecurityGroupIds(Collection vpcSecurityGroupIds) { this.vpcSecurityGroupIds = VpcSecurityGroupIdListCopier.copy(vpcSecurityGroupIds); } @Override public final Builder vpcSecurityGroupIds(Collection vpcSecurityGroupIds) { this.vpcSecurityGroupIds = VpcSecurityGroupIdListCopier.copy(vpcSecurityGroupIds); return this; } @Override @SafeVarargs public final Builder vpcSecurityGroupIds(String... vpcSecurityGroupIds) { vpcSecurityGroupIds(Arrays.asList(vpcSecurityGroupIds)); return this; } public final String getDomain() { return domain; } public final void setDomain(String domain) { this.domain = domain; } @Override public final Builder domain(String domain) { this.domain = domain; return this; } public final String getDomainFqdn() { return domainFqdn; } public final void setDomainFqdn(String domainFqdn) { this.domainFqdn = domainFqdn; } @Override public final Builder domainFqdn(String domainFqdn) { this.domainFqdn = domainFqdn; return this; } public final String getDomainOu() { return domainOu; } public final void setDomainOu(String domainOu) { this.domainOu = domainOu; } @Override public final Builder domainOu(String domainOu) { this.domainOu = domainOu; return this; } public final String getDomainAuthSecretArn() { return domainAuthSecretArn; } public final void setDomainAuthSecretArn(String domainAuthSecretArn) { this.domainAuthSecretArn = domainAuthSecretArn; } @Override public final Builder domainAuthSecretArn(String domainAuthSecretArn) { this.domainAuthSecretArn = domainAuthSecretArn; return this; } public final Collection getDomainDnsIps() { if (domainDnsIps instanceof SdkAutoConstructList) { return null; } return domainDnsIps; } public final void setDomainDnsIps(Collection domainDnsIps) { this.domainDnsIps = StringListCopier.copy(domainDnsIps); } @Override public final Builder domainDnsIps(Collection domainDnsIps) { this.domainDnsIps = StringListCopier.copy(domainDnsIps); return this; } @Override @SafeVarargs public final Builder domainDnsIps(String... domainDnsIps) { domainDnsIps(Arrays.asList(domainDnsIps)); return this; } public final Boolean getCopyTagsToSnapshot() { return copyTagsToSnapshot; } public final void setCopyTagsToSnapshot(Boolean copyTagsToSnapshot) { this.copyTagsToSnapshot = copyTagsToSnapshot; } @Override public final Builder copyTagsToSnapshot(Boolean copyTagsToSnapshot) { this.copyTagsToSnapshot = copyTagsToSnapshot; return this; } public final String getDomainIAMRoleName() { return domainIAMRoleName; } public final void setDomainIAMRoleName(String domainIAMRoleName) { this.domainIAMRoleName = domainIAMRoleName; } @Override public final Builder domainIAMRoleName(String domainIAMRoleName) { this.domainIAMRoleName = domainIAMRoleName; return this; } public final Boolean getEnableIAMDatabaseAuthentication() { return enableIAMDatabaseAuthentication; } public final void setEnableIAMDatabaseAuthentication(Boolean enableIAMDatabaseAuthentication) { this.enableIAMDatabaseAuthentication = enableIAMDatabaseAuthentication; } @Override public final Builder enableIAMDatabaseAuthentication(Boolean enableIAMDatabaseAuthentication) { this.enableIAMDatabaseAuthentication = enableIAMDatabaseAuthentication; return this; } public final Collection getEnableCloudwatchLogsExports() { if (enableCloudwatchLogsExports instanceof SdkAutoConstructList) { return null; } return enableCloudwatchLogsExports; } public final void setEnableCloudwatchLogsExports(Collection enableCloudwatchLogsExports) { this.enableCloudwatchLogsExports = LogTypeListCopier.copy(enableCloudwatchLogsExports); } @Override public final Builder enableCloudwatchLogsExports(Collection enableCloudwatchLogsExports) { this.enableCloudwatchLogsExports = LogTypeListCopier.copy(enableCloudwatchLogsExports); return this; } @Override @SafeVarargs public final Builder enableCloudwatchLogsExports(String... enableCloudwatchLogsExports) { enableCloudwatchLogsExports(Arrays.asList(enableCloudwatchLogsExports)); return this; } public final List getProcessorFeatures() { List result = ProcessorFeatureListCopier.copyToBuilder(this.processorFeatures); if (result instanceof SdkAutoConstructList) { return null; } return result; } public final void setProcessorFeatures(Collection processorFeatures) { this.processorFeatures = ProcessorFeatureListCopier.copyFromBuilder(processorFeatures); } @Override public final Builder processorFeatures(Collection processorFeatures) { this.processorFeatures = ProcessorFeatureListCopier.copy(processorFeatures); return this; } @Override @SafeVarargs public final Builder processorFeatures(ProcessorFeature... processorFeatures) { processorFeatures(Arrays.asList(processorFeatures)); return this; } @Override @SafeVarargs public final Builder processorFeatures(Consumer... processorFeatures) { processorFeatures(Stream.of(processorFeatures).map(c -> ProcessorFeature.builder().applyMutation(c).build()) .collect(Collectors.toList())); return this; } public final Boolean getUseDefaultProcessorFeatures() { return useDefaultProcessorFeatures; } public final void setUseDefaultProcessorFeatures(Boolean useDefaultProcessorFeatures) { this.useDefaultProcessorFeatures = useDefaultProcessorFeatures; } @Override public final Builder useDefaultProcessorFeatures(Boolean useDefaultProcessorFeatures) { this.useDefaultProcessorFeatures = useDefaultProcessorFeatures; return this; } public final String getDbParameterGroupName() { return dbParameterGroupName; } public final void setDbParameterGroupName(String dbParameterGroupName) { this.dbParameterGroupName = dbParameterGroupName; } @Override public final Builder dbParameterGroupName(String dbParameterGroupName) { this.dbParameterGroupName = dbParameterGroupName; return this; } public final Boolean getDeletionProtection() { return deletionProtection; } public final void setDeletionProtection(Boolean deletionProtection) { this.deletionProtection = deletionProtection; } @Override public final Builder deletionProtection(Boolean deletionProtection) { this.deletionProtection = deletionProtection; return this; } public final Boolean getEnableCustomerOwnedIp() { return enableCustomerOwnedIp; } public final void setEnableCustomerOwnedIp(Boolean enableCustomerOwnedIp) { this.enableCustomerOwnedIp = enableCustomerOwnedIp; } @Override public final Builder enableCustomerOwnedIp(Boolean enableCustomerOwnedIp) { this.enableCustomerOwnedIp = enableCustomerOwnedIp; return this; } public final String getCustomIamInstanceProfile() { return customIamInstanceProfile; } public final void setCustomIamInstanceProfile(String customIamInstanceProfile) { this.customIamInstanceProfile = customIamInstanceProfile; } @Override public final Builder customIamInstanceProfile(String customIamInstanceProfile) { this.customIamInstanceProfile = customIamInstanceProfile; return this; } public final String getBackupTarget() { return backupTarget; } public final void setBackupTarget(String backupTarget) { this.backupTarget = backupTarget; } @Override public final Builder backupTarget(String backupTarget) { this.backupTarget = backupTarget; return this; } public final String getNetworkType() { return networkType; } public final void setNetworkType(String networkType) { this.networkType = networkType; } @Override public final Builder networkType(String networkType) { this.networkType = networkType; return this; } public final Integer getStorageThroughput() { return storageThroughput; } public final void setStorageThroughput(Integer storageThroughput) { this.storageThroughput = storageThroughput; } @Override public final Builder storageThroughput(Integer storageThroughput) { this.storageThroughput = storageThroughput; return this; } public final String getDbClusterSnapshotIdentifier() { return dbClusterSnapshotIdentifier; } public final void setDbClusterSnapshotIdentifier(String dbClusterSnapshotIdentifier) { this.dbClusterSnapshotIdentifier = dbClusterSnapshotIdentifier; } @Override public final Builder dbClusterSnapshotIdentifier(String dbClusterSnapshotIdentifier) { this.dbClusterSnapshotIdentifier = dbClusterSnapshotIdentifier; 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 Boolean getDedicatedLogVolume() { return dedicatedLogVolume; } public final void setDedicatedLogVolume(Boolean dedicatedLogVolume) { this.dedicatedLogVolume = dedicatedLogVolume; } @Override public final Builder dedicatedLogVolume(Boolean dedicatedLogVolume) { this.dedicatedLogVolume = dedicatedLogVolume; return this; } public final String getCaCertificateIdentifier() { return caCertificateIdentifier; } public final void setCaCertificateIdentifier(String caCertificateIdentifier) { this.caCertificateIdentifier = caCertificateIdentifier; } @Override public final Builder caCertificateIdentifier(String caCertificateIdentifier) { this.caCertificateIdentifier = caCertificateIdentifier; return this; } public final String getEngineLifecycleSupport() { return engineLifecycleSupport; } public final void setEngineLifecycleSupport(String engineLifecycleSupport) { this.engineLifecycleSupport = engineLifecycleSupport; } @Override public final Builder engineLifecycleSupport(String engineLifecycleSupport) { this.engineLifecycleSupport = engineLifecycleSupport; return this; } @Override public Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration) { super.overrideConfiguration(overrideConfiguration); return this; } @Override public Builder overrideConfiguration(Consumer builderConsumer) { super.overrideConfiguration(builderConsumer); return this; } @Override public RestoreDbInstanceFromDbSnapshotRequest build() { return new RestoreDbInstanceFromDbSnapshotRequest(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy