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

software.amazon.awssdk.services.neptune.model.CreateDbClusterRequest 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 CreateDbClusterRequest extends NeptuneRequest implements
        ToCopyableBuilder {
    private static final SdkField> AVAILABILITY_ZONES_FIELD = SdkField
            .> builder(MarshallingType.LIST)
            .memberName("AvailabilityZones")
            .getter(getter(CreateDbClusterRequest::availabilityZones))
            .setter(setter(Builder::availabilityZones))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AvailabilityZones").build(),
                    ListTrait
                            .builder()
                            .memberLocationName("AvailabilityZone")
                            .memberFieldInfo(
                                    SdkField. builder(MarshallingType.STRING)
                                            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
                                                    .locationName("AvailabilityZone").build()).build()).build()).build();

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

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

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

    private static final SdkField DATABASE_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("DatabaseName").getter(getter(CreateDbClusterRequest::databaseName))
            .setter(setter(Builder::databaseName))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DatabaseName").build()).build();

    private static final SdkField DB_CLUSTER_IDENTIFIER_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("DBClusterIdentifier").getter(getter(CreateDbClusterRequest::dbClusterIdentifier))
            .setter(setter(Builder::dbClusterIdentifier))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBClusterIdentifier").build())
            .build();

    private static final SdkField DB_CLUSTER_PARAMETER_GROUP_NAME_FIELD = SdkField
            . builder(MarshallingType.STRING)
            .memberName("DBClusterParameterGroupName")
            .getter(getter(CreateDbClusterRequest::dbClusterParameterGroupName))
            .setter(setter(Builder::dbClusterParameterGroupName))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBClusterParameterGroupName")
                    .build()).build();

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

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

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

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

    private static final SdkField MASTER_USERNAME_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("MasterUsername").getter(getter(CreateDbClusterRequest::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(CreateDbClusterRequest::masterUserPassword))
            .setter(setter(Builder::masterUserPassword))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("MasterUserPassword").build())
            .build();

    private static final SdkField OPTION_GROUP_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("OptionGroupName").getter(getter(CreateDbClusterRequest::optionGroupName))
            .setter(setter(Builder::optionGroupName))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("OptionGroupName").build()).build();

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

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

    private static final SdkField REPLICATION_SOURCE_IDENTIFIER_FIELD = SdkField
            . builder(MarshallingType.STRING)
            .memberName("ReplicationSourceIdentifier")
            .getter(getter(CreateDbClusterRequest::replicationSourceIdentifier))
            .setter(setter(Builder::replicationSourceIdentifier))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ReplicationSourceIdentifier")
                    .build()).build();

    private static final SdkField> TAGS_FIELD = SdkField
            .> builder(MarshallingType.LIST)
            .memberName("Tags")
            .getter(getter(CreateDbClusterRequest::tags))
            .setter(setter(Builder::tags))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Tags").build(),
                    ListTrait
                            .builder()
                            .memberLocationName("Tag")
                            .memberFieldInfo(
                                    SdkField. builder(MarshallingType.SDK_POJO)
                                            .constructor(Tag::builder)
                                            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
                                                    .locationName("Tag").build()).build()).build()).build();

    private static final SdkField STORAGE_ENCRYPTED_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
            .memberName("StorageEncrypted").getter(getter(CreateDbClusterRequest::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(CreateDbClusterRequest::kmsKeyId)).setter(setter(Builder::kmsKeyId))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("KmsKeyId").build()).build();

    private static final SdkField PRE_SIGNED_URL_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("PreSignedUrl").getter(getter(CreateDbClusterRequest::preSignedUrl))
            .setter(setter(Builder::preSignedUrl))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("PreSignedUrl").build()).build();

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

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

    private static final SdkField SERVERLESS_V2_SCALING_CONFIGURATION_FIELD = SdkField
            . builder(MarshallingType.SDK_POJO)
            .memberName("ServerlessV2ScalingConfiguration")
            .getter(getter(CreateDbClusterRequest::serverlessV2ScalingConfiguration))
            .setter(setter(Builder::serverlessV2ScalingConfiguration))
            .constructor(ServerlessV2ScalingConfiguration::builder)
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ServerlessV2ScalingConfiguration")
                    .build()).build();

    private static final SdkField GLOBAL_CLUSTER_IDENTIFIER_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("GlobalClusterIdentifier").getter(getter(CreateDbClusterRequest::globalClusterIdentifier))
            .setter(setter(Builder::globalClusterIdentifier))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("GlobalClusterIdentifier").build())
            .build();

    private static final SdkField SOURCE_REGION_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("SourceRegion").getter(getter(CreateDbClusterRequest::sourceRegion))
            .setter(setter(Builder::sourceRegion))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SourceRegion").build()).build();

    private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(AVAILABILITY_ZONES_FIELD,
            BACKUP_RETENTION_PERIOD_FIELD, CHARACTER_SET_NAME_FIELD, COPY_TAGS_TO_SNAPSHOT_FIELD, DATABASE_NAME_FIELD,
            DB_CLUSTER_IDENTIFIER_FIELD, DB_CLUSTER_PARAMETER_GROUP_NAME_FIELD, VPC_SECURITY_GROUP_IDS_FIELD,
            DB_SUBNET_GROUP_NAME_FIELD, ENGINE_FIELD, ENGINE_VERSION_FIELD, PORT_FIELD, MASTER_USERNAME_FIELD,
            MASTER_USER_PASSWORD_FIELD, OPTION_GROUP_NAME_FIELD, PREFERRED_BACKUP_WINDOW_FIELD,
            PREFERRED_MAINTENANCE_WINDOW_FIELD, REPLICATION_SOURCE_IDENTIFIER_FIELD, TAGS_FIELD, STORAGE_ENCRYPTED_FIELD,
            KMS_KEY_ID_FIELD, PRE_SIGNED_URL_FIELD, ENABLE_IAM_DATABASE_AUTHENTICATION_FIELD,
            ENABLE_CLOUDWATCH_LOGS_EXPORTS_FIELD, DELETION_PROTECTION_FIELD, SERVERLESS_V2_SCALING_CONFIGURATION_FIELD,
            GLOBAL_CLUSTER_IDENTIFIER_FIELD, SOURCE_REGION_FIELD));

    private final List availabilityZones;

    private final Integer backupRetentionPeriod;

    private final String characterSetName;

    private final Boolean copyTagsToSnapshot;

    private final String databaseName;

    private final String dbClusterIdentifier;

    private final String dbClusterParameterGroupName;

    private final List vpcSecurityGroupIds;

    private final String dbSubnetGroupName;

    private final String engine;

    private final String engineVersion;

    private final Integer port;

    private final String masterUsername;

    private final String masterUserPassword;

    private final String optionGroupName;

    private final String preferredBackupWindow;

    private final String preferredMaintenanceWindow;

    private final String replicationSourceIdentifier;

    private final List tags;

    private final Boolean storageEncrypted;

    private final String kmsKeyId;

    private final String preSignedUrl;

    private final Boolean enableIAMDatabaseAuthentication;

    private final List enableCloudwatchLogsExports;

    private final Boolean deletionProtection;

    private final ServerlessV2ScalingConfiguration serverlessV2ScalingConfiguration;

    private final String globalClusterIdentifier;

    private final String sourceRegion;

    private CreateDbClusterRequest(BuilderImpl builder) {
        super(builder);
        this.availabilityZones = builder.availabilityZones;
        this.backupRetentionPeriod = builder.backupRetentionPeriod;
        this.characterSetName = builder.characterSetName;
        this.copyTagsToSnapshot = builder.copyTagsToSnapshot;
        this.databaseName = builder.databaseName;
        this.dbClusterIdentifier = builder.dbClusterIdentifier;
        this.dbClusterParameterGroupName = builder.dbClusterParameterGroupName;
        this.vpcSecurityGroupIds = builder.vpcSecurityGroupIds;
        this.dbSubnetGroupName = builder.dbSubnetGroupName;
        this.engine = builder.engine;
        this.engineVersion = builder.engineVersion;
        this.port = builder.port;
        this.masterUsername = builder.masterUsername;
        this.masterUserPassword = builder.masterUserPassword;
        this.optionGroupName = builder.optionGroupName;
        this.preferredBackupWindow = builder.preferredBackupWindow;
        this.preferredMaintenanceWindow = builder.preferredMaintenanceWindow;
        this.replicationSourceIdentifier = builder.replicationSourceIdentifier;
        this.tags = builder.tags;
        this.storageEncrypted = builder.storageEncrypted;
        this.kmsKeyId = builder.kmsKeyId;
        this.preSignedUrl = builder.preSignedUrl;
        this.enableIAMDatabaseAuthentication = builder.enableIAMDatabaseAuthentication;
        this.enableCloudwatchLogsExports = builder.enableCloudwatchLogsExports;
        this.deletionProtection = builder.deletionProtection;
        this.serverlessV2ScalingConfiguration = builder.serverlessV2ScalingConfiguration;
        this.globalClusterIdentifier = builder.globalClusterIdentifier;
        this.sourceRegion = builder.sourceRegion;
    }

    /**
     * For responses, this returns true if the service returned a value for the AvailabilityZones 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 hasAvailabilityZones() {
        return availabilityZones != null && !(availabilityZones instanceof SdkAutoConstructList);
    }

    /**
     * 

* A list of EC2 Availability Zones that instances in the DB cluster can be created in. *

*

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

* * @return A list of EC2 Availability Zones that instances in the DB cluster can be created in. */ public final List availabilityZones() { return availabilityZones; } /** *

* The number of days for which automated backups are retained. You must specify a minimum value of 1. *

*

* Default: 1 *

*

* Constraints: *

*
    *
  • *

    * Must be a value from 1 to 35 *

    *
  • *
* * @return The number of days for which automated backups are retained. You must specify a minimum value of 1.

*

* Default: 1 *

*

* Constraints: *

*
    *
  • *

    * Must be a value from 1 to 35 *

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

    * (Not supported by Neptune) *

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

    * If set to true, tags are copied to any snapshot of the DB cluster that is created. *

    * * @return If set to true, tags are copied to any snapshot of the DB cluster that is created. */ public final Boolean copyTagsToSnapshot() { return copyTagsToSnapshot; } /** *

    * The name for your database of up to 64 alpha-numeric characters. If you do not provide a name, Amazon Neptune * will not create a database in the DB cluster you are creating. *

    * * @return The name for your database of up to 64 alpha-numeric characters. If you do not provide a name, Amazon * Neptune will not create a database in the DB cluster you are creating. */ public final String databaseName() { return databaseName; } /** *

    * The DB cluster 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: my-cluster1 *

    * * @return The DB cluster 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: my-cluster1 */ public final String dbClusterIdentifier() { return dbClusterIdentifier; } /** *

    * The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, the * default is used. *

    *

    * Constraints: *

    *
      *
    • *

      * If supplied, must match the name of an existing DBClusterParameterGroup. *

      *
    • *
    * * @return The name of the DB cluster parameter group to associate with this DB cluster. If this argument is * omitted, the default is used.

    *

    * Constraints: *

    *
      *
    • *

      * If supplied, must match the name of an existing DBClusterParameterGroup. *

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

      *

      * 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 cluster. */ public final List vpcSecurityGroupIds() { return vpcSecurityGroupIds; } /** *

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

      *

      * Constraints: Must match the name of an existing DBSubnetGroup. Must not be default. *

      *

      * Example: mySubnetgroup *

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

      *

      * Constraints: Must match the name of an existing DBSubnetGroup. Must not be default. *

      *

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

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

      *

      * Valid Values: neptune *

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

      *

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

      * The version number of the database engine to use for the new DB cluster. *

      *

      * Example: 1.0.2.1 *

      * * @return The version number of the database engine to use for the new DB cluster.

      *

      * Example: 1.0.2.1 */ public final String engineVersion() { return engineVersion; } /** *

      * The port number on which the instances in the DB cluster accept connections. *

      *

      * Default: 8182 *

      * * @return The port number on which the instances in the DB cluster accept connections.

      *

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

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

      * (Not supported by Neptune) *

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

      * The daily time range during which automated backups are created if automated backups are enabled using the * BackupRetentionPeriod parameter. *

      *

      * The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Region. To see * the time blocks available, see Neptune Maintenance Window in the Amazon Neptune User Guide. *

      *

      * Constraints: *

      *
        *
      • *

        * Must be in the format hh24:mi-hh24:mi. *

        *
      • *
      • *

        * Must be in Universal Coordinated Time (UTC). *

        *
      • *
      • *

        * Must not conflict with the preferred maintenance window. *

        *
      • *
      • *

        * Must be at least 30 minutes. *

        *
      • *
      * * @return The daily time range during which automated backups are created if automated backups are enabled using * the BackupRetentionPeriod parameter.

      *

      * The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Region. * To see the time blocks available, see Neptune Maintenance Window in the Amazon Neptune User Guide. *

      *

      * Constraints: *

      *
        *
      • *

        * Must be in the format hh24:mi-hh24:mi. *

        *
      • *
      • *

        * Must be in Universal Coordinated Time (UTC). *

        *
      • *
      • *

        * Must not conflict with the preferred maintenance window. *

        *
      • *
      • *

        * Must be at least 30 minutes. *

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

        * The weekly time range 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. To see the time blocks available, see Neptune Maintenance Window in the Amazon Neptune User Guide. *

        *

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

        *

        * Constraints: Minimum 30-minute window. *

        * * @return The weekly time range 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. To see the time blocks available, see Neptune Maintenance Window in the Amazon Neptune User Guide. *

        *

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

        *

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

        * The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a Read * Replica. *

        * * @return The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a * Read Replica. */ public final String replicationSourceIdentifier() { return replicationSourceIdentifier; } /** * 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 DB cluster. *

        *

        * 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 DB cluster. */ public final List tags() { return tags; } /** *

        * Specifies whether the DB cluster is encrypted. *

        * * @return Specifies whether the DB cluster is encrypted. */ public final Boolean storageEncrypted() { return storageEncrypted; } /** *

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

        *

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

        *

        * If an encryption key is not specified in KmsKeyId: *

        *
          *
        • *

          * If ReplicationSourceIdentifier identifies an encrypted source, then Amazon Neptune will use the * encryption key used to encrypt the source. Otherwise, Amazon Neptune will use your default encryption key. *

          *
        • *
        • *

          * If the StorageEncrypted parameter is true and ReplicationSourceIdentifier is not * specified, 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. *

        *

        * If you create a Read Replica of an encrypted DB cluster in another Amazon Region, you must set * KmsKeyId to a KMS key ID that is valid in the destination Amazon Region. This key is used to encrypt * the Read Replica in that Amazon Region. *

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

        *

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

        *

        * If an encryption key is not specified in KmsKeyId: *

        *
          *
        • *

          * If ReplicationSourceIdentifier identifies an encrypted source, then Amazon Neptune will use * the encryption key used to encrypt the source. Otherwise, Amazon Neptune will use your default encryption * key. *

          *
        • *
        • *

          * If the StorageEncrypted parameter is true and ReplicationSourceIdentifier is * not specified, 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. *

        *

        * If you create a Read Replica of an encrypted DB cluster in another Amazon Region, you must set * KmsKeyId to a KMS key ID that is valid in the destination Amazon Region. This key is used to * encrypt the Read Replica in that Amazon Region. */ public final String kmsKeyId() { return kmsKeyId; } /** *

        * This parameter is not currently supported. *

        * * @return This parameter is not currently supported. */ public final String preSignedUrl() { return preSignedUrl; } /** *

        * If set to true, enables Amazon Identity and Access Management (IAM) authentication for the entire DB * cluster (this cannot be set at an instance level). *

        *

        * Default: false. *

        * * @return If set to true, enables Amazon Identity and Access Management (IAM) authentication for the * entire DB cluster (this cannot be set at an instance level).

        *

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

        * The list of 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 cluster has deletion protection enabled. The database can't be deleted when * deletion protection is enabled. By default, deletion protection is enabled. *

        * * @return A value that indicates whether the DB cluster has deletion protection enabled. The database can't be * deleted when deletion protection is enabled. By default, deletion protection is enabled. */ public final Boolean deletionProtection() { return deletionProtection; } /** *

        * Contains the scaling configuration of a Neptune Serverless DB cluster. *

        *

        * For more information, see Using Amazon Neptune * Serverless in the Amazon Neptune User Guide. *

        * * @return Contains the scaling configuration of a Neptune Serverless DB cluster.

        *

        * For more information, see Using Amazon * Neptune Serverless in the Amazon Neptune User Guide. */ public final ServerlessV2ScalingConfiguration serverlessV2ScalingConfiguration() { return serverlessV2ScalingConfiguration; } /** *

        * The ID of the Neptune global database to which this new DB cluster should be added. *

        * * @return The ID of the Neptune global database to which this new DB cluster should be added. */ public final String globalClusterIdentifier() { return globalClusterIdentifier; } /** * If PreSignedUrl is not specified, this is the region where the source snapshot is located. A PreSignedUrl will be * generated automatically by the SDK. * * @return If PreSignedUrl is not specified, this is the region where the source snapshot is located. A PreSignedUrl * will be generated automatically by the SDK. */ public final String sourceRegion() { return sourceRegion; } @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(hasAvailabilityZones() ? availabilityZones() : null); hashCode = 31 * hashCode + Objects.hashCode(backupRetentionPeriod()); hashCode = 31 * hashCode + Objects.hashCode(characterSetName()); hashCode = 31 * hashCode + Objects.hashCode(copyTagsToSnapshot()); hashCode = 31 * hashCode + Objects.hashCode(databaseName()); hashCode = 31 * hashCode + Objects.hashCode(dbClusterIdentifier()); hashCode = 31 * hashCode + Objects.hashCode(dbClusterParameterGroupName()); hashCode = 31 * hashCode + Objects.hashCode(hasVpcSecurityGroupIds() ? vpcSecurityGroupIds() : null); hashCode = 31 * hashCode + Objects.hashCode(dbSubnetGroupName()); hashCode = 31 * hashCode + Objects.hashCode(engine()); hashCode = 31 * hashCode + Objects.hashCode(engineVersion()); hashCode = 31 * hashCode + Objects.hashCode(port()); hashCode = 31 * hashCode + Objects.hashCode(masterUsername()); hashCode = 31 * hashCode + Objects.hashCode(masterUserPassword()); hashCode = 31 * hashCode + Objects.hashCode(optionGroupName()); hashCode = 31 * hashCode + Objects.hashCode(preferredBackupWindow()); hashCode = 31 * hashCode + Objects.hashCode(preferredMaintenanceWindow()); hashCode = 31 * hashCode + Objects.hashCode(replicationSourceIdentifier()); hashCode = 31 * hashCode + Objects.hashCode(hasTags() ? tags() : null); hashCode = 31 * hashCode + Objects.hashCode(storageEncrypted()); hashCode = 31 * hashCode + Objects.hashCode(kmsKeyId()); hashCode = 31 * hashCode + Objects.hashCode(preSignedUrl()); hashCode = 31 * hashCode + Objects.hashCode(enableIAMDatabaseAuthentication()); hashCode = 31 * hashCode + Objects.hashCode(hasEnableCloudwatchLogsExports() ? enableCloudwatchLogsExports() : null); hashCode = 31 * hashCode + Objects.hashCode(deletionProtection()); hashCode = 31 * hashCode + Objects.hashCode(serverlessV2ScalingConfiguration()); hashCode = 31 * hashCode + Objects.hashCode(globalClusterIdentifier()); hashCode = 31 * hashCode + Objects.hashCode(sourceRegion()); 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 CreateDbClusterRequest)) { return false; } CreateDbClusterRequest other = (CreateDbClusterRequest) obj; return hasAvailabilityZones() == other.hasAvailabilityZones() && Objects.equals(availabilityZones(), other.availabilityZones()) && Objects.equals(backupRetentionPeriod(), other.backupRetentionPeriod()) && Objects.equals(characterSetName(), other.characterSetName()) && Objects.equals(copyTagsToSnapshot(), other.copyTagsToSnapshot()) && Objects.equals(databaseName(), other.databaseName()) && Objects.equals(dbClusterIdentifier(), other.dbClusterIdentifier()) && Objects.equals(dbClusterParameterGroupName(), other.dbClusterParameterGroupName()) && hasVpcSecurityGroupIds() == other.hasVpcSecurityGroupIds() && Objects.equals(vpcSecurityGroupIds(), other.vpcSecurityGroupIds()) && Objects.equals(dbSubnetGroupName(), other.dbSubnetGroupName()) && Objects.equals(engine(), other.engine()) && Objects.equals(engineVersion(), other.engineVersion()) && Objects.equals(port(), other.port()) && Objects.equals(masterUsername(), other.masterUsername()) && Objects.equals(masterUserPassword(), other.masterUserPassword()) && Objects.equals(optionGroupName(), other.optionGroupName()) && Objects.equals(preferredBackupWindow(), other.preferredBackupWindow()) && Objects.equals(preferredMaintenanceWindow(), other.preferredMaintenanceWindow()) && Objects.equals(replicationSourceIdentifier(), other.replicationSourceIdentifier()) && hasTags() == other.hasTags() && Objects.equals(tags(), other.tags()) && Objects.equals(storageEncrypted(), other.storageEncrypted()) && Objects.equals(kmsKeyId(), other.kmsKeyId()) && Objects.equals(preSignedUrl(), other.preSignedUrl()) && Objects.equals(enableIAMDatabaseAuthentication(), other.enableIAMDatabaseAuthentication()) && hasEnableCloudwatchLogsExports() == other.hasEnableCloudwatchLogsExports() && Objects.equals(enableCloudwatchLogsExports(), other.enableCloudwatchLogsExports()) && Objects.equals(deletionProtection(), other.deletionProtection()) && Objects.equals(serverlessV2ScalingConfiguration(), other.serverlessV2ScalingConfiguration()) && Objects.equals(globalClusterIdentifier(), other.globalClusterIdentifier()) && Objects.equals(sourceRegion(), other.sourceRegion()); } /** * 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("CreateDbClusterRequest") .add("AvailabilityZones", hasAvailabilityZones() ? availabilityZones() : null) .add("BackupRetentionPeriod", backupRetentionPeriod()).add("CharacterSetName", characterSetName()) .add("CopyTagsToSnapshot", copyTagsToSnapshot()).add("DatabaseName", databaseName()) .add("DBClusterIdentifier", dbClusterIdentifier()) .add("DBClusterParameterGroupName", dbClusterParameterGroupName()) .add("VpcSecurityGroupIds", hasVpcSecurityGroupIds() ? vpcSecurityGroupIds() : null) .add("DBSubnetGroupName", dbSubnetGroupName()).add("Engine", engine()).add("EngineVersion", engineVersion()) .add("Port", port()).add("MasterUsername", masterUsername()).add("MasterUserPassword", masterUserPassword()) .add("OptionGroupName", optionGroupName()).add("PreferredBackupWindow", preferredBackupWindow()) .add("PreferredMaintenanceWindow", preferredMaintenanceWindow()) .add("ReplicationSourceIdentifier", replicationSourceIdentifier()).add("Tags", hasTags() ? tags() : null) .add("StorageEncrypted", storageEncrypted()).add("KmsKeyId", kmsKeyId()).add("PreSignedUrl", preSignedUrl()) .add("EnableIAMDatabaseAuthentication", enableIAMDatabaseAuthentication()) .add("EnableCloudwatchLogsExports", hasEnableCloudwatchLogsExports() ? enableCloudwatchLogsExports() : null) .add("DeletionProtection", deletionProtection()) .add("ServerlessV2ScalingConfiguration", serverlessV2ScalingConfiguration()) .add("GlobalClusterIdentifier", globalClusterIdentifier()).add("SourceRegion", sourceRegion()).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "AvailabilityZones": return Optional.ofNullable(clazz.cast(availabilityZones())); case "BackupRetentionPeriod": return Optional.ofNullable(clazz.cast(backupRetentionPeriod())); case "CharacterSetName": return Optional.ofNullable(clazz.cast(characterSetName())); case "CopyTagsToSnapshot": return Optional.ofNullable(clazz.cast(copyTagsToSnapshot())); case "DatabaseName": return Optional.ofNullable(clazz.cast(databaseName())); case "DBClusterIdentifier": return Optional.ofNullable(clazz.cast(dbClusterIdentifier())); case "DBClusterParameterGroupName": return Optional.ofNullable(clazz.cast(dbClusterParameterGroupName())); case "VpcSecurityGroupIds": return Optional.ofNullable(clazz.cast(vpcSecurityGroupIds())); case "DBSubnetGroupName": return Optional.ofNullable(clazz.cast(dbSubnetGroupName())); case "Engine": return Optional.ofNullable(clazz.cast(engine())); case "EngineVersion": return Optional.ofNullable(clazz.cast(engineVersion())); case "Port": return Optional.ofNullable(clazz.cast(port())); case "MasterUsername": return Optional.ofNullable(clazz.cast(masterUsername())); case "MasterUserPassword": return Optional.ofNullable(clazz.cast(masterUserPassword())); case "OptionGroupName": return Optional.ofNullable(clazz.cast(optionGroupName())); case "PreferredBackupWindow": return Optional.ofNullable(clazz.cast(preferredBackupWindow())); case "PreferredMaintenanceWindow": return Optional.ofNullable(clazz.cast(preferredMaintenanceWindow())); case "ReplicationSourceIdentifier": return Optional.ofNullable(clazz.cast(replicationSourceIdentifier())); case "Tags": return Optional.ofNullable(clazz.cast(tags())); case "StorageEncrypted": return Optional.ofNullable(clazz.cast(storageEncrypted())); case "KmsKeyId": return Optional.ofNullable(clazz.cast(kmsKeyId())); case "PreSignedUrl": return Optional.ofNullable(clazz.cast(preSignedUrl())); case "EnableIAMDatabaseAuthentication": return Optional.ofNullable(clazz.cast(enableIAMDatabaseAuthentication())); case "EnableCloudwatchLogsExports": return Optional.ofNullable(clazz.cast(enableCloudwatchLogsExports())); case "DeletionProtection": return Optional.ofNullable(clazz.cast(deletionProtection())); case "ServerlessV2ScalingConfiguration": return Optional.ofNullable(clazz.cast(serverlessV2ScalingConfiguration())); case "GlobalClusterIdentifier": return Optional.ofNullable(clazz.cast(globalClusterIdentifier())); case "SourceRegion": return Optional.ofNullable(clazz.cast(sourceRegion())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((CreateDbClusterRequest) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends NeptuneRequest.Builder, SdkPojo, CopyableBuilder { /** *

        * A list of EC2 Availability Zones that instances in the DB cluster can be created in. *

        * * @param availabilityZones * A list of EC2 Availability Zones that instances in the DB cluster can be created in. * @return Returns a reference to this object so that method calls can be chained together. */ Builder availabilityZones(Collection availabilityZones); /** *

        * A list of EC2 Availability Zones that instances in the DB cluster can be created in. *

        * * @param availabilityZones * A list of EC2 Availability Zones that instances in the DB cluster can be created in. * @return Returns a reference to this object so that method calls can be chained together. */ Builder availabilityZones(String... availabilityZones); /** *

        * The number of days for which automated backups are retained. You must specify a minimum value of 1. *

        *

        * Default: 1 *

        *

        * Constraints: *

        *
          *
        • *

          * Must be a value from 1 to 35 *

          *
        • *
        * * @param backupRetentionPeriod * The number of days for which automated backups are retained. You must specify a minimum value of * 1.

        *

        * Default: 1 *

        *

        * Constraints: *

        *
          *
        • *

          * Must be a value from 1 to 35 *

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

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

          * If set to true, tags are copied to any snapshot of the DB cluster that is created. *

          * * @param copyTagsToSnapshot * If set to true, tags are copied to any snapshot of the DB cluster that is created. * @return Returns a reference to this object so that method calls can be chained together. */ Builder copyTagsToSnapshot(Boolean copyTagsToSnapshot); /** *

          * The name for your database of up to 64 alpha-numeric characters. If you do not provide a name, Amazon Neptune * will not create a database in the DB cluster you are creating. *

          * * @param databaseName * The name for your database of up to 64 alpha-numeric characters. If you do not provide a name, Amazon * Neptune will not create a database in the DB cluster you are creating. * @return Returns a reference to this object so that method calls can be chained together. */ Builder databaseName(String databaseName); /** *

          * The DB cluster 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: my-cluster1 *

          * * @param dbClusterIdentifier * The DB cluster 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: my-cluster1 * @return Returns a reference to this object so that method calls can be chained together. */ Builder dbClusterIdentifier(String dbClusterIdentifier); /** *

          * The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, * the default is used. *

          *

          * Constraints: *

          *
            *
          • *

            * If supplied, must match the name of an existing DBClusterParameterGroup. *

            *
          • *
          * * @param dbClusterParameterGroupName * The name of the DB cluster parameter group to associate with this DB cluster. If this argument is * omitted, the default is used.

          *

          * Constraints: *

          *
            *
          • *

            * If supplied, must match the name of an existing DBClusterParameterGroup. *

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

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

            * * @param vpcSecurityGroupIds * A list of EC2 VPC security groups to associate with this DB cluster. * @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 cluster. *

            * * @param vpcSecurityGroupIds * A list of EC2 VPC security groups to associate with this DB cluster. * @return Returns a reference to this object so that method calls can be chained together. */ Builder vpcSecurityGroupIds(String... vpcSecurityGroupIds); /** *

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

            *

            * Constraints: Must match the name of an existing DBSubnetGroup. Must not be default. *

            *

            * Example: mySubnetgroup *

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

            *

            * Constraints: Must match the name of an existing DBSubnetGroup. Must not be default. *

            *

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

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

            *

            * Valid Values: neptune *

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

            *

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

            * The version number of the database engine to use for the new DB cluster. *

            *

            * Example: 1.0.2.1 *

            * * @param engineVersion * The version number of the database engine to use for the new DB cluster.

            *

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

            * The port number on which the instances in the DB cluster accept connections. *

            *

            * Default: 8182 *

            * * @param port * The port number on which the instances in the DB cluster accept connections.

            *

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

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

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

            * The daily time range during which automated backups are created if automated backups are enabled using the * BackupRetentionPeriod parameter. *

            *

            * The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Region. To * see the time blocks available, see Neptune Maintenance Window in the Amazon Neptune User Guide. *

            *

            * Constraints: *

            *
              *
            • *

              * Must be in the format hh24:mi-hh24:mi. *

              *
            • *
            • *

              * Must be in Universal Coordinated Time (UTC). *

              *
            • *
            • *

              * Must not conflict with the preferred maintenance window. *

              *
            • *
            • *

              * Must be at least 30 minutes. *

              *
            • *
            * * @param preferredBackupWindow * The daily time range during which automated backups are created if automated backups are enabled using * the BackupRetentionPeriod parameter.

            *

            * The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon * Region. To see the time blocks available, see Neptune Maintenance Window in the Amazon Neptune User Guide. *

            *

            * Constraints: *

            *
              *
            • *

              * Must be in the format hh24:mi-hh24:mi. *

              *
            • *
            • *

              * Must be in Universal Coordinated Time (UTC). *

              *
            • *
            • *

              * Must not conflict with the preferred maintenance window. *

              *
            • *
            • *

              * Must be at least 30 minutes. *

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

              * The weekly time range 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. To see the time blocks available, see Neptune Maintenance Window in the Amazon Neptune User Guide. *

              *

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

              *

              * Constraints: Minimum 30-minute window. *

              * * @param preferredMaintenanceWindow * The weekly time range 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. To see the time blocks available, see Neptune Maintenance Window in the Amazon Neptune User Guide. *

              *

              * 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 Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a * Read Replica. *

              * * @param replicationSourceIdentifier * The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created * as a Read Replica. * @return Returns a reference to this object so that method calls can be chained together. */ Builder replicationSourceIdentifier(String replicationSourceIdentifier); /** *

              * The tags to assign to the new DB cluster. *

              * * @param tags * The tags to assign to the new DB cluster. * @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 DB cluster. *

              * * @param tags * The tags to assign to the new DB cluster. * @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 DB cluster. *

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

              * Specifies whether the DB cluster is encrypted. *

              * * @param storageEncrypted * Specifies whether the DB cluster is encrypted. * @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 cluster. *

              *

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

              *

              * If an encryption key is not specified in KmsKeyId: *

              *
                *
              • *

                * If ReplicationSourceIdentifier identifies an encrypted source, then Amazon Neptune will use the * encryption key used to encrypt the source. Otherwise, Amazon Neptune will use your default encryption key. *

                *
              • *
              • *

                * If the StorageEncrypted parameter is true and ReplicationSourceIdentifier is not * specified, 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. *

              *

              * If you create a Read Replica of an encrypted DB cluster in another Amazon Region, you must set * KmsKeyId to a KMS key ID that is valid in the destination Amazon Region. This key is used to * encrypt the Read Replica in that Amazon Region. *

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

              *

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

              *

              * If an encryption key is not specified in KmsKeyId: *

              *
                *
              • *

                * If ReplicationSourceIdentifier identifies an encrypted source, then Amazon Neptune will * use the encryption key used to encrypt the source. Otherwise, Amazon Neptune will use your default * encryption key. *

                *
              • *
              • *

                * If the StorageEncrypted parameter is true and ReplicationSourceIdentifier is * not specified, 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. *

              *

              * If you create a Read Replica of an encrypted DB cluster in another Amazon Region, you must set * KmsKeyId to a KMS key ID that is valid in the destination Amazon Region. This key is used * to encrypt the Read Replica in that Amazon Region. * @return Returns a reference to this object so that method calls can be chained together. */ Builder kmsKeyId(String kmsKeyId); /** *

              * This parameter is not currently supported. *

              * * @param preSignedUrl * This parameter is not currently supported. * @return Returns a reference to this object so that method calls can be chained together. */ Builder preSignedUrl(String preSignedUrl); /** *

              * If set to true, enables Amazon Identity and Access Management (IAM) authentication for the * entire DB cluster (this cannot be set at an instance level). *

              *

              * Default: false. *

              * * @param enableIAMDatabaseAuthentication * If set to true, enables Amazon Identity and Access Management (IAM) authentication for * the entire DB cluster (this cannot be set at an instance level).

              *

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

              * 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 cluster has deletion protection enabled. The database can't be deleted * when deletion protection is enabled. By default, deletion protection is enabled. *

              * * @param deletionProtection * A value that indicates whether the DB cluster has deletion protection enabled. The database can't be * deleted when deletion protection is enabled. By default, deletion protection is enabled. * @return Returns a reference to this object so that method calls can be chained together. */ Builder deletionProtection(Boolean deletionProtection); /** *

              * Contains the scaling configuration of a Neptune Serverless DB cluster. *

              *

              * For more information, see Using Amazon * Neptune Serverless in the Amazon Neptune User Guide. *

              * * @param serverlessV2ScalingConfiguration * Contains the scaling configuration of a Neptune Serverless DB cluster.

              *

              * For more information, see Using Amazon * Neptune Serverless in the Amazon Neptune User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ Builder serverlessV2ScalingConfiguration(ServerlessV2ScalingConfiguration serverlessV2ScalingConfiguration); /** *

              * Contains the scaling configuration of a Neptune Serverless DB cluster. *

              *

              * For more information, see Using Amazon * Neptune Serverless in the Amazon Neptune User Guide. *

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

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

              * The ID of the Neptune global database to which this new DB cluster should be added. *

              * * @param globalClusterIdentifier * The ID of the Neptune global database to which this new DB cluster should be added. * @return Returns a reference to this object so that method calls can be chained together. */ Builder globalClusterIdentifier(String globalClusterIdentifier); /** * If PreSignedUrl is not specified, this is the region where the source snapshot is located. A PreSignedUrl * will be generated automatically by the SDK. * * @param sourceRegion * If PreSignedUrl is not specified, this is the region where the source snapshot is located. A * PreSignedUrl will be generated automatically by the SDK. * @return Returns a reference to this object so that method calls can be chained together. */ Builder sourceRegion(String sourceRegion); @Override Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration); @Override Builder overrideConfiguration(Consumer builderConsumer); } static final class BuilderImpl extends NeptuneRequest.BuilderImpl implements Builder { private List availabilityZones = DefaultSdkAutoConstructList.getInstance(); private Integer backupRetentionPeriod; private String characterSetName; private Boolean copyTagsToSnapshot; private String databaseName; private String dbClusterIdentifier; private String dbClusterParameterGroupName; private List vpcSecurityGroupIds = DefaultSdkAutoConstructList.getInstance(); private String dbSubnetGroupName; private String engine; private String engineVersion; private Integer port; private String masterUsername; private String masterUserPassword; private String optionGroupName; private String preferredBackupWindow; private String preferredMaintenanceWindow; private String replicationSourceIdentifier; private List tags = DefaultSdkAutoConstructList.getInstance(); private Boolean storageEncrypted; private String kmsKeyId; private String preSignedUrl; private Boolean enableIAMDatabaseAuthentication; private List enableCloudwatchLogsExports = DefaultSdkAutoConstructList.getInstance(); private Boolean deletionProtection; private ServerlessV2ScalingConfiguration serverlessV2ScalingConfiguration; private String globalClusterIdentifier; private String sourceRegion; private BuilderImpl() { } private BuilderImpl(CreateDbClusterRequest model) { super(model); availabilityZones(model.availabilityZones); backupRetentionPeriod(model.backupRetentionPeriod); characterSetName(model.characterSetName); copyTagsToSnapshot(model.copyTagsToSnapshot); databaseName(model.databaseName); dbClusterIdentifier(model.dbClusterIdentifier); dbClusterParameterGroupName(model.dbClusterParameterGroupName); vpcSecurityGroupIds(model.vpcSecurityGroupIds); dbSubnetGroupName(model.dbSubnetGroupName); engine(model.engine); engineVersion(model.engineVersion); port(model.port); masterUsername(model.masterUsername); masterUserPassword(model.masterUserPassword); optionGroupName(model.optionGroupName); preferredBackupWindow(model.preferredBackupWindow); preferredMaintenanceWindow(model.preferredMaintenanceWindow); replicationSourceIdentifier(model.replicationSourceIdentifier); tags(model.tags); storageEncrypted(model.storageEncrypted); kmsKeyId(model.kmsKeyId); preSignedUrl(model.preSignedUrl); enableIAMDatabaseAuthentication(model.enableIAMDatabaseAuthentication); enableCloudwatchLogsExports(model.enableCloudwatchLogsExports); deletionProtection(model.deletionProtection); serverlessV2ScalingConfiguration(model.serverlessV2ScalingConfiguration); globalClusterIdentifier(model.globalClusterIdentifier); sourceRegion(model.sourceRegion); } public final Collection getAvailabilityZones() { if (availabilityZones instanceof SdkAutoConstructList) { return null; } return availabilityZones; } public final void setAvailabilityZones(Collection availabilityZones) { this.availabilityZones = AvailabilityZonesCopier.copy(availabilityZones); } @Override public final Builder availabilityZones(Collection availabilityZones) { this.availabilityZones = AvailabilityZonesCopier.copy(availabilityZones); return this; } @Override @SafeVarargs public final Builder availabilityZones(String... availabilityZones) { availabilityZones(Arrays.asList(availabilityZones)); 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 getCharacterSetName() { return characterSetName; } public final void setCharacterSetName(String characterSetName) { this.characterSetName = characterSetName; } @Override public final Builder characterSetName(String characterSetName) { this.characterSetName = characterSetName; return this; } public final Boolean getCopyTagsToSnapshot() { return copyTagsToSnapshot; } public final void setCopyTagsToSnapshot(Boolean copyTagsToSnapshot) { this.copyTagsToSnapshot = copyTagsToSnapshot; } @Override public final Builder copyTagsToSnapshot(Boolean copyTagsToSnapshot) { this.copyTagsToSnapshot = copyTagsToSnapshot; return this; } public final String getDatabaseName() { return databaseName; } public final void setDatabaseName(String databaseName) { this.databaseName = databaseName; } @Override public final Builder databaseName(String databaseName) { this.databaseName = databaseName; 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 getDbClusterParameterGroupName() { return dbClusterParameterGroupName; } public final void setDbClusterParameterGroupName(String dbClusterParameterGroupName) { this.dbClusterParameterGroupName = dbClusterParameterGroupName; } @Override public final Builder dbClusterParameterGroupName(String dbClusterParameterGroupName) { this.dbClusterParameterGroupName = dbClusterParameterGroupName; 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 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 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 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 Integer getPort() { return port; } public final void setPort(Integer port) { this.port = port; } @Override public final Builder port(Integer port) { this.port = port; return this; } public final String 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 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 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 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 getReplicationSourceIdentifier() { return replicationSourceIdentifier; } public final void setReplicationSourceIdentifier(String replicationSourceIdentifier) { this.replicationSourceIdentifier = replicationSourceIdentifier; } @Override public final Builder replicationSourceIdentifier(String replicationSourceIdentifier) { this.replicationSourceIdentifier = replicationSourceIdentifier; 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 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 getPreSignedUrl() { return preSignedUrl; } public final void setPreSignedUrl(String preSignedUrl) { this.preSignedUrl = preSignedUrl; } @Override public final Builder preSignedUrl(String preSignedUrl) { this.preSignedUrl = preSignedUrl; return this; } public final Boolean getEnableIAMDatabaseAuthentication() { return enableIAMDatabaseAuthentication; } public final void setEnableIAMDatabaseAuthentication(Boolean enableIAMDatabaseAuthentication) { this.enableIAMDatabaseAuthentication = enableIAMDatabaseAuthentication; } @Override public final Builder enableIAMDatabaseAuthentication(Boolean enableIAMDatabaseAuthentication) { this.enableIAMDatabaseAuthentication = enableIAMDatabaseAuthentication; return this; } public final Collection getEnableCloudwatchLogsExports() { if (enableCloudwatchLogsExports instanceof SdkAutoConstructList) { return null; } return enableCloudwatchLogsExports; } public final void setEnableCloudwatchLogsExports(Collection enableCloudwatchLogsExports) { this.enableCloudwatchLogsExports = LogTypeListCopier.copy(enableCloudwatchLogsExports); } @Override public final Builder enableCloudwatchLogsExports(Collection enableCloudwatchLogsExports) { this.enableCloudwatchLogsExports = LogTypeListCopier.copy(enableCloudwatchLogsExports); return this; } @Override @SafeVarargs public final Builder enableCloudwatchLogsExports(String... enableCloudwatchLogsExports) { enableCloudwatchLogsExports(Arrays.asList(enableCloudwatchLogsExports)); return this; } public final Boolean getDeletionProtection() { return deletionProtection; } public final void setDeletionProtection(Boolean deletionProtection) { this.deletionProtection = deletionProtection; } @Override public final Builder deletionProtection(Boolean deletionProtection) { this.deletionProtection = deletionProtection; return this; } public final ServerlessV2ScalingConfiguration.Builder getServerlessV2ScalingConfiguration() { return serverlessV2ScalingConfiguration != null ? serverlessV2ScalingConfiguration.toBuilder() : null; } public final void setServerlessV2ScalingConfiguration( ServerlessV2ScalingConfiguration.BuilderImpl serverlessV2ScalingConfiguration) { this.serverlessV2ScalingConfiguration = serverlessV2ScalingConfiguration != null ? serverlessV2ScalingConfiguration .build() : null; } @Override public final Builder serverlessV2ScalingConfiguration(ServerlessV2ScalingConfiguration serverlessV2ScalingConfiguration) { this.serverlessV2ScalingConfiguration = serverlessV2ScalingConfiguration; return this; } public final String getGlobalClusterIdentifier() { return globalClusterIdentifier; } public final void setGlobalClusterIdentifier(String globalClusterIdentifier) { this.globalClusterIdentifier = globalClusterIdentifier; } @Override public final Builder globalClusterIdentifier(String globalClusterIdentifier) { this.globalClusterIdentifier = globalClusterIdentifier; return this; } public final String getSourceRegion() { return sourceRegion; } public final void setSourceRegion(String sourceRegion) { this.sourceRegion = sourceRegion; } @Override public final Builder sourceRegion(String sourceRegion) { this.sourceRegion = sourceRegion; 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 CreateDbClusterRequest build() { return new CreateDbClusterRequest(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy