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

software.amazon.awssdk.services.neptune.model.CreateDbInstanceRequest Maven / Gradle / Ivy

Go to download

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

There is a newer version: 2.29.39
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.neptune.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 CreateDbInstanceRequest extends NeptuneRequest implements
        ToCopyableBuilder {
    private static final SdkField DB_NAME_FIELD = SdkField. builder(MarshallingType.STRING).memberName("DBName")
            .getter(getter(CreateDbInstanceRequest::dbName)).setter(setter(Builder::dbName))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBName").build()).build();

    private static final SdkField DB_INSTANCE_IDENTIFIER_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("DBInstanceIdentifier").getter(getter(CreateDbInstanceRequest::dbInstanceIdentifier))
            .setter(setter(Builder::dbInstanceIdentifier))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBInstanceIdentifier").build())
            .build();

    private static final SdkField ALLOCATED_STORAGE_FIELD = SdkField. builder(MarshallingType.INTEGER)
            .memberName("AllocatedStorage").getter(getter(CreateDbInstanceRequest::allocatedStorage))
            .setter(setter(Builder::allocatedStorage))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AllocatedStorage").build()).build();

    private static final SdkField DB_INSTANCE_CLASS_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("DBInstanceClass").getter(getter(CreateDbInstanceRequest::dbInstanceClass))
            .setter(setter(Builder::dbInstanceClass))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBInstanceClass").build()).build();

    private static final SdkField ENGINE_FIELD = SdkField. builder(MarshallingType.STRING).memberName("Engine")
            .getter(getter(CreateDbInstanceRequest::engine)).setter(setter(Builder::engine))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Engine").build()).build();

    private static final SdkField MASTER_USERNAME_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("MasterUsername").getter(getter(CreateDbInstanceRequest::masterUsername))
            .setter(setter(Builder::masterUsername))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("MasterUsername").build()).build();

    private static final SdkField MASTER_USER_PASSWORD_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("MasterUserPassword").getter(getter(CreateDbInstanceRequest::masterUserPassword))
            .setter(setter(Builder::masterUserPassword))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("MasterUserPassword").build())
            .build();

    private static final SdkField> DB_SECURITY_GROUPS_FIELD = SdkField
            .> builder(MarshallingType.LIST)
            .memberName("DBSecurityGroups")
            .getter(getter(CreateDbInstanceRequest::dbSecurityGroups))
            .setter(setter(Builder::dbSecurityGroups))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBSecurityGroups").build(),
                    ListTrait
                            .builder()
                            .memberLocationName("DBSecurityGroupName")
                            .memberFieldInfo(
                                    SdkField. builder(MarshallingType.STRING)
                                            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
                                                    .locationName("DBSecurityGroupName").build()).build()).build()).build();

    private static final SdkField> VPC_SECURITY_GROUP_IDS_FIELD = SdkField
            .> builder(MarshallingType.LIST)
            .memberName("VpcSecurityGroupIds")
            .getter(getter(CreateDbInstanceRequest::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 AVAILABILITY_ZONE_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("AvailabilityZone").getter(getter(CreateDbInstanceRequest::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(CreateDbInstanceRequest::dbSubnetGroupName))
            .setter(setter(Builder::dbSubnetGroupName))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBSubnetGroupName").build()).build();

    private static final SdkField PREFERRED_MAINTENANCE_WINDOW_FIELD = SdkField
            . builder(MarshallingType.STRING)
            .memberName("PreferredMaintenanceWindow")
            .getter(getter(CreateDbInstanceRequest::preferredMaintenanceWindow))
            .setter(setter(Builder::preferredMaintenanceWindow))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("PreferredMaintenanceWindow").build())
            .build();

    private static final SdkField DB_PARAMETER_GROUP_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("DBParameterGroupName").getter(getter(CreateDbInstanceRequest::dbParameterGroupName))
            .setter(setter(Builder::dbParameterGroupName))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBParameterGroupName").build())
            .build();

    private static final SdkField BACKUP_RETENTION_PERIOD_FIELD = SdkField. builder(MarshallingType.INTEGER)
            .memberName("BackupRetentionPeriod").getter(getter(CreateDbInstanceRequest::backupRetentionPeriod))
            .setter(setter(Builder::backupRetentionPeriod))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("BackupRetentionPeriod").build())
            .build();

    private static final SdkField PREFERRED_BACKUP_WINDOW_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("PreferredBackupWindow").getter(getter(CreateDbInstanceRequest::preferredBackupWindow))
            .setter(setter(Builder::preferredBackupWindow))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("PreferredBackupWindow").build())
            .build();

    private static final SdkField PORT_FIELD = SdkField. builder(MarshallingType.INTEGER).memberName("Port")
            .getter(getter(CreateDbInstanceRequest::port)).setter(setter(Builder::port))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Port").build()).build();

    private static final SdkField MULTI_AZ_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
            .memberName("MultiAZ").getter(getter(CreateDbInstanceRequest::multiAZ)).setter(setter(Builder::multiAZ))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("MultiAZ").build()).build();

    private static final SdkField ENGINE_VERSION_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("EngineVersion").getter(getter(CreateDbInstanceRequest::engineVersion))
            .setter(setter(Builder::engineVersion))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EngineVersion").build()).build();

    private static final SdkField AUTO_MINOR_VERSION_UPGRADE_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
            .memberName("AutoMinorVersionUpgrade").getter(getter(CreateDbInstanceRequest::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(CreateDbInstanceRequest::licenseModel))
            .setter(setter(Builder::licenseModel))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("LicenseModel").build()).build();

    private static final SdkField IOPS_FIELD = SdkField. builder(MarshallingType.INTEGER).memberName("Iops")
            .getter(getter(CreateDbInstanceRequest::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(CreateDbInstanceRequest::optionGroupName))
            .setter(setter(Builder::optionGroupName))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("OptionGroupName").build()).build();

    private static final SdkField CHARACTER_SET_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("CharacterSetName").getter(getter(CreateDbInstanceRequest::characterSetName))
            .setter(setter(Builder::characterSetName))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CharacterSetName").build()).build();

    private static final SdkField PUBLICLY_ACCESSIBLE_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
            .memberName("PubliclyAccessible").getter(getter(CreateDbInstanceRequest::publiclyAccessible))
            .setter(setter(Builder::publiclyAccessible))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("PubliclyAccessible").build())
            .build();

    private static final SdkField> TAGS_FIELD = SdkField
            .> builder(MarshallingType.LIST)
            .memberName("Tags")
            .getter(getter(CreateDbInstanceRequest::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 DB_CLUSTER_IDENTIFIER_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("DBClusterIdentifier").getter(getter(CreateDbInstanceRequest::dbClusterIdentifier))
            .setter(setter(Builder::dbClusterIdentifier))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBClusterIdentifier").build())
            .build();

    private static final SdkField STORAGE_TYPE_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("StorageType").getter(getter(CreateDbInstanceRequest::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(CreateDbInstanceRequest::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(CreateDbInstanceRequest::tdeCredentialPassword))
            .setter(setter(Builder::tdeCredentialPassword))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("TdeCredentialPassword").build())
            .build();

    private static final SdkField STORAGE_ENCRYPTED_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
            .memberName("StorageEncrypted").getter(getter(CreateDbInstanceRequest::storageEncrypted))
            .setter(setter(Builder::storageEncrypted))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("StorageEncrypted").build()).build();

    private static final SdkField KMS_KEY_ID_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("KmsKeyId").getter(getter(CreateDbInstanceRequest::kmsKeyId)).setter(setter(Builder::kmsKeyId))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("KmsKeyId").build()).build();

    private static final SdkField DOMAIN_FIELD = SdkField. builder(MarshallingType.STRING).memberName("Domain")
            .getter(getter(CreateDbInstanceRequest::domain)).setter(setter(Builder::domain))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Domain").build()).build();

    private static final SdkField COPY_TAGS_TO_SNAPSHOT_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
            .memberName("CopyTagsToSnapshot").getter(getter(CreateDbInstanceRequest::copyTagsToSnapshot))
            .setter(setter(Builder::copyTagsToSnapshot))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CopyTagsToSnapshot").build())
            .build();

    private static final SdkField MONITORING_INTERVAL_FIELD = SdkField. builder(MarshallingType.INTEGER)
            .memberName("MonitoringInterval").getter(getter(CreateDbInstanceRequest::monitoringInterval))
            .setter(setter(Builder::monitoringInterval))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("MonitoringInterval").build())
            .build();

    private static final SdkField MONITORING_ROLE_ARN_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("MonitoringRoleArn").getter(getter(CreateDbInstanceRequest::monitoringRoleArn))
            .setter(setter(Builder::monitoringRoleArn))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("MonitoringRoleArn").build()).build();

    private static final SdkField DOMAIN_IAM_ROLE_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("DomainIAMRoleName").getter(getter(CreateDbInstanceRequest::domainIAMRoleName))
            .setter(setter(Builder::domainIAMRoleName))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DomainIAMRoleName").build()).build();

    private static final SdkField PROMOTION_TIER_FIELD = SdkField. builder(MarshallingType.INTEGER)
            .memberName("PromotionTier").getter(getter(CreateDbInstanceRequest::promotionTier))
            .setter(setter(Builder::promotionTier))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("PromotionTier").build()).build();

    private static final SdkField TIMEZONE_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("Timezone").getter(getter(CreateDbInstanceRequest::timezone)).setter(setter(Builder::timezone))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Timezone").build()).build();

    private static final SdkField ENABLE_IAM_DATABASE_AUTHENTICATION_FIELD = SdkField
            . builder(MarshallingType.BOOLEAN)
            .memberName("EnableIAMDatabaseAuthentication")
            .getter(getter(CreateDbInstanceRequest::enableIAMDatabaseAuthentication))
            .setter(setter(Builder::enableIAMDatabaseAuthentication))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EnableIAMDatabaseAuthentication")
                    .build()).build();

    private static final SdkField ENABLE_PERFORMANCE_INSIGHTS_FIELD = SdkField
            . builder(MarshallingType.BOOLEAN).memberName("EnablePerformanceInsights")
            .getter(getter(CreateDbInstanceRequest::enablePerformanceInsights))
            .setter(setter(Builder::enablePerformanceInsights))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EnablePerformanceInsights").build())
            .build();

    private static final SdkField PERFORMANCE_INSIGHTS_KMS_KEY_ID_FIELD = SdkField
            . builder(MarshallingType.STRING)
            .memberName("PerformanceInsightsKMSKeyId")
            .getter(getter(CreateDbInstanceRequest::performanceInsightsKMSKeyId))
            .setter(setter(Builder::performanceInsightsKMSKeyId))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("PerformanceInsightsKMSKeyId")
                    .build()).build();

    private static final SdkField> ENABLE_CLOUDWATCH_LOGS_EXPORTS_FIELD = SdkField
            .> builder(MarshallingType.LIST)
            .memberName("EnableCloudwatchLogsExports")
            .getter(getter(CreateDbInstanceRequest::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 DELETION_PROTECTION_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
            .memberName("DeletionProtection").getter(getter(CreateDbInstanceRequest::deletionProtection))
            .setter(setter(Builder::deletionProtection))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DeletionProtection").build())
            .build();

    private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(DB_NAME_FIELD,
            DB_INSTANCE_IDENTIFIER_FIELD, ALLOCATED_STORAGE_FIELD, DB_INSTANCE_CLASS_FIELD, ENGINE_FIELD, MASTER_USERNAME_FIELD,
            MASTER_USER_PASSWORD_FIELD, DB_SECURITY_GROUPS_FIELD, VPC_SECURITY_GROUP_IDS_FIELD, AVAILABILITY_ZONE_FIELD,
            DB_SUBNET_GROUP_NAME_FIELD, PREFERRED_MAINTENANCE_WINDOW_FIELD, DB_PARAMETER_GROUP_NAME_FIELD,
            BACKUP_RETENTION_PERIOD_FIELD, PREFERRED_BACKUP_WINDOW_FIELD, PORT_FIELD, MULTI_AZ_FIELD, ENGINE_VERSION_FIELD,
            AUTO_MINOR_VERSION_UPGRADE_FIELD, LICENSE_MODEL_FIELD, IOPS_FIELD, OPTION_GROUP_NAME_FIELD, CHARACTER_SET_NAME_FIELD,
            PUBLICLY_ACCESSIBLE_FIELD, TAGS_FIELD, DB_CLUSTER_IDENTIFIER_FIELD, STORAGE_TYPE_FIELD, TDE_CREDENTIAL_ARN_FIELD,
            TDE_CREDENTIAL_PASSWORD_FIELD, STORAGE_ENCRYPTED_FIELD, KMS_KEY_ID_FIELD, DOMAIN_FIELD, COPY_TAGS_TO_SNAPSHOT_FIELD,
            MONITORING_INTERVAL_FIELD, MONITORING_ROLE_ARN_FIELD, DOMAIN_IAM_ROLE_NAME_FIELD, PROMOTION_TIER_FIELD,
            TIMEZONE_FIELD, ENABLE_IAM_DATABASE_AUTHENTICATION_FIELD, ENABLE_PERFORMANCE_INSIGHTS_FIELD,
            PERFORMANCE_INSIGHTS_KMS_KEY_ID_FIELD, ENABLE_CLOUDWATCH_LOGS_EXPORTS_FIELD, DELETION_PROTECTION_FIELD));

    private final String dbName;

    private final String dbInstanceIdentifier;

    private final Integer allocatedStorage;

    private final String dbInstanceClass;

    private final String engine;

    private final String masterUsername;

    private final String masterUserPassword;

    private final List dbSecurityGroups;

    private final List vpcSecurityGroupIds;

    private final String availabilityZone;

    private final String dbSubnetGroupName;

    private final String preferredMaintenanceWindow;

    private final String dbParameterGroupName;

    private final Integer backupRetentionPeriod;

    private final String preferredBackupWindow;

    private final Integer port;

    private final Boolean multiAZ;

    private final String engineVersion;

    private final Boolean autoMinorVersionUpgrade;

    private final String licenseModel;

    private final Integer iops;

    private final String optionGroupName;

    private final String characterSetName;

    private final Boolean publiclyAccessible;

    private final List tags;

    private final String dbClusterIdentifier;

    private final String storageType;

    private final String tdeCredentialArn;

    private final String tdeCredentialPassword;

    private final Boolean storageEncrypted;

    private final String kmsKeyId;

    private final String domain;

    private final Boolean copyTagsToSnapshot;

    private final Integer monitoringInterval;

    private final String monitoringRoleArn;

    private final String domainIAMRoleName;

    private final Integer promotionTier;

    private final String timezone;

    private final Boolean enableIAMDatabaseAuthentication;

    private final Boolean enablePerformanceInsights;

    private final String performanceInsightsKMSKeyId;

    private final List enableCloudwatchLogsExports;

    private final Boolean deletionProtection;

    private CreateDbInstanceRequest(BuilderImpl builder) {
        super(builder);
        this.dbName = builder.dbName;
        this.dbInstanceIdentifier = builder.dbInstanceIdentifier;
        this.allocatedStorage = builder.allocatedStorage;
        this.dbInstanceClass = builder.dbInstanceClass;
        this.engine = builder.engine;
        this.masterUsername = builder.masterUsername;
        this.masterUserPassword = builder.masterUserPassword;
        this.dbSecurityGroups = builder.dbSecurityGroups;
        this.vpcSecurityGroupIds = builder.vpcSecurityGroupIds;
        this.availabilityZone = builder.availabilityZone;
        this.dbSubnetGroupName = builder.dbSubnetGroupName;
        this.preferredMaintenanceWindow = builder.preferredMaintenanceWindow;
        this.dbParameterGroupName = builder.dbParameterGroupName;
        this.backupRetentionPeriod = builder.backupRetentionPeriod;
        this.preferredBackupWindow = builder.preferredBackupWindow;
        this.port = builder.port;
        this.multiAZ = builder.multiAZ;
        this.engineVersion = builder.engineVersion;
        this.autoMinorVersionUpgrade = builder.autoMinorVersionUpgrade;
        this.licenseModel = builder.licenseModel;
        this.iops = builder.iops;
        this.optionGroupName = builder.optionGroupName;
        this.characterSetName = builder.characterSetName;
        this.publiclyAccessible = builder.publiclyAccessible;
        this.tags = builder.tags;
        this.dbClusterIdentifier = builder.dbClusterIdentifier;
        this.storageType = builder.storageType;
        this.tdeCredentialArn = builder.tdeCredentialArn;
        this.tdeCredentialPassword = builder.tdeCredentialPassword;
        this.storageEncrypted = builder.storageEncrypted;
        this.kmsKeyId = builder.kmsKeyId;
        this.domain = builder.domain;
        this.copyTagsToSnapshot = builder.copyTagsToSnapshot;
        this.monitoringInterval = builder.monitoringInterval;
        this.monitoringRoleArn = builder.monitoringRoleArn;
        this.domainIAMRoleName = builder.domainIAMRoleName;
        this.promotionTier = builder.promotionTier;
        this.timezone = builder.timezone;
        this.enableIAMDatabaseAuthentication = builder.enableIAMDatabaseAuthentication;
        this.enablePerformanceInsights = builder.enablePerformanceInsights;
        this.performanceInsightsKMSKeyId = builder.performanceInsightsKMSKeyId;
        this.enableCloudwatchLogsExports = builder.enableCloudwatchLogsExports;
        this.deletionProtection = builder.deletionProtection;
    }

    /**
     * 

* Not supported. *

* * @return Not supported. */ public final String dbName() { return dbName; } /** *

* The DB instance identifier. This parameter is stored as a lowercase string. *

*

* Constraints: *

*
    *
  • *

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

    *
  • *
  • *

    * First character must be a letter. *

    *
  • *
  • *

    * Cannot end with a hyphen or contain two consecutive hyphens. *

    *
  • *
*

* Example: mydbinstance *

* * @return The DB instance identifier. This parameter is stored as a lowercase string.

*

* Constraints: *

*
    *
  • *

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

    *
  • *
  • *

    * First character must be a letter. *

    *
  • *
  • *

    * Cannot end with a hyphen or contain two consecutive hyphens. *

    *
  • *
*

* Example: mydbinstance */ public final String dbInstanceIdentifier() { return dbInstanceIdentifier; } /** *

* Not supported by Neptune. *

* * @return Not supported by Neptune. */ public final Integer allocatedStorage() { return allocatedStorage; } /** *

* The compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance * classes are available in all Amazon Regions. *

* * @return The compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB * instance classes are available in all Amazon Regions. */ public final String dbInstanceClass() { return dbInstanceClass; } /** *

* The name of the database engine to be used for this instance. *

*

* Valid Values: neptune *

* * @return The name of the database engine to be used for this instance.

*

* Valid Values: neptune */ public final String engine() { return engine; } /** *

* Not supported by Neptune. *

* * @return Not supported by Neptune. */ public final String masterUsername() { return masterUsername; } /** *

* Not supported by Neptune. *

* * @return Not supported by Neptune. */ public final String masterUserPassword() { return masterUserPassword; } /** * For responses, this returns true if the service returned a value for the DBSecurityGroups property. This DOES NOT * check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property). * This is useful because the SDK will never return a null collection or map, but you may need to differentiate * between the service returning nothing (or null) and the service returning an empty collection or map. For * requests, this returns true if a value for the property was specified in the request builder, and false if a * value was not specified. */ public final boolean hasDbSecurityGroups() { return dbSecurityGroups != null && !(dbSecurityGroups instanceof SdkAutoConstructList); } /** *

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

*

* Default: The default DB security group for the database engine. *

*

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

*

* This method will never return null. If you would like to know whether the service returned this field (so that * you can differentiate between null and empty), you can use the {@link #hasDbSecurityGroups} method. *

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

*

* Default: The default DB security group for the database engine. */ public final List dbSecurityGroups() { return dbSecurityGroups; } /** * 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. *

*

* Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more * information, see CreateDBCluster. *

*

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

*

* Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more * information, see CreateDBCluster. *

*

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

* The EC2 Availability Zone that the DB instance is created in *

*

* Default: A random, system-chosen Availability Zone in the endpoint's Amazon Region. *

*

* Example: us-east-1d *

*

* Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ parameter is set to * true. The specified Availability Zone must be in the same Amazon Region as the current endpoint. *

* * @return The EC2 Availability Zone that the DB instance is created in

*

* Default: A random, system-chosen Availability Zone in the endpoint's Amazon Region. *

*

* Example: us-east-1d *

*

* Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ parameter is set to * true. The specified Availability Zone must be in the same Amazon Region as the current * endpoint. */ public final String availabilityZone() { return availabilityZone; } /** *

* A DB subnet group to associate with this DB instance. *

*

* If there is no DB subnet group, then it is a non-VPC DB instance. *

* * @return A DB subnet group to associate with this DB instance.

*

* If there is no DB subnet group, then it is a non-VPC DB instance. */ public final String dbSubnetGroupName() { return dbSubnetGroupName; } /** *

* The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). *

*

* Format: ddd:hh24:mi-ddd:hh24:mi *

*

* The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Region, * occurring on a random day of the week. *

*

* Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. *

*

* Constraints: Minimum 30-minute window. *

* * @return The time range each week during which system maintenance can occur, in Universal Coordinated Time * (UTC).

*

* Format: ddd:hh24:mi-ddd:hh24:mi *

*

* The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Region, * occurring on a random day of the week. *

*

* Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. *

*

* Constraints: Minimum 30-minute window. */ public final String preferredMaintenanceWindow() { return preferredMaintenanceWindow; } /** *

* The name of the DB parameter group to associate with this DB instance. If this argument is omitted, the default * DBParameterGroup for the specified engine is used. *

*

* Constraints: *

*
    *
  • *

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

    *
  • *
  • *

    * First character must be a letter *

    *
  • *
  • *

    * Cannot end with a hyphen or contain two consecutive hyphens *

    *
  • *
* * @return The name of the DB parameter group to associate with this DB instance. If this argument is omitted, the * default DBParameterGroup for the specified engine is used.

*

* Constraints: *

*
    *
  • *

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

    *
  • *
  • *

    * First character must be a letter *

    *
  • *
  • *

    * Cannot end with a hyphen or contain two consecutive hyphens *

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

    * The number of days for which automated backups are retained. *

    *

    * Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, * see CreateDBCluster. *

    *

    * Default: 1 *

    *

    * Constraints: *

    *
      *
    • *

      * Must be a value from 0 to 35 *

      *
    • *
    • *

      * Cannot be set to 0 if the DB instance is a source to Read Replicas *

      *
    • *
    * * @return The number of days for which automated backups are retained.

    *

    * Not applicable. The retention period for automated backups is managed by the DB cluster. For more * information, see CreateDBCluster. *

    *

    * Default: 1 *

    *

    * Constraints: *

    *
      *
    • *

      * Must be a value from 0 to 35 *

      *
    • *
    • *

      * Cannot be set to 0 if the DB instance is a source to Read Replicas *

      *
    • */ public final Integer backupRetentionPeriod() { return backupRetentionPeriod; } /** *

      * The daily time range during which automated backups are created. *

      *

      * Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more * information, see CreateDBCluster. *

      * * @return The daily time range during which automated backups are created.

      *

      * Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For * more information, see CreateDBCluster. */ public final String preferredBackupWindow() { return preferredBackupWindow; } /** *

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

      *

      * Not applicable. The port is managed by the DB cluster. For more information, see CreateDBCluster. *

      *

      * Default: 8182 *

      *

      * Type: Integer *

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

      *

      * Not applicable. The port is managed by the DB cluster. For more information, see CreateDBCluster. *

      *

      * Default: 8182 *

      *

      * Type: Integer */ public final Integer port() { return port; } /** *

      * Specifies if the DB instance is a Multi-AZ deployment. You can't set the AvailabilityZone parameter if the * MultiAZ parameter is set to true. *

      * * @return Specifies if the DB instance is a Multi-AZ deployment. You can't set the AvailabilityZone parameter if * the MultiAZ parameter is set to true. */ public final Boolean multiAZ() { return multiAZ; } /** *

      * The version number of the database engine to use. Currently, setting this parameter has no effect. *

      * * @return The version number of the database engine to use. Currently, setting this parameter has no effect. */ public final String engineVersion() { return engineVersion; } /** *

      * Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance window. *

      *

      * Default: true *

      * * @return Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance * window.

      *

      * Default: true */ public final Boolean autoMinorVersionUpgrade() { return autoMinorVersionUpgrade; } /** *

      * License model information for this DB instance. *

      *

      * Valid values: license-included | bring-your-own-license | * general-public-license *

      * * @return License model information for this DB instance.

      *

      * Valid values: license-included | bring-your-own-license | * general-public-license */ public final String licenseModel() { return licenseModel; } /** *

      * The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB * instance. *

      * * @return The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB * instance. */ public final Integer iops() { return iops; } /** *

      * (Not supported by Neptune) *

      * * @return (Not supported by Neptune) */ public final String optionGroupName() { return optionGroupName; } /** *

      * (Not supported by Neptune) *

      * * @return (Not supported by Neptune) */ public final String characterSetName() { return characterSetName; } /** *

      * This flag should no longer be used. *

      * * @return This flag should no longer be used. * @deprecated */ @Deprecated public final Boolean publiclyAccessible() { return publiclyAccessible; } /** * 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); } /** *

      * The tags to assign to the new instance. *

      *

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

      *

      * This method will never return null. If you would like to know whether the service returned this field (so that * you can differentiate between null and empty), you can use the {@link #hasTags} method. *

      * * @return The tags to assign to the new instance. */ public final List tags() { return tags; } /** *

      * The identifier of the DB cluster that the instance will belong to. *

      *

      * For information on creating a DB cluster, see CreateDBCluster. *

      *

      * Type: String *

      * * @return The identifier of the DB cluster that the instance will belong to.

      *

      * For information on creating a DB cluster, see CreateDBCluster. *

      *

      * Type: String */ public final String dbClusterIdentifier() { return dbClusterIdentifier; } /** *

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

      *

      * Not applicable. Storage is managed by the DB Cluster. *

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

      *

      * Not applicable. Storage is managed by the DB Cluster. */ public final String storageType() { return storageType; } /** *

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

      * * @return The ARN from the key store with which to associate the instance for TDE encryption. */ public final String tdeCredentialArn() { return tdeCredentialArn; } /** *

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

      * * @return The password for the given ARN from the key store in order to access the device. */ public final String tdeCredentialPassword() { return tdeCredentialPassword; } /** *

      * Specifies whether the DB instance is encrypted. *

      *

      * Not applicable. The encryption for DB instances is managed by the DB cluster. For more information, see * CreateDBCluster. *

      *

      * Default: false *

      * * @return Specifies whether the DB instance is encrypted.

      *

      * Not applicable. The encryption for DB instances is managed by the DB cluster. For more information, see * CreateDBCluster. *

      *

      * Default: false */ public final Boolean storageEncrypted() { return storageEncrypted; } /** *

      * The Amazon KMS key identifier for an encrypted DB instance. *

      *

      * The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB * instance with the same Amazon account that owns the KMS encryption key used to encrypt the new DB instance, then * you can use the KMS key alias instead of the ARN for the KM encryption key. *

      *

      * Not applicable. The KMS key identifier is managed by the DB cluster. For more information, see * CreateDBCluster. *

      *

      * If the StorageEncrypted parameter is true, and you do not specify a value for the * KmsKeyId parameter, then Amazon Neptune will use your default encryption key. Amazon KMS creates the * default encryption key for your Amazon account. Your Amazon account has a different default encryption key for * each Amazon Region. *

      * * @return The Amazon KMS key identifier for an encrypted DB instance.

      *

      * The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating * a DB instance with the same Amazon account that owns the KMS encryption key used to encrypt the new DB * instance, then you can use the KMS key alias instead of the ARN for the KM encryption key. *

      *

      * Not applicable. The KMS key identifier is managed by the DB cluster. For more information, see * CreateDBCluster. *

      *

      * If the StorageEncrypted parameter is true, and you do not specify a value for the * KmsKeyId parameter, then Amazon Neptune will use your default encryption key. Amazon KMS * creates the default encryption key for your Amazon account. Your Amazon account has a different default * encryption key for each Amazon Region. */ public final String kmsKeyId() { return kmsKeyId; } /** *

      * Specify the Active Directory Domain to create the instance in. *

      * * @return Specify the Active Directory Domain to create the instance in. */ public final String domain() { return domain; } /** *

      * True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is * false. *

      * * @return True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The * default is false. */ public final Boolean copyTagsToSnapshot() { return copyTagsToSnapshot; } /** *

      * The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To * disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. *

      *

      * If MonitoringRoleArn is specified, then you must also set MonitoringInterval to a value * other than 0. *

      *

      * Valid Values: 0, 1, 5, 10, 15, 30, 60 *

      * * @return The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB * instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

      *

      * If MonitoringRoleArn is specified, then you must also set MonitoringInterval to * a value other than 0. *

      *

      * Valid Values: 0, 1, 5, 10, 15, 30, 60 */ public final Integer monitoringInterval() { return monitoringInterval; } /** *

      * The ARN for the IAM role that permits Neptune to send enhanced monitoring metrics to Amazon CloudWatch Logs. For * example, arn:aws:iam:123456789012:role/emaccess. *

      *

      * If MonitoringInterval is set to a value other than 0, then you must supply a * MonitoringRoleArn value. *

      * * @return The ARN for the IAM role that permits Neptune to send enhanced monitoring metrics to Amazon CloudWatch * Logs. For example, arn:aws:iam:123456789012:role/emaccess.

      *

      * If MonitoringInterval is set to a value other than 0, then you must supply a * MonitoringRoleArn value. */ public final String monitoringRoleArn() { return monitoringRoleArn; } /** *

      * Specify the name of the IAM role to be used when making API calls to the Directory Service. *

      * * @return Specify the name of the IAM role to be used when making API calls to the Directory Service. */ public final String domainIAMRoleName() { return domainIAMRoleName; } /** *

      * A value that specifies the order in which an Read Replica is promoted to the primary instance after a failure of * the existing primary instance. *

      *

      * Default: 1 *

      *

      * Valid Values: 0 - 15 *

      * * @return A value that specifies the order in which an Read Replica is promoted to the primary instance after a * failure of the existing primary instance.

      *

      * Default: 1 *

      *

      * Valid Values: 0 - 15 */ public final Integer promotionTier() { return promotionTier; } /** *

      * The time zone of the DB instance. *

      * * @return The time zone of the DB instance. */ public final String timezone() { return timezone; } /** *

      * Not supported by Neptune (ignored). *

      * * @return Not supported by Neptune (ignored). */ public final Boolean enableIAMDatabaseAuthentication() { return enableIAMDatabaseAuthentication; } /** *

      * (Not supported by Neptune) *

      * * @return (Not supported by Neptune) */ public final Boolean enablePerformanceInsights() { return enablePerformanceInsights; } /** *

      * (Not supported by Neptune) *

      * * @return (Not supported by Neptune) */ public final String performanceInsightsKMSKeyId() { return performanceInsightsKMSKeyId; } /** * 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 log types that need to be enabled for exporting to CloudWatch Logs. *

      *

      * 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 log types that need to be enabled for exporting to CloudWatch Logs. */ public final List enableCloudwatchLogsExports() { return enableCloudwatchLogsExports; } /** *

      * A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted * when deletion protection is enabled. By default, deletion protection is disabled. See Deleting a DB * Instance. *

      *

      * DB instances in a DB cluster can be deleted even when deletion protection is enabled in their parent DB cluster. *

      * * @return A value that indicates whether the DB instance has deletion protection enabled. The database can't be * deleted when deletion protection is enabled. By default, deletion protection is disabled. See Deleting * a DB Instance.

      *

      * DB instances in a DB cluster can be deleted even when deletion protection is enabled in their parent DB * cluster. */ public final Boolean deletionProtection() { return deletionProtection; } @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(dbName()); hashCode = 31 * hashCode + Objects.hashCode(dbInstanceIdentifier()); hashCode = 31 * hashCode + Objects.hashCode(allocatedStorage()); hashCode = 31 * hashCode + Objects.hashCode(dbInstanceClass()); hashCode = 31 * hashCode + Objects.hashCode(engine()); hashCode = 31 * hashCode + Objects.hashCode(masterUsername()); hashCode = 31 * hashCode + Objects.hashCode(masterUserPassword()); hashCode = 31 * hashCode + Objects.hashCode(hasDbSecurityGroups() ? dbSecurityGroups() : null); hashCode = 31 * hashCode + Objects.hashCode(hasVpcSecurityGroupIds() ? vpcSecurityGroupIds() : null); hashCode = 31 * hashCode + Objects.hashCode(availabilityZone()); hashCode = 31 * hashCode + Objects.hashCode(dbSubnetGroupName()); hashCode = 31 * hashCode + Objects.hashCode(preferredMaintenanceWindow()); hashCode = 31 * hashCode + Objects.hashCode(dbParameterGroupName()); hashCode = 31 * hashCode + Objects.hashCode(backupRetentionPeriod()); hashCode = 31 * hashCode + Objects.hashCode(preferredBackupWindow()); hashCode = 31 * hashCode + Objects.hashCode(port()); hashCode = 31 * hashCode + Objects.hashCode(multiAZ()); hashCode = 31 * hashCode + Objects.hashCode(engineVersion()); hashCode = 31 * hashCode + Objects.hashCode(autoMinorVersionUpgrade()); hashCode = 31 * hashCode + Objects.hashCode(licenseModel()); hashCode = 31 * hashCode + Objects.hashCode(iops()); hashCode = 31 * hashCode + Objects.hashCode(optionGroupName()); hashCode = 31 * hashCode + Objects.hashCode(characterSetName()); hashCode = 31 * hashCode + Objects.hashCode(publiclyAccessible()); hashCode = 31 * hashCode + Objects.hashCode(hasTags() ? tags() : null); hashCode = 31 * hashCode + Objects.hashCode(dbClusterIdentifier()); hashCode = 31 * hashCode + Objects.hashCode(storageType()); hashCode = 31 * hashCode + Objects.hashCode(tdeCredentialArn()); hashCode = 31 * hashCode + Objects.hashCode(tdeCredentialPassword()); hashCode = 31 * hashCode + Objects.hashCode(storageEncrypted()); hashCode = 31 * hashCode + Objects.hashCode(kmsKeyId()); hashCode = 31 * hashCode + Objects.hashCode(domain()); hashCode = 31 * hashCode + Objects.hashCode(copyTagsToSnapshot()); hashCode = 31 * hashCode + Objects.hashCode(monitoringInterval()); hashCode = 31 * hashCode + Objects.hashCode(monitoringRoleArn()); hashCode = 31 * hashCode + Objects.hashCode(domainIAMRoleName()); hashCode = 31 * hashCode + Objects.hashCode(promotionTier()); hashCode = 31 * hashCode + Objects.hashCode(timezone()); hashCode = 31 * hashCode + Objects.hashCode(enableIAMDatabaseAuthentication()); hashCode = 31 * hashCode + Objects.hashCode(enablePerformanceInsights()); hashCode = 31 * hashCode + Objects.hashCode(performanceInsightsKMSKeyId()); hashCode = 31 * hashCode + Objects.hashCode(hasEnableCloudwatchLogsExports() ? enableCloudwatchLogsExports() : null); hashCode = 31 * hashCode + Objects.hashCode(deletionProtection()); 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 CreateDbInstanceRequest)) { return false; } CreateDbInstanceRequest other = (CreateDbInstanceRequest) obj; return Objects.equals(dbName(), other.dbName()) && Objects.equals(dbInstanceIdentifier(), other.dbInstanceIdentifier()) && Objects.equals(allocatedStorage(), other.allocatedStorage()) && Objects.equals(dbInstanceClass(), other.dbInstanceClass()) && Objects.equals(engine(), other.engine()) && Objects.equals(masterUsername(), other.masterUsername()) && Objects.equals(masterUserPassword(), other.masterUserPassword()) && hasDbSecurityGroups() == other.hasDbSecurityGroups() && Objects.equals(dbSecurityGroups(), other.dbSecurityGroups()) && hasVpcSecurityGroupIds() == other.hasVpcSecurityGroupIds() && Objects.equals(vpcSecurityGroupIds(), other.vpcSecurityGroupIds()) && Objects.equals(availabilityZone(), other.availabilityZone()) && Objects.equals(dbSubnetGroupName(), other.dbSubnetGroupName()) && Objects.equals(preferredMaintenanceWindow(), other.preferredMaintenanceWindow()) && Objects.equals(dbParameterGroupName(), other.dbParameterGroupName()) && Objects.equals(backupRetentionPeriod(), other.backupRetentionPeriod()) && Objects.equals(preferredBackupWindow(), other.preferredBackupWindow()) && Objects.equals(port(), other.port()) && Objects.equals(multiAZ(), other.multiAZ()) && Objects.equals(engineVersion(), other.engineVersion()) && Objects.equals(autoMinorVersionUpgrade(), other.autoMinorVersionUpgrade()) && Objects.equals(licenseModel(), other.licenseModel()) && Objects.equals(iops(), other.iops()) && Objects.equals(optionGroupName(), other.optionGroupName()) && Objects.equals(characterSetName(), other.characterSetName()) && Objects.equals(publiclyAccessible(), other.publiclyAccessible()) && hasTags() == other.hasTags() && Objects.equals(tags(), other.tags()) && Objects.equals(dbClusterIdentifier(), other.dbClusterIdentifier()) && Objects.equals(storageType(), other.storageType()) && Objects.equals(tdeCredentialArn(), other.tdeCredentialArn()) && Objects.equals(tdeCredentialPassword(), other.tdeCredentialPassword()) && Objects.equals(storageEncrypted(), other.storageEncrypted()) && Objects.equals(kmsKeyId(), other.kmsKeyId()) && Objects.equals(domain(), other.domain()) && Objects.equals(copyTagsToSnapshot(), other.copyTagsToSnapshot()) && Objects.equals(monitoringInterval(), other.monitoringInterval()) && Objects.equals(monitoringRoleArn(), other.monitoringRoleArn()) && Objects.equals(domainIAMRoleName(), other.domainIAMRoleName()) && Objects.equals(promotionTier(), other.promotionTier()) && Objects.equals(timezone(), other.timezone()) && Objects.equals(enableIAMDatabaseAuthentication(), other.enableIAMDatabaseAuthentication()) && Objects.equals(enablePerformanceInsights(), other.enablePerformanceInsights()) && Objects.equals(performanceInsightsKMSKeyId(), other.performanceInsightsKMSKeyId()) && hasEnableCloudwatchLogsExports() == other.hasEnableCloudwatchLogsExports() && Objects.equals(enableCloudwatchLogsExports(), other.enableCloudwatchLogsExports()) && Objects.equals(deletionProtection(), other.deletionProtection()); } /** * 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("CreateDbInstanceRequest").add("DBName", dbName()) .add("DBInstanceIdentifier", dbInstanceIdentifier()).add("AllocatedStorage", allocatedStorage()) .add("DBInstanceClass", dbInstanceClass()).add("Engine", engine()).add("MasterUsername", masterUsername()) .add("MasterUserPassword", masterUserPassword()) .add("DBSecurityGroups", hasDbSecurityGroups() ? dbSecurityGroups() : null) .add("VpcSecurityGroupIds", hasVpcSecurityGroupIds() ? vpcSecurityGroupIds() : null) .add("AvailabilityZone", availabilityZone()).add("DBSubnetGroupName", dbSubnetGroupName()) .add("PreferredMaintenanceWindow", preferredMaintenanceWindow()) .add("DBParameterGroupName", dbParameterGroupName()).add("BackupRetentionPeriod", backupRetentionPeriod()) .add("PreferredBackupWindow", preferredBackupWindow()).add("Port", port()).add("MultiAZ", multiAZ()) .add("EngineVersion", engineVersion()).add("AutoMinorVersionUpgrade", autoMinorVersionUpgrade()) .add("LicenseModel", licenseModel()).add("Iops", iops()).add("OptionGroupName", optionGroupName()) .add("CharacterSetName", characterSetName()).add("PubliclyAccessible", publiclyAccessible()) .add("Tags", hasTags() ? tags() : null).add("DBClusterIdentifier", dbClusterIdentifier()) .add("StorageType", storageType()).add("TdeCredentialArn", tdeCredentialArn()) .add("TdeCredentialPassword", tdeCredentialPassword() == null ? null : "*** Sensitive Data Redacted ***") .add("StorageEncrypted", storageEncrypted()).add("KmsKeyId", kmsKeyId()).add("Domain", domain()) .add("CopyTagsToSnapshot", copyTagsToSnapshot()).add("MonitoringInterval", monitoringInterval()) .add("MonitoringRoleArn", monitoringRoleArn()).add("DomainIAMRoleName", domainIAMRoleName()) .add("PromotionTier", promotionTier()).add("Timezone", timezone()) .add("EnableIAMDatabaseAuthentication", enableIAMDatabaseAuthentication()) .add("EnablePerformanceInsights", enablePerformanceInsights()) .add("PerformanceInsightsKMSKeyId", performanceInsightsKMSKeyId()) .add("EnableCloudwatchLogsExports", hasEnableCloudwatchLogsExports() ? enableCloudwatchLogsExports() : null) .add("DeletionProtection", deletionProtection()).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "DBName": return Optional.ofNullable(clazz.cast(dbName())); case "DBInstanceIdentifier": return Optional.ofNullable(clazz.cast(dbInstanceIdentifier())); case "AllocatedStorage": return Optional.ofNullable(clazz.cast(allocatedStorage())); case "DBInstanceClass": return Optional.ofNullable(clazz.cast(dbInstanceClass())); case "Engine": return Optional.ofNullable(clazz.cast(engine())); case "MasterUsername": return Optional.ofNullable(clazz.cast(masterUsername())); case "MasterUserPassword": return Optional.ofNullable(clazz.cast(masterUserPassword())); case "DBSecurityGroups": return Optional.ofNullable(clazz.cast(dbSecurityGroups())); case "VpcSecurityGroupIds": return Optional.ofNullable(clazz.cast(vpcSecurityGroupIds())); case "AvailabilityZone": return Optional.ofNullable(clazz.cast(availabilityZone())); case "DBSubnetGroupName": return Optional.ofNullable(clazz.cast(dbSubnetGroupName())); case "PreferredMaintenanceWindow": return Optional.ofNullable(clazz.cast(preferredMaintenanceWindow())); case "DBParameterGroupName": return Optional.ofNullable(clazz.cast(dbParameterGroupName())); case "BackupRetentionPeriod": return Optional.ofNullable(clazz.cast(backupRetentionPeriod())); case "PreferredBackupWindow": return Optional.ofNullable(clazz.cast(preferredBackupWindow())); case "Port": return Optional.ofNullable(clazz.cast(port())); case "MultiAZ": return Optional.ofNullable(clazz.cast(multiAZ())); case "EngineVersion": return Optional.ofNullable(clazz.cast(engineVersion())); case "AutoMinorVersionUpgrade": return Optional.ofNullable(clazz.cast(autoMinorVersionUpgrade())); case "LicenseModel": return Optional.ofNullable(clazz.cast(licenseModel())); case "Iops": return Optional.ofNullable(clazz.cast(iops())); case "OptionGroupName": return Optional.ofNullable(clazz.cast(optionGroupName())); case "CharacterSetName": return Optional.ofNullable(clazz.cast(characterSetName())); case "PubliclyAccessible": return Optional.ofNullable(clazz.cast(publiclyAccessible())); case "Tags": return Optional.ofNullable(clazz.cast(tags())); case "DBClusterIdentifier": return Optional.ofNullable(clazz.cast(dbClusterIdentifier())); 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 "StorageEncrypted": return Optional.ofNullable(clazz.cast(storageEncrypted())); case "KmsKeyId": return Optional.ofNullable(clazz.cast(kmsKeyId())); case "Domain": return Optional.ofNullable(clazz.cast(domain())); case "CopyTagsToSnapshot": return Optional.ofNullable(clazz.cast(copyTagsToSnapshot())); case "MonitoringInterval": return Optional.ofNullable(clazz.cast(monitoringInterval())); case "MonitoringRoleArn": return Optional.ofNullable(clazz.cast(monitoringRoleArn())); case "DomainIAMRoleName": return Optional.ofNullable(clazz.cast(domainIAMRoleName())); case "PromotionTier": return Optional.ofNullable(clazz.cast(promotionTier())); case "Timezone": return Optional.ofNullable(clazz.cast(timezone())); case "EnableIAMDatabaseAuthentication": return Optional.ofNullable(clazz.cast(enableIAMDatabaseAuthentication())); case "EnablePerformanceInsights": return Optional.ofNullable(clazz.cast(enablePerformanceInsights())); case "PerformanceInsightsKMSKeyId": return Optional.ofNullable(clazz.cast(performanceInsightsKMSKeyId())); case "EnableCloudwatchLogsExports": return Optional.ofNullable(clazz.cast(enableCloudwatchLogsExports())); case "DeletionProtection": return Optional.ofNullable(clazz.cast(deletionProtection())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((CreateDbInstanceRequest) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends NeptuneRequest.Builder, SdkPojo, CopyableBuilder { /** *

      * Not supported. *

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

      * The DB instance identifier. This parameter is stored as a lowercase string. *

      *

      * Constraints: *

      *
        *
      • *

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

        *
      • *
      • *

        * First character must be a letter. *

        *
      • *
      • *

        * Cannot end with a hyphen or contain two consecutive hyphens. *

        *
      • *
      *

      * Example: mydbinstance *

      * * @param dbInstanceIdentifier * The DB instance identifier. This parameter is stored as a lowercase string.

      *

      * Constraints: *

      *
        *
      • *

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

        *
      • *
      • *

        * First character must be a letter. *

        *
      • *
      • *

        * Cannot end with a hyphen or contain two consecutive hyphens. *

        *
      • *
      *

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

      * Not supported by Neptune. *

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

      * The compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB * instance classes are available in all Amazon Regions. *

      * * @param dbInstanceClass * The compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB * instance classes are available in all Amazon Regions. * @return Returns a reference to this object so that method calls can be chained together. */ Builder dbInstanceClass(String dbInstanceClass); /** *

      * The name of the database engine to be used for this instance. *

      *

      * Valid Values: neptune *

      * * @param engine * The name of the database engine to be used for this instance.

      *

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

      * Not supported by Neptune. *

      * * @param masterUsername * Not supported by Neptune. * @return Returns a reference to this object so that method calls can be chained together. */ Builder masterUsername(String masterUsername); /** *

      * Not supported by Neptune. *

      * * @param masterUserPassword * Not supported by Neptune. * @return Returns a reference to this object so that method calls can be chained together. */ Builder masterUserPassword(String masterUserPassword); /** *

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

      *

      * Default: The default DB security group for the database engine. *

      * * @param dbSecurityGroups * A list of DB security groups to associate with this DB instance.

      *

      * Default: The default DB security group for the database engine. * @return Returns a reference to this object so that method calls can be chained together. */ Builder dbSecurityGroups(Collection dbSecurityGroups); /** *

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

      *

      * Default: The default DB security group for the database engine. *

      * * @param dbSecurityGroups * A list of DB security groups to associate with this DB instance.

      *

      * Default: The default DB security group for the database engine. * @return Returns a reference to this object so that method calls can be chained together. */ Builder dbSecurityGroups(String... dbSecurityGroups); /** *

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

      *

      * Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more * information, see CreateDBCluster. *

      *

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

      *

      * Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more * information, see CreateDBCluster. *

      *

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

      *

      * Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more * information, see CreateDBCluster. *

      *

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

      *

      * Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more * information, see CreateDBCluster. *

      *

      * 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 EC2 Availability Zone that the DB instance is created in *

      *

      * Default: A random, system-chosen Availability Zone in the endpoint's Amazon Region. *

      *

      * Example: us-east-1d *

      *

      * Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ parameter is set to * true. The specified Availability Zone must be in the same Amazon Region as the current endpoint. *

      * * @param availabilityZone * The EC2 Availability Zone that the DB instance is created in

      *

      * Default: A random, system-chosen Availability Zone in the endpoint's Amazon Region. *

      *

      * Example: us-east-1d *

      *

      * Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ parameter is set to * true. The specified Availability Zone must be in the same Amazon Region as the current * endpoint. * @return Returns a reference to this object so that method calls can be chained together. */ Builder availabilityZone(String availabilityZone); /** *

      * A DB subnet group to associate with this DB instance. *

      *

      * If there is no DB subnet group, then it is a non-VPC DB instance. *

      * * @param dbSubnetGroupName * A DB subnet group to associate with this DB instance.

      *

      * If there is no DB subnet group, then it is a non-VPC DB instance. * @return Returns a reference to this object so that method calls can be chained together. */ Builder dbSubnetGroupName(String dbSubnetGroupName); /** *

      * The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). *

      *

      * Format: ddd:hh24:mi-ddd:hh24:mi *

      *

      * The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Region, * occurring on a random day of the week. *

      *

      * Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. *

      *

      * Constraints: Minimum 30-minute window. *

      * * @param preferredMaintenanceWindow * The time range each week during which system maintenance can occur, in Universal Coordinated Time * (UTC).

      *

      * Format: ddd:hh24:mi-ddd:hh24:mi *

      *

      * The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon * Region, occurring on a random day of the week. *

      *

      * Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. *

      *

      * Constraints: Minimum 30-minute window. * @return Returns a reference to this object so that method calls can be chained together. */ Builder preferredMaintenanceWindow(String preferredMaintenanceWindow); /** *

      * The name of the DB parameter group to associate with this DB instance. If this argument is omitted, the * default DBParameterGroup for the specified engine is used. *

      *

      * Constraints: *

      *
        *
      • *

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

        *
      • *
      • *

        * First character must be a letter *

        *
      • *
      • *

        * Cannot 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 this argument is omitted, * the default DBParameterGroup for the specified engine is used.

      *

      * Constraints: *

      *
        *
      • *

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

        *
      • *
      • *

        * First character must be a letter *

        *
      • *
      • *

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

        * The number of days for which automated backups are retained. *

        *

        * Not applicable. The retention period for automated backups is managed by the DB cluster. For more * information, see CreateDBCluster. *

        *

        * Default: 1 *

        *

        * Constraints: *

        *
          *
        • *

          * Must be a value from 0 to 35 *

          *
        • *
        • *

          * Cannot be set to 0 if the DB instance is a source to Read Replicas *

          *
        • *
        * * @param backupRetentionPeriod * The number of days for which automated backups are retained.

        *

        * Not applicable. The retention period for automated backups is managed by the DB cluster. For more * information, see CreateDBCluster. *

        *

        * Default: 1 *

        *

        * Constraints: *

        *
          *
        • *

          * Must be a value from 0 to 35 *

          *
        • *
        • *

          * Cannot be set to 0 if the DB instance is a source to Read Replicas *

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

          * The daily time range during which automated backups are created. *

          *

          * Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more * information, see CreateDBCluster. *

          * * @param preferredBackupWindow * The daily time range during which automated backups are created.

          *

          * Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For * more information, see CreateDBCluster. * @return Returns a reference to this object so that method calls can be chained together. */ Builder preferredBackupWindow(String preferredBackupWindow); /** *

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

          *

          * Not applicable. The port is managed by the DB cluster. For more information, see CreateDBCluster. *

          *

          * Default: 8182 *

          *

          * Type: Integer *

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

          *

          * Not applicable. The port is managed by the DB cluster. For more information, see * CreateDBCluster. *

          *

          * Default: 8182 *

          *

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

          * Specifies if the DB instance is a Multi-AZ deployment. You can't set the AvailabilityZone parameter if the * MultiAZ parameter is set to true. *

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

          * The version number of the database engine to use. Currently, setting this parameter has no effect. *

          * * @param engineVersion * The version number of the database engine to use. Currently, setting this parameter has no effect. * @return Returns a reference to this object so that method calls can be chained together. */ Builder engineVersion(String engineVersion); /** *

          * Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance * window. *

          *

          * Default: true *

          * * @param autoMinorVersionUpgrade * Indicates that minor engine upgrades are applied automatically to the DB instance during the * maintenance window.

          *

          * Default: true * @return Returns a reference to this object so that method calls can be chained together. */ Builder autoMinorVersionUpgrade(Boolean autoMinorVersionUpgrade); /** *

          * License model information for this DB instance. *

          *

          * Valid values: license-included | bring-your-own-license | * general-public-license *

          * * @param licenseModel * License model information for this DB instance.

          *

          * Valid values: license-included | bring-your-own-license | * general-public-license * @return Returns a reference to this object so that method calls can be chained together. */ Builder licenseModel(String licenseModel); /** *

          * The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB * instance. *

          * * @param iops * The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the * DB instance. * @return Returns a reference to this object so that method calls can be chained together. */ Builder iops(Integer iops); /** *

          * (Not supported by Neptune) *

          * * @param optionGroupName * (Not supported by Neptune) * @return Returns a reference to this object so that method calls can be chained together. */ Builder optionGroupName(String optionGroupName); /** *

          * (Not supported by Neptune) *

          * * @param characterSetName * (Not supported by Neptune) * @return Returns a reference to this object so that method calls can be chained together. */ Builder characterSetName(String characterSetName); /** *

          * This flag should no longer be used. *

          * * @param publiclyAccessible * This flag should no longer be used. * @return Returns a reference to this object so that method calls can be chained together. * @deprecated */ @Deprecated Builder publiclyAccessible(Boolean publiclyAccessible); /** *

          * The tags to assign to the new instance. *

          * * @param tags * The tags to assign to the new instance. * @return Returns a reference to this object so that method calls can be chained together. */ Builder tags(Collection tags); /** *

          * The tags to assign to the new instance. *

          * * @param tags * The tags to assign to the new instance. * @return Returns a reference to this object so that method calls can be chained together. */ Builder tags(Tag... tags); /** *

          * The tags to assign to the new instance. *

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

          * When the {@link Consumer} completes, * {@link software.amazon.awssdk.services.neptune.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.neptune.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); /** *

          * The identifier of the DB cluster that the instance will belong to. *

          *

          * For information on creating a DB cluster, see CreateDBCluster. *

          *

          * Type: String *

          * * @param dbClusterIdentifier * The identifier of the DB cluster that the instance will belong to.

          *

          * For information on creating a DB cluster, see CreateDBCluster. *

          *

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

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

          *

          * Not applicable. Storage is managed by the DB Cluster. *

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

          *

          * Not applicable. Storage is managed by the DB Cluster. * @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. *

          * * @param tdeCredentialArn * The ARN from the key store with which to associate the instance for TDE encryption. * @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. *

          * * @param tdeCredentialPassword * The password for the given ARN from the key store in order to access the device. * @return Returns a reference to this object so that method calls can be chained together. */ Builder tdeCredentialPassword(String tdeCredentialPassword); /** *

          * Specifies whether the DB instance is encrypted. *

          *

          * Not applicable. The encryption for DB instances is managed by the DB cluster. For more information, see * CreateDBCluster. *

          *

          * Default: false *

          * * @param storageEncrypted * Specifies whether the DB instance is encrypted.

          *

          * Not applicable. The encryption for DB instances is managed by the DB cluster. For more information, * see CreateDBCluster. *

          *

          * Default: false * @return Returns a reference to this object so that method calls can be chained together. */ Builder storageEncrypted(Boolean storageEncrypted); /** *

          * The Amazon KMS key identifier for an encrypted DB instance. *

          *

          * The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB * instance with the same Amazon account that owns the KMS encryption key used to encrypt the new DB instance, * then you can use the KMS key alias instead of the ARN for the KM encryption key. *

          *

          * Not applicable. The KMS key identifier is managed by the DB cluster. For more information, see * CreateDBCluster. *

          *

          * If the StorageEncrypted parameter is true, and you do not specify a value for the * KmsKeyId parameter, then Amazon Neptune will use your default encryption key. Amazon KMS creates * the default encryption key for your Amazon account. Your Amazon account has a different default encryption * key for each Amazon Region. *

          * * @param kmsKeyId * The Amazon KMS key identifier for an encrypted DB instance.

          *

          * The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are * creating a DB instance with the same Amazon account that owns the KMS encryption key used to encrypt * the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key. *

          *

          * Not applicable. The KMS key identifier is managed by the DB cluster. For more information, see * CreateDBCluster. *

          *

          * If the StorageEncrypted parameter is true, and you do not specify a value for the * KmsKeyId parameter, then Amazon Neptune will use your default encryption key. Amazon KMS * creates the default encryption key for your Amazon account. Your Amazon account has a different * default encryption key for each Amazon Region. * @return Returns a reference to this object so that method calls can be chained together. */ Builder kmsKeyId(String kmsKeyId); /** *

          * Specify the Active Directory Domain to create the instance in. *

          * * @param domain * Specify the Active Directory Domain to create the instance in. * @return Returns a reference to this object so that method calls can be chained together. */ Builder domain(String domain); /** *

          * True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default * is false. *

          * * @param copyTagsToSnapshot * True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The * default is false. * @return Returns a reference to this object so that method calls can be chained together. */ Builder copyTagsToSnapshot(Boolean copyTagsToSnapshot); /** *

          * The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. * To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. *

          *

          * If MonitoringRoleArn is specified, then you must also set MonitoringInterval to a * value other than 0. *

          *

          * Valid Values: 0, 1, 5, 10, 15, 30, 60 *

          * * @param monitoringInterval * The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB * instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

          *

          * If MonitoringRoleArn is specified, then you must also set MonitoringInterval * to a value other than 0. *

          *

          * Valid Values: 0, 1, 5, 10, 15, 30, 60 * @return Returns a reference to this object so that method calls can be chained together. */ Builder monitoringInterval(Integer monitoringInterval); /** *

          * The ARN for the IAM role that permits Neptune to send enhanced monitoring metrics to Amazon CloudWatch Logs. * For example, arn:aws:iam:123456789012:role/emaccess. *

          *

          * If MonitoringInterval is set to a value other than 0, then you must supply a * MonitoringRoleArn value. *

          * * @param monitoringRoleArn * The ARN for the IAM role that permits Neptune to send enhanced monitoring metrics to Amazon CloudWatch * Logs. For example, arn:aws:iam:123456789012:role/emaccess.

          *

          * If MonitoringInterval is set to a value other than 0, then you must supply a * MonitoringRoleArn value. * @return Returns a reference to this object so that method calls can be chained together. */ Builder monitoringRoleArn(String monitoringRoleArn); /** *

          * Specify the name of the IAM role to be used when making API calls to the Directory Service. *

          * * @param domainIAMRoleName * Specify the name of the IAM role to be used when making API calls to the Directory Service. * @return Returns a reference to this object so that method calls can be chained together. */ Builder domainIAMRoleName(String domainIAMRoleName); /** *

          * A value that specifies the order in which an Read Replica is promoted to the primary instance after a failure * of the existing primary instance. *

          *

          * Default: 1 *

          *

          * Valid Values: 0 - 15 *

          * * @param promotionTier * A value that specifies the order in which an Read Replica is promoted to the primary instance after a * failure of the existing primary instance.

          *

          * Default: 1 *

          *

          * Valid Values: 0 - 15 * @return Returns a reference to this object so that method calls can be chained together. */ Builder promotionTier(Integer promotionTier); /** *

          * The time zone of the DB instance. *

          * * @param timezone * The time zone of the DB instance. * @return Returns a reference to this object so that method calls can be chained together. */ Builder timezone(String timezone); /** *

          * Not supported by Neptune (ignored). *

          * * @param enableIAMDatabaseAuthentication * Not supported by Neptune (ignored). * @return Returns a reference to this object so that method calls can be chained together. */ Builder enableIAMDatabaseAuthentication(Boolean enableIAMDatabaseAuthentication); /** *

          * (Not supported by Neptune) *

          * * @param enablePerformanceInsights * (Not supported by Neptune) * @return Returns a reference to this object so that method calls can be chained together. */ Builder enablePerformanceInsights(Boolean enablePerformanceInsights); /** *

          * (Not supported by Neptune) *

          * * @param performanceInsightsKMSKeyId * (Not supported by Neptune) * @return Returns a reference to this object so that method calls can be chained together. */ Builder performanceInsightsKMSKeyId(String performanceInsightsKMSKeyId); /** *

          * The list of log types that need to be enabled for exporting to CloudWatch Logs. *

          * * @param enableCloudwatchLogsExports * The list of log types that need to be enabled for exporting to CloudWatch Logs. * @return Returns a reference to this object so that method calls can be chained together. */ Builder enableCloudwatchLogsExports(Collection enableCloudwatchLogsExports); /** *

          * The list of log types that need to be enabled for exporting to CloudWatch Logs. *

          * * @param enableCloudwatchLogsExports * The list of log types that need to be enabled for exporting to CloudWatch Logs. * @return Returns a reference to this object so that method calls can be chained together. */ Builder enableCloudwatchLogsExports(String... enableCloudwatchLogsExports); /** *

          * A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted * when deletion protection is enabled. By default, deletion protection is disabled. See Deleting a * DB Instance. *

          *

          * DB instances in a DB cluster can be deleted even when deletion protection is enabled in their parent DB * cluster. *

          * * @param deletionProtection * A value that indicates whether the DB instance has deletion protection enabled. The database can't be * deleted when deletion protection is enabled. By default, deletion protection is disabled. See Deleting a DB Instance.

          *

          * DB instances in a DB cluster can be deleted even when deletion protection is enabled in their parent * DB cluster. * @return Returns a reference to this object so that method calls can be chained together. */ Builder deletionProtection(Boolean deletionProtection); @Override Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration); @Override Builder overrideConfiguration(Consumer builderConsumer); } static final class BuilderImpl extends NeptuneRequest.BuilderImpl implements Builder { private String dbName; private String dbInstanceIdentifier; private Integer allocatedStorage; private String dbInstanceClass; private String engine; private String masterUsername; private String masterUserPassword; private List dbSecurityGroups = DefaultSdkAutoConstructList.getInstance(); private List vpcSecurityGroupIds = DefaultSdkAutoConstructList.getInstance(); private String availabilityZone; private String dbSubnetGroupName; private String preferredMaintenanceWindow; private String dbParameterGroupName; private Integer backupRetentionPeriod; private String preferredBackupWindow; private Integer port; private Boolean multiAZ; private String engineVersion; private Boolean autoMinorVersionUpgrade; private String licenseModel; private Integer iops; private String optionGroupName; private String characterSetName; private Boolean publiclyAccessible; private List tags = DefaultSdkAutoConstructList.getInstance(); private String dbClusterIdentifier; private String storageType; private String tdeCredentialArn; private String tdeCredentialPassword; private Boolean storageEncrypted; private String kmsKeyId; private String domain; private Boolean copyTagsToSnapshot; private Integer monitoringInterval; private String monitoringRoleArn; private String domainIAMRoleName; private Integer promotionTier; private String timezone; private Boolean enableIAMDatabaseAuthentication; private Boolean enablePerformanceInsights; private String performanceInsightsKMSKeyId; private List enableCloudwatchLogsExports = DefaultSdkAutoConstructList.getInstance(); private Boolean deletionProtection; private BuilderImpl() { } private BuilderImpl(CreateDbInstanceRequest model) { super(model); dbName(model.dbName); dbInstanceIdentifier(model.dbInstanceIdentifier); allocatedStorage(model.allocatedStorage); dbInstanceClass(model.dbInstanceClass); engine(model.engine); masterUsername(model.masterUsername); masterUserPassword(model.masterUserPassword); dbSecurityGroups(model.dbSecurityGroups); vpcSecurityGroupIds(model.vpcSecurityGroupIds); availabilityZone(model.availabilityZone); dbSubnetGroupName(model.dbSubnetGroupName); preferredMaintenanceWindow(model.preferredMaintenanceWindow); dbParameterGroupName(model.dbParameterGroupName); backupRetentionPeriod(model.backupRetentionPeriod); preferredBackupWindow(model.preferredBackupWindow); port(model.port); multiAZ(model.multiAZ); engineVersion(model.engineVersion); autoMinorVersionUpgrade(model.autoMinorVersionUpgrade); licenseModel(model.licenseModel); iops(model.iops); optionGroupName(model.optionGroupName); characterSetName(model.characterSetName); publiclyAccessible(model.publiclyAccessible); tags(model.tags); dbClusterIdentifier(model.dbClusterIdentifier); storageType(model.storageType); tdeCredentialArn(model.tdeCredentialArn); tdeCredentialPassword(model.tdeCredentialPassword); storageEncrypted(model.storageEncrypted); kmsKeyId(model.kmsKeyId); domain(model.domain); copyTagsToSnapshot(model.copyTagsToSnapshot); monitoringInterval(model.monitoringInterval); monitoringRoleArn(model.monitoringRoleArn); domainIAMRoleName(model.domainIAMRoleName); promotionTier(model.promotionTier); timezone(model.timezone); enableIAMDatabaseAuthentication(model.enableIAMDatabaseAuthentication); enablePerformanceInsights(model.enablePerformanceInsights); performanceInsightsKMSKeyId(model.performanceInsightsKMSKeyId); enableCloudwatchLogsExports(model.enableCloudwatchLogsExports); deletionProtection(model.deletionProtection); } 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 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 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 String getDbInstanceClass() { return dbInstanceClass; } public final void setDbInstanceClass(String dbInstanceClass) { this.dbInstanceClass = dbInstanceClass; } @Override public final Builder dbInstanceClass(String dbInstanceClass) { this.dbInstanceClass = dbInstanceClass; return this; } public final String getEngine() { return engine; } public final void setEngine(String engine) { this.engine = engine; } @Override public final Builder engine(String engine) { this.engine = engine; return this; } public final String getMasterUsername() { return masterUsername; } public final void setMasterUsername(String masterUsername) { this.masterUsername = masterUsername; } @Override public final Builder masterUsername(String masterUsername) { this.masterUsername = masterUsername; return this; } public final String getMasterUserPassword() { return masterUserPassword; } public final void setMasterUserPassword(String masterUserPassword) { this.masterUserPassword = masterUserPassword; } @Override public final Builder masterUserPassword(String masterUserPassword) { this.masterUserPassword = masterUserPassword; return this; } public final Collection getDbSecurityGroups() { if (dbSecurityGroups instanceof SdkAutoConstructList) { return null; } return dbSecurityGroups; } public final void setDbSecurityGroups(Collection dbSecurityGroups) { this.dbSecurityGroups = DBSecurityGroupNameListCopier.copy(dbSecurityGroups); } @Override public final Builder dbSecurityGroups(Collection dbSecurityGroups) { this.dbSecurityGroups = DBSecurityGroupNameListCopier.copy(dbSecurityGroups); return this; } @Override @SafeVarargs public final Builder dbSecurityGroups(String... dbSecurityGroups) { dbSecurityGroups(Arrays.asList(dbSecurityGroups)); 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 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 String getPreferredMaintenanceWindow() { return preferredMaintenanceWindow; } public final void setPreferredMaintenanceWindow(String preferredMaintenanceWindow) { this.preferredMaintenanceWindow = preferredMaintenanceWindow; } @Override public final Builder preferredMaintenanceWindow(String preferredMaintenanceWindow) { this.preferredMaintenanceWindow = preferredMaintenanceWindow; return this; } public final 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 Integer getBackupRetentionPeriod() { return backupRetentionPeriod; } public final void setBackupRetentionPeriod(Integer backupRetentionPeriod) { this.backupRetentionPeriod = backupRetentionPeriod; } @Override public final Builder backupRetentionPeriod(Integer backupRetentionPeriod) { this.backupRetentionPeriod = backupRetentionPeriod; return this; } public final String getPreferredBackupWindow() { return preferredBackupWindow; } public final void setPreferredBackupWindow(String preferredBackupWindow) { this.preferredBackupWindow = preferredBackupWindow; } @Override public final Builder preferredBackupWindow(String preferredBackupWindow) { this.preferredBackupWindow = preferredBackupWindow; return this; } public final Integer 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 Boolean getMultiAZ() { return multiAZ; } public final void setMultiAZ(Boolean multiAZ) { this.multiAZ = multiAZ; } @Override public final Builder multiAZ(Boolean multiAZ) { this.multiAZ = multiAZ; return this; } public final String getEngineVersion() { return engineVersion; } public final void setEngineVersion(String engineVersion) { this.engineVersion = engineVersion; } @Override public final Builder engineVersion(String engineVersion) { this.engineVersion = engineVersion; return this; } public final Boolean getAutoMinorVersionUpgrade() { return autoMinorVersionUpgrade; } public final void setAutoMinorVersionUpgrade(Boolean autoMinorVersionUpgrade) { this.autoMinorVersionUpgrade = autoMinorVersionUpgrade; } @Override public final Builder autoMinorVersionUpgrade(Boolean autoMinorVersionUpgrade) { this.autoMinorVersionUpgrade = autoMinorVersionUpgrade; return this; } public final String getLicenseModel() { return licenseModel; } public final void setLicenseModel(String licenseModel) { this.licenseModel = licenseModel; } @Override public final Builder licenseModel(String licenseModel) { this.licenseModel = licenseModel; return this; } public final Integer getIops() { return iops; } public final void setIops(Integer iops) { this.iops = iops; } @Override public final Builder iops(Integer iops) { this.iops = iops; return this; } public final 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 String getCharacterSetName() { return characterSetName; } public final void setCharacterSetName(String characterSetName) { this.characterSetName = characterSetName; } @Override public final Builder characterSetName(String characterSetName) { this.characterSetName = characterSetName; return this; } @Deprecated public final Boolean getPubliclyAccessible() { return publiclyAccessible; } @Deprecated public final void setPubliclyAccessible(Boolean publiclyAccessible) { this.publiclyAccessible = publiclyAccessible; } @Override @Deprecated public final Builder publiclyAccessible(Boolean publiclyAccessible) { this.publiclyAccessible = publiclyAccessible; 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 getDbClusterIdentifier() { return dbClusterIdentifier; } public final void setDbClusterIdentifier(String dbClusterIdentifier) { this.dbClusterIdentifier = dbClusterIdentifier; } @Override public final Builder dbClusterIdentifier(String dbClusterIdentifier) { this.dbClusterIdentifier = dbClusterIdentifier; 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 Boolean getStorageEncrypted() { return storageEncrypted; } public final void setStorageEncrypted(Boolean storageEncrypted) { this.storageEncrypted = storageEncrypted; } @Override public final Builder storageEncrypted(Boolean storageEncrypted) { this.storageEncrypted = storageEncrypted; return this; } public final String getKmsKeyId() { return kmsKeyId; } public final void setKmsKeyId(String kmsKeyId) { this.kmsKeyId = kmsKeyId; } @Override public final Builder kmsKeyId(String kmsKeyId) { this.kmsKeyId = kmsKeyId; return this; } public final 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 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 Integer getMonitoringInterval() { return monitoringInterval; } public final void setMonitoringInterval(Integer monitoringInterval) { this.monitoringInterval = monitoringInterval; } @Override public final Builder monitoringInterval(Integer monitoringInterval) { this.monitoringInterval = monitoringInterval; return this; } public final String getMonitoringRoleArn() { return monitoringRoleArn; } public final void setMonitoringRoleArn(String monitoringRoleArn) { this.monitoringRoleArn = monitoringRoleArn; } @Override public final Builder monitoringRoleArn(String monitoringRoleArn) { this.monitoringRoleArn = monitoringRoleArn; 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 Integer getPromotionTier() { return promotionTier; } public final void setPromotionTier(Integer promotionTier) { this.promotionTier = promotionTier; } @Override public final Builder promotionTier(Integer promotionTier) { this.promotionTier = promotionTier; return this; } public final String getTimezone() { return timezone; } public final void setTimezone(String timezone) { this.timezone = timezone; } @Override public final Builder timezone(String timezone) { this.timezone = timezone; 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 Boolean getEnablePerformanceInsights() { return enablePerformanceInsights; } public final void setEnablePerformanceInsights(Boolean enablePerformanceInsights) { this.enablePerformanceInsights = enablePerformanceInsights; } @Override public final Builder enablePerformanceInsights(Boolean enablePerformanceInsights) { this.enablePerformanceInsights = enablePerformanceInsights; return this; } public final String getPerformanceInsightsKMSKeyId() { return performanceInsightsKMSKeyId; } public final void setPerformanceInsightsKMSKeyId(String performanceInsightsKMSKeyId) { this.performanceInsightsKMSKeyId = performanceInsightsKMSKeyId; } @Override public final Builder performanceInsightsKMSKeyId(String performanceInsightsKMSKeyId) { this.performanceInsightsKMSKeyId = performanceInsightsKMSKeyId; 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 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; } @Override public Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration) { super.overrideConfiguration(overrideConfiguration); return this; } @Override public Builder overrideConfiguration(Consumer builderConsumer) { super.overrideConfiguration(builderConsumer); return this; } @Override public CreateDbInstanceRequest build() { return new CreateDbInstanceRequest(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy