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

com.amazonaws.services.docdb.model.RestoreDBClusterFromSnapshotRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon DocumentDB with MongoDB compatibility module holds the client classes that are used for communicating with Amazon DocumentDB with MongoDB compatibility Service

There is a newer version: 1.12.778
Show newest version
/*
 * Copyright 2019-2024 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 com.amazonaws.services.docdb.model;

import java.io.Serializable;
import javax.annotation.Generated;

import com.amazonaws.AmazonWebServiceRequest;

/**
 * 

* Represents the input to RestoreDBClusterFromSnapshot. *

* * @see AWS * API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class RestoreDBClusterFromSnapshotRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *

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

*/ private java.util.List availabilityZones; /** *

* The name of the cluster to create from the snapshot or cluster snapshot. This parameter isn't case sensitive. *

*

* Constraints: *

*
    *
  • *

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

    *
  • *
  • *

    * The first character must be a letter. *

    *
  • *
  • *

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

    *
  • *
*

* Example: my-snapshot-id *

*/ private String dBClusterIdentifier; /** *

* The identifier for the snapshot or cluster snapshot to restore from. *

*

* You can use either the name or the Amazon Resource Name (ARN) to specify a cluster snapshot. However, you can use * only the ARN to specify a snapshot. *

*

* Constraints: *

*
    *
  • *

    * Must match the identifier of an existing snapshot. *

    *
  • *
*/ private String snapshotIdentifier; /** *

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

*

* Default: The same as source. *

*

* Constraint: Must be compatible with the engine of the source. *

*/ private String engine; /** *

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

*/ private String engineVersion; /** *

* The port number on which the new cluster accepts connections. *

*

* Constraints: Must be a value from 1150 to 65535. *

*

* Default: The same port as the original cluster. *

*/ private Integer port; /** *

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

*

* Constraints: If provided, must match the name of an existing DBSubnetGroup. *

*

* Example: mySubnetgroup *

*/ private String dBSubnetGroupName; /** *

* A list of virtual private cloud (VPC) security groups that the new cluster will belong to. *

*/ private java.util.List vpcSecurityGroupIds; /** *

* The tags to be assigned to the restored cluster. *

*/ private java.util.List tags; /** *

* The KMS key identifier to use when restoring an encrypted cluster from a DB snapshot or cluster snapshot. *

*

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

*

* If you do not specify a value for the KmsKeyId parameter, then the following occurs: *

*
    *
  • *

    * If the snapshot or cluster snapshot in SnapshotIdentifier is encrypted, then the restored cluster is * encrypted using the KMS key that was used to encrypt the snapshot or the cluster snapshot. *

    *
  • *
  • *

    * If the snapshot or the cluster snapshot in SnapshotIdentifier is not encrypted, then the restored DB * cluster is not encrypted. *

    *
  • *
*/ private String kmsKeyId; /** *

* A list of log types that must be enabled for exporting to Amazon CloudWatch Logs. *

*/ private java.util.List enableCloudwatchLogsExports; /** *

* Specifies whether this cluster can be deleted. If DeletionProtection is enabled, the cluster cannot * be deleted unless it is modified and DeletionProtection is disabled. DeletionProtection * protects clusters from being accidentally deleted. *

*/ private Boolean deletionProtection; /** *

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

*

* Type: String.       Required: No. *

*

* If this argument is omitted, the default DB cluster parameter group is used. If supplied, must match the name of * an existing default DB cluster parameter group. The string must consist of from 1 to 255 letters, numbers or * hyphens. Its first character must be a letter, and it cannot end with a hyphen or contain two consecutive * hyphens. *

*/ private String dBClusterParameterGroupName; /** *

* The storage type to associate with the DB cluster. *

*

* For information on storage types for Amazon DocumentDB clusters, see Cluster storage configurations in the * Amazon DocumentDB Developer Guide. *

*

* Valid values for storage type - standard | iopt1 *

*

* Default value is standard *

*/ private String storageType; /** *

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

* * @return Provides the list of Amazon EC2 Availability Zones that instances in the restored DB cluster can be * created in. */ public java.util.List getAvailabilityZones() { return availabilityZones; } /** *

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

* * @param availabilityZones * Provides the list of Amazon EC2 Availability Zones that instances in the restored DB cluster can be * created in. */ public void setAvailabilityZones(java.util.Collection availabilityZones) { if (availabilityZones == null) { this.availabilityZones = null; return; } this.availabilityZones = new java.util.ArrayList(availabilityZones); } /** *

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

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setAvailabilityZones(java.util.Collection)} or {@link #withAvailabilityZones(java.util.Collection)} if * you want to override the existing values. *

* * @param availabilityZones * Provides the list of Amazon EC2 Availability Zones that instances in the restored DB cluster can be * created in. * @return Returns a reference to this object so that method calls can be chained together. */ public RestoreDBClusterFromSnapshotRequest withAvailabilityZones(String... availabilityZones) { if (this.availabilityZones == null) { setAvailabilityZones(new java.util.ArrayList(availabilityZones.length)); } for (String ele : availabilityZones) { this.availabilityZones.add(ele); } return this; } /** *

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

* * @param availabilityZones * Provides the list of Amazon EC2 Availability Zones that instances in the restored DB cluster can be * created in. * @return Returns a reference to this object so that method calls can be chained together. */ public RestoreDBClusterFromSnapshotRequest withAvailabilityZones(java.util.Collection availabilityZones) { setAvailabilityZones(availabilityZones); return this; } /** *

* The name of the cluster to create from the snapshot or cluster snapshot. This parameter isn't case sensitive. *

*

* Constraints: *

*
    *
  • *

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

    *
  • *
  • *

    * The first character must be a letter. *

    *
  • *
  • *

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

    *
  • *
*

* Example: my-snapshot-id *

* * @param dBClusterIdentifier * The name of the cluster to create from the snapshot or cluster snapshot. This parameter isn't case * sensitive.

*

* Constraints: *

*
    *
  • *

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

    *
  • *
  • *

    * The first character must be a letter. *

    *
  • *
  • *

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

    *
  • *
*

* Example: my-snapshot-id */ public void setDBClusterIdentifier(String dBClusterIdentifier) { this.dBClusterIdentifier = dBClusterIdentifier; } /** *

* The name of the cluster to create from the snapshot or cluster snapshot. This parameter isn't case sensitive. *

*

* Constraints: *

*
    *
  • *

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

    *
  • *
  • *

    * The first character must be a letter. *

    *
  • *
  • *

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

    *
  • *
*

* Example: my-snapshot-id *

* * @return The name of the cluster to create from the snapshot or cluster snapshot. This parameter isn't case * sensitive.

*

* Constraints: *

*
    *
  • *

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

    *
  • *
  • *

    * The first character must be a letter. *

    *
  • *
  • *

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

    *
  • *
*

* Example: my-snapshot-id */ public String getDBClusterIdentifier() { return this.dBClusterIdentifier; } /** *

* The name of the cluster to create from the snapshot or cluster snapshot. This parameter isn't case sensitive. *

*

* Constraints: *

*
    *
  • *

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

    *
  • *
  • *

    * The first character must be a letter. *

    *
  • *
  • *

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

    *
  • *
*

* Example: my-snapshot-id *

* * @param dBClusterIdentifier * The name of the cluster to create from the snapshot or cluster snapshot. This parameter isn't case * sensitive.

*

* Constraints: *

*
    *
  • *

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

    *
  • *
  • *

    * The first character must be a letter. *

    *
  • *
  • *

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

    *
  • *
*

* Example: my-snapshot-id * @return Returns a reference to this object so that method calls can be chained together. */ public RestoreDBClusterFromSnapshotRequest withDBClusterIdentifier(String dBClusterIdentifier) { setDBClusterIdentifier(dBClusterIdentifier); return this; } /** *

* The identifier for the snapshot or cluster snapshot to restore from. *

*

* You can use either the name or the Amazon Resource Name (ARN) to specify a cluster snapshot. However, you can use * only the ARN to specify a snapshot. *

*

* Constraints: *

*
    *
  • *

    * Must match the identifier of an existing snapshot. *

    *
  • *
* * @param snapshotIdentifier * The identifier for the snapshot or cluster snapshot to restore from.

*

* You can use either the name or the Amazon Resource Name (ARN) to specify a cluster snapshot. However, you * can use only the ARN to specify a snapshot. *

*

* Constraints: *

*
    *
  • *

    * Must match the identifier of an existing snapshot. *

    *
  • */ public void setSnapshotIdentifier(String snapshotIdentifier) { this.snapshotIdentifier = snapshotIdentifier; } /** *

    * The identifier for the snapshot or cluster snapshot to restore from. *

    *

    * You can use either the name or the Amazon Resource Name (ARN) to specify a cluster snapshot. However, you can use * only the ARN to specify a snapshot. *

    *

    * Constraints: *

    *
      *
    • *

      * Must match the identifier of an existing snapshot. *

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

    *

    * You can use either the name or the Amazon Resource Name (ARN) to specify a cluster snapshot. However, you * can use only the ARN to specify a snapshot. *

    *

    * Constraints: *

    *
      *
    • *

      * Must match the identifier of an existing snapshot. *

      *
    • */ public String getSnapshotIdentifier() { return this.snapshotIdentifier; } /** *

      * The identifier for the snapshot or cluster snapshot to restore from. *

      *

      * You can use either the name or the Amazon Resource Name (ARN) to specify a cluster snapshot. However, you can use * only the ARN to specify a snapshot. *

      *

      * Constraints: *

      *
        *
      • *

        * Must match the identifier of an existing snapshot. *

        *
      • *
      * * @param snapshotIdentifier * The identifier for the snapshot or cluster snapshot to restore from.

      *

      * You can use either the name or the Amazon Resource Name (ARN) to specify a cluster snapshot. However, you * can use only the ARN to specify a snapshot. *

      *

      * Constraints: *

      *
        *
      • *

        * Must match the identifier of an existing snapshot. *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. */ public RestoreDBClusterFromSnapshotRequest withSnapshotIdentifier(String snapshotIdentifier) { setSnapshotIdentifier(snapshotIdentifier); return this; } /** *

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

        *

        * Default: The same as source. *

        *

        * Constraint: Must be compatible with the engine of the source. *

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

        *

        * Default: The same as source. *

        *

        * Constraint: Must be compatible with the engine of the source. */ public void setEngine(String engine) { this.engine = engine; } /** *

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

        *

        * Default: The same as source. *

        *

        * Constraint: Must be compatible with the engine of the source. *

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

        *

        * Default: The same as source. *

        *

        * Constraint: Must be compatible with the engine of the source. */ public String getEngine() { return this.engine; } /** *

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

        *

        * Default: The same as source. *

        *

        * Constraint: Must be compatible with the engine of the source. *

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

        *

        * Default: The same as source. *

        *

        * Constraint: Must be compatible with the engine of the source. * @return Returns a reference to this object so that method calls can be chained together. */ public RestoreDBClusterFromSnapshotRequest withEngine(String engine) { setEngine(engine); return this; } /** *

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

        * * @param engineVersion * The version of the database engine to use for the new cluster. */ public void setEngineVersion(String engineVersion) { this.engineVersion = engineVersion; } /** *

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

        * * @return The version of the database engine to use for the new cluster. */ public String getEngineVersion() { return this.engineVersion; } /** *

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

        * * @param engineVersion * The version of the database engine to use for the new cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public RestoreDBClusterFromSnapshotRequest withEngineVersion(String engineVersion) { setEngineVersion(engineVersion); return this; } /** *

        * The port number on which the new cluster accepts connections. *

        *

        * Constraints: Must be a value from 1150 to 65535. *

        *

        * Default: The same port as the original cluster. *

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

        *

        * Constraints: Must be a value from 1150 to 65535. *

        *

        * Default: The same port as the original cluster. */ public void setPort(Integer port) { this.port = port; } /** *

        * The port number on which the new cluster accepts connections. *

        *

        * Constraints: Must be a value from 1150 to 65535. *

        *

        * Default: The same port as the original cluster. *

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

        *

        * Constraints: Must be a value from 1150 to 65535. *

        *

        * Default: The same port as the original cluster. */ public Integer getPort() { return this.port; } /** *

        * The port number on which the new cluster accepts connections. *

        *

        * Constraints: Must be a value from 1150 to 65535. *

        *

        * Default: The same port as the original cluster. *

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

        *

        * Constraints: Must be a value from 1150 to 65535. *

        *

        * Default: The same port as the original cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public RestoreDBClusterFromSnapshotRequest withPort(Integer port) { setPort(port); return this; } /** *

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

        *

        * Constraints: If provided, must match the name of an existing DBSubnetGroup. *

        *

        * Example: mySubnetgroup *

        * * @param dBSubnetGroupName * The name of the subnet group to use for the new cluster.

        *

        * Constraints: If provided, must match the name of an existing DBSubnetGroup. *

        *

        * Example: mySubnetgroup */ public void setDBSubnetGroupName(String dBSubnetGroupName) { this.dBSubnetGroupName = dBSubnetGroupName; } /** *

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

        *

        * Constraints: If provided, must match the name of an existing DBSubnetGroup. *

        *

        * Example: mySubnetgroup *

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

        *

        * Constraints: If provided, must match the name of an existing DBSubnetGroup. *

        *

        * Example: mySubnetgroup */ public String getDBSubnetGroupName() { return this.dBSubnetGroupName; } /** *

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

        *

        * Constraints: If provided, must match the name of an existing DBSubnetGroup. *

        *

        * Example: mySubnetgroup *

        * * @param dBSubnetGroupName * The name of the subnet group to use for the new cluster.

        *

        * Constraints: If provided, must match the name of an existing DBSubnetGroup. *

        *

        * Example: mySubnetgroup * @return Returns a reference to this object so that method calls can be chained together. */ public RestoreDBClusterFromSnapshotRequest withDBSubnetGroupName(String dBSubnetGroupName) { setDBSubnetGroupName(dBSubnetGroupName); return this; } /** *

        * A list of virtual private cloud (VPC) security groups that the new cluster will belong to. *

        * * @return A list of virtual private cloud (VPC) security groups that the new cluster will belong to. */ public java.util.List getVpcSecurityGroupIds() { return vpcSecurityGroupIds; } /** *

        * A list of virtual private cloud (VPC) security groups that the new cluster will belong to. *

        * * @param vpcSecurityGroupIds * A list of virtual private cloud (VPC) security groups that the new cluster will belong to. */ public void setVpcSecurityGroupIds(java.util.Collection vpcSecurityGroupIds) { if (vpcSecurityGroupIds == null) { this.vpcSecurityGroupIds = null; return; } this.vpcSecurityGroupIds = new java.util.ArrayList(vpcSecurityGroupIds); } /** *

        * A list of virtual private cloud (VPC) security groups that the new cluster will belong to. *

        *

        * NOTE: This method appends the values to the existing list (if any). Use * {@link #setVpcSecurityGroupIds(java.util.Collection)} or {@link #withVpcSecurityGroupIds(java.util.Collection)} * if you want to override the existing values. *

        * * @param vpcSecurityGroupIds * A list of virtual private cloud (VPC) security groups that the new cluster will belong to. * @return Returns a reference to this object so that method calls can be chained together. */ public RestoreDBClusterFromSnapshotRequest withVpcSecurityGroupIds(String... vpcSecurityGroupIds) { if (this.vpcSecurityGroupIds == null) { setVpcSecurityGroupIds(new java.util.ArrayList(vpcSecurityGroupIds.length)); } for (String ele : vpcSecurityGroupIds) { this.vpcSecurityGroupIds.add(ele); } return this; } /** *

        * A list of virtual private cloud (VPC) security groups that the new cluster will belong to. *

        * * @param vpcSecurityGroupIds * A list of virtual private cloud (VPC) security groups that the new cluster will belong to. * @return Returns a reference to this object so that method calls can be chained together. */ public RestoreDBClusterFromSnapshotRequest withVpcSecurityGroupIds(java.util.Collection vpcSecurityGroupIds) { setVpcSecurityGroupIds(vpcSecurityGroupIds); return this; } /** *

        * The tags to be assigned to the restored cluster. *

        * * @return The tags to be assigned to the restored cluster. */ public java.util.List getTags() { return tags; } /** *

        * The tags to be assigned to the restored cluster. *

        * * @param tags * The tags to be assigned to the restored cluster. */ public void setTags(java.util.Collection tags) { if (tags == null) { this.tags = null; return; } this.tags = new java.util.ArrayList(tags); } /** *

        * The tags to be assigned to the restored cluster. *

        *

        * NOTE: This method appends the values to the existing list (if any). Use * {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the * existing values. *

        * * @param tags * The tags to be assigned to the restored cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public RestoreDBClusterFromSnapshotRequest withTags(Tag... tags) { if (this.tags == null) { setTags(new java.util.ArrayList(tags.length)); } for (Tag ele : tags) { this.tags.add(ele); } return this; } /** *

        * The tags to be assigned to the restored cluster. *

        * * @param tags * The tags to be assigned to the restored cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public RestoreDBClusterFromSnapshotRequest withTags(java.util.Collection tags) { setTags(tags); return this; } /** *

        * The KMS key identifier to use when restoring an encrypted cluster from a DB snapshot or cluster snapshot. *

        *

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

        *

        * If you do not specify a value for the KmsKeyId parameter, then the following occurs: *

        *
          *
        • *

          * If the snapshot or cluster snapshot in SnapshotIdentifier is encrypted, then the restored cluster is * encrypted using the KMS key that was used to encrypt the snapshot or the cluster snapshot. *

          *
        • *
        • *

          * If the snapshot or the cluster snapshot in SnapshotIdentifier is not encrypted, then the restored DB * cluster is not encrypted. *

          *
        • *
        * * @param kmsKeyId * The KMS key identifier to use when restoring an encrypted cluster from a DB snapshot or cluster * snapshot.

        *

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

        *

        * If you do not specify a value for the KmsKeyId parameter, then the following occurs: *

        *
          *
        • *

          * If the snapshot or cluster snapshot in SnapshotIdentifier is encrypted, then the restored * cluster is encrypted using the KMS key that was used to encrypt the snapshot or the cluster snapshot. *

          *
        • *
        • *

          * If the snapshot or the cluster snapshot in SnapshotIdentifier is not encrypted, then the * restored DB cluster is not encrypted. *

          *
        • */ public void setKmsKeyId(String kmsKeyId) { this.kmsKeyId = kmsKeyId; } /** *

          * The KMS key identifier to use when restoring an encrypted cluster from a DB snapshot or cluster snapshot. *

          *

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

          *

          * If you do not specify a value for the KmsKeyId parameter, then the following occurs: *

          *
            *
          • *

            * If the snapshot or cluster snapshot in SnapshotIdentifier is encrypted, then the restored cluster is * encrypted using the KMS key that was used to encrypt the snapshot or the cluster snapshot. *

            *
          • *
          • *

            * If the snapshot or the cluster snapshot in SnapshotIdentifier is not encrypted, then the restored DB * cluster is not encrypted. *

            *
          • *
          * * @return The KMS key identifier to use when restoring an encrypted cluster from a DB snapshot or cluster * snapshot.

          *

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

          *

          * If you do not specify a value for the KmsKeyId parameter, then the following occurs: *

          *
            *
          • *

            * If the snapshot or cluster snapshot in SnapshotIdentifier is encrypted, then the restored * cluster is encrypted using the KMS key that was used to encrypt the snapshot or the cluster snapshot. *

            *
          • *
          • *

            * If the snapshot or the cluster snapshot in SnapshotIdentifier is not encrypted, then the * restored DB cluster is not encrypted. *

            *
          • */ public String getKmsKeyId() { return this.kmsKeyId; } /** *

            * The KMS key identifier to use when restoring an encrypted cluster from a DB snapshot or cluster snapshot. *

            *

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

            *

            * If you do not specify a value for the KmsKeyId parameter, then the following occurs: *

            *
              *
            • *

              * If the snapshot or cluster snapshot in SnapshotIdentifier is encrypted, then the restored cluster is * encrypted using the KMS key that was used to encrypt the snapshot or the cluster snapshot. *

              *
            • *
            • *

              * If the snapshot or the cluster snapshot in SnapshotIdentifier is not encrypted, then the restored DB * cluster is not encrypted. *

              *
            • *
            * * @param kmsKeyId * The KMS key identifier to use when restoring an encrypted cluster from a DB snapshot or cluster * snapshot.

            *

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

            *

            * If you do not specify a value for the KmsKeyId parameter, then the following occurs: *

            *
              *
            • *

              * If the snapshot or cluster snapshot in SnapshotIdentifier is encrypted, then the restored * cluster is encrypted using the KMS key that was used to encrypt the snapshot or the cluster snapshot. *

              *
            • *
            • *

              * If the snapshot or the cluster snapshot in SnapshotIdentifier is not encrypted, then the * restored DB cluster is not encrypted. *

              *
            • * @return Returns a reference to this object so that method calls can be chained together. */ public RestoreDBClusterFromSnapshotRequest withKmsKeyId(String kmsKeyId) { setKmsKeyId(kmsKeyId); return this; } /** *

              * A list of log types that must be enabled for exporting to Amazon CloudWatch Logs. *

              * * @return A list of log types that must be enabled for exporting to Amazon CloudWatch Logs. */ public java.util.List getEnableCloudwatchLogsExports() { return enableCloudwatchLogsExports; } /** *

              * A list of log types that must be enabled for exporting to Amazon CloudWatch Logs. *

              * * @param enableCloudwatchLogsExports * A list of log types that must be enabled for exporting to Amazon CloudWatch Logs. */ public void setEnableCloudwatchLogsExports(java.util.Collection enableCloudwatchLogsExports) { if (enableCloudwatchLogsExports == null) { this.enableCloudwatchLogsExports = null; return; } this.enableCloudwatchLogsExports = new java.util.ArrayList(enableCloudwatchLogsExports); } /** *

              * A list of log types that must be enabled for exporting to Amazon CloudWatch Logs. *

              *

              * NOTE: This method appends the values to the existing list (if any). Use * {@link #setEnableCloudwatchLogsExports(java.util.Collection)} or * {@link #withEnableCloudwatchLogsExports(java.util.Collection)} if you want to override the existing values. *

              * * @param enableCloudwatchLogsExports * A list of log types that must be enabled for exporting to Amazon CloudWatch Logs. * @return Returns a reference to this object so that method calls can be chained together. */ public RestoreDBClusterFromSnapshotRequest withEnableCloudwatchLogsExports(String... enableCloudwatchLogsExports) { if (this.enableCloudwatchLogsExports == null) { setEnableCloudwatchLogsExports(new java.util.ArrayList(enableCloudwatchLogsExports.length)); } for (String ele : enableCloudwatchLogsExports) { this.enableCloudwatchLogsExports.add(ele); } return this; } /** *

              * A list of log types that must be enabled for exporting to Amazon CloudWatch Logs. *

              * * @param enableCloudwatchLogsExports * A list of log types that must be enabled for exporting to Amazon CloudWatch Logs. * @return Returns a reference to this object so that method calls can be chained together. */ public RestoreDBClusterFromSnapshotRequest withEnableCloudwatchLogsExports(java.util.Collection enableCloudwatchLogsExports) { setEnableCloudwatchLogsExports(enableCloudwatchLogsExports); return this; } /** *

              * Specifies whether this cluster can be deleted. If DeletionProtection is enabled, the cluster cannot * be deleted unless it is modified and DeletionProtection is disabled. DeletionProtection * protects clusters from being accidentally deleted. *

              * * @param deletionProtection * Specifies whether this cluster can be deleted. If DeletionProtection is enabled, the cluster * cannot be deleted unless it is modified and DeletionProtection is disabled. * DeletionProtection protects clusters from being accidentally deleted. */ public void setDeletionProtection(Boolean deletionProtection) { this.deletionProtection = deletionProtection; } /** *

              * Specifies whether this cluster can be deleted. If DeletionProtection is enabled, the cluster cannot * be deleted unless it is modified and DeletionProtection is disabled. DeletionProtection * protects clusters from being accidentally deleted. *

              * * @return Specifies whether this cluster can be deleted. If DeletionProtection is enabled, the cluster * cannot be deleted unless it is modified and DeletionProtection is disabled. * DeletionProtection protects clusters from being accidentally deleted. */ public Boolean getDeletionProtection() { return this.deletionProtection; } /** *

              * Specifies whether this cluster can be deleted. If DeletionProtection is enabled, the cluster cannot * be deleted unless it is modified and DeletionProtection is disabled. DeletionProtection * protects clusters from being accidentally deleted. *

              * * @param deletionProtection * Specifies whether this cluster can be deleted. If DeletionProtection is enabled, the cluster * cannot be deleted unless it is modified and DeletionProtection is disabled. * DeletionProtection protects clusters from being accidentally deleted. * @return Returns a reference to this object so that method calls can be chained together. */ public RestoreDBClusterFromSnapshotRequest withDeletionProtection(Boolean deletionProtection) { setDeletionProtection(deletionProtection); return this; } /** *

              * Specifies whether this cluster can be deleted. If DeletionProtection is enabled, the cluster cannot * be deleted unless it is modified and DeletionProtection is disabled. DeletionProtection * protects clusters from being accidentally deleted. *

              * * @return Specifies whether this cluster can be deleted. If DeletionProtection is enabled, the cluster * cannot be deleted unless it is modified and DeletionProtection is disabled. * DeletionProtection protects clusters from being accidentally deleted. */ public Boolean isDeletionProtection() { return this.deletionProtection; } /** *

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

              *

              * Type: String.       Required: No. *

              *

              * If this argument is omitted, the default DB cluster parameter group is used. If supplied, must match the name of * an existing default DB cluster parameter group. The string must consist of from 1 to 255 letters, numbers or * hyphens. Its first character must be a letter, and it cannot end with a hyphen or contain two consecutive * hyphens. *

              * * @param dBClusterParameterGroupName * The name of the DB cluster parameter group to associate with this DB cluster.

              *

              * Type: String.       Required: No. *

              *

              * If this argument is omitted, the default DB cluster parameter group is used. If supplied, must match the * name of an existing default DB cluster parameter group. The string must consist of from 1 to 255 letters, * numbers or hyphens. Its first character must be a letter, and it cannot end with a hyphen or contain two * consecutive hyphens. */ public void setDBClusterParameterGroupName(String dBClusterParameterGroupName) { this.dBClusterParameterGroupName = dBClusterParameterGroupName; } /** *

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

              *

              * Type: String.       Required: No. *

              *

              * If this argument is omitted, the default DB cluster parameter group is used. If supplied, must match the name of * an existing default DB cluster parameter group. The string must consist of from 1 to 255 letters, numbers or * hyphens. Its first character must be a letter, and it cannot end with a hyphen or contain two consecutive * hyphens. *

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

              *

              * Type: String.       Required: No. *

              *

              * If this argument is omitted, the default DB cluster parameter group is used. If supplied, must match the * name of an existing default DB cluster parameter group. The string must consist of from 1 to 255 letters, * numbers or hyphens. Its first character must be a letter, and it cannot end with a hyphen or contain two * consecutive hyphens. */ public String getDBClusterParameterGroupName() { return this.dBClusterParameterGroupName; } /** *

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

              *

              * Type: String.       Required: No. *

              *

              * If this argument is omitted, the default DB cluster parameter group is used. If supplied, must match the name of * an existing default DB cluster parameter group. The string must consist of from 1 to 255 letters, numbers or * hyphens. Its first character must be a letter, and it cannot end with a hyphen or contain two consecutive * hyphens. *

              * * @param dBClusterParameterGroupName * The name of the DB cluster parameter group to associate with this DB cluster.

              *

              * Type: String.       Required: No. *

              *

              * If this argument is omitted, the default DB cluster parameter group is used. If supplied, must match the * name of an existing default DB cluster parameter group. The string must consist of from 1 to 255 letters, * numbers or hyphens. Its first character must be a letter, and it 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. */ public RestoreDBClusterFromSnapshotRequest withDBClusterParameterGroupName(String dBClusterParameterGroupName) { setDBClusterParameterGroupName(dBClusterParameterGroupName); return this; } /** *

              * The storage type to associate with the DB cluster. *

              *

              * For information on storage types for Amazon DocumentDB clusters, see Cluster storage configurations in the * Amazon DocumentDB Developer Guide. *

              *

              * Valid values for storage type - standard | iopt1 *

              *

              * Default value is standard *

              * * @param storageType * The storage type to associate with the DB cluster.

              *

              * For information on storage types for Amazon DocumentDB clusters, see Cluster storage configurations in the * Amazon DocumentDB Developer Guide. *

              *

              * Valid values for storage type - standard | iopt1 *

              *

              * Default value is standard */ public void setStorageType(String storageType) { this.storageType = storageType; } /** *

              * The storage type to associate with the DB cluster. *

              *

              * For information on storage types for Amazon DocumentDB clusters, see Cluster storage configurations in the * Amazon DocumentDB Developer Guide. *

              *

              * Valid values for storage type - standard | iopt1 *

              *

              * Default value is standard *

              * * @return The storage type to associate with the DB cluster.

              *

              * For information on storage types for Amazon DocumentDB clusters, see Cluster storage configurations in * the Amazon DocumentDB Developer Guide. *

              *

              * Valid values for storage type - standard | iopt1 *

              *

              * Default value is standard */ public String getStorageType() { return this.storageType; } /** *

              * The storage type to associate with the DB cluster. *

              *

              * For information on storage types for Amazon DocumentDB clusters, see Cluster storage configurations in the * Amazon DocumentDB Developer Guide. *

              *

              * Valid values for storage type - standard | iopt1 *

              *

              * Default value is standard *

              * * @param storageType * The storage type to associate with the DB cluster.

              *

              * For information on storage types for Amazon DocumentDB clusters, see Cluster storage configurations in the * Amazon DocumentDB Developer Guide. *

              *

              * Valid values for storage type - standard | iopt1 *

              *

              * Default value is standard * @return Returns a reference to this object so that method calls can be chained together. */ public RestoreDBClusterFromSnapshotRequest withStorageType(String storageType) { setStorageType(storageType); return this; } /** * 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. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getAvailabilityZones() != null) sb.append("AvailabilityZones: ").append(getAvailabilityZones()).append(","); if (getDBClusterIdentifier() != null) sb.append("DBClusterIdentifier: ").append(getDBClusterIdentifier()).append(","); if (getSnapshotIdentifier() != null) sb.append("SnapshotIdentifier: ").append(getSnapshotIdentifier()).append(","); if (getEngine() != null) sb.append("Engine: ").append(getEngine()).append(","); if (getEngineVersion() != null) sb.append("EngineVersion: ").append(getEngineVersion()).append(","); if (getPort() != null) sb.append("Port: ").append(getPort()).append(","); if (getDBSubnetGroupName() != null) sb.append("DBSubnetGroupName: ").append(getDBSubnetGroupName()).append(","); if (getVpcSecurityGroupIds() != null) sb.append("VpcSecurityGroupIds: ").append(getVpcSecurityGroupIds()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getKmsKeyId() != null) sb.append("KmsKeyId: ").append(getKmsKeyId()).append(","); if (getEnableCloudwatchLogsExports() != null) sb.append("EnableCloudwatchLogsExports: ").append(getEnableCloudwatchLogsExports()).append(","); if (getDeletionProtection() != null) sb.append("DeletionProtection: ").append(getDeletionProtection()).append(","); if (getDBClusterParameterGroupName() != null) sb.append("DBClusterParameterGroupName: ").append(getDBClusterParameterGroupName()).append(","); if (getStorageType() != null) sb.append("StorageType: ").append(getStorageType()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof RestoreDBClusterFromSnapshotRequest == false) return false; RestoreDBClusterFromSnapshotRequest other = (RestoreDBClusterFromSnapshotRequest) obj; if (other.getAvailabilityZones() == null ^ this.getAvailabilityZones() == null) return false; if (other.getAvailabilityZones() != null && other.getAvailabilityZones().equals(this.getAvailabilityZones()) == false) return false; if (other.getDBClusterIdentifier() == null ^ this.getDBClusterIdentifier() == null) return false; if (other.getDBClusterIdentifier() != null && other.getDBClusterIdentifier().equals(this.getDBClusterIdentifier()) == false) return false; if (other.getSnapshotIdentifier() == null ^ this.getSnapshotIdentifier() == null) return false; if (other.getSnapshotIdentifier() != null && other.getSnapshotIdentifier().equals(this.getSnapshotIdentifier()) == false) return false; if (other.getEngine() == null ^ this.getEngine() == null) return false; if (other.getEngine() != null && other.getEngine().equals(this.getEngine()) == false) return false; if (other.getEngineVersion() == null ^ this.getEngineVersion() == null) return false; if (other.getEngineVersion() != null && other.getEngineVersion().equals(this.getEngineVersion()) == false) return false; if (other.getPort() == null ^ this.getPort() == null) return false; if (other.getPort() != null && other.getPort().equals(this.getPort()) == false) return false; if (other.getDBSubnetGroupName() == null ^ this.getDBSubnetGroupName() == null) return false; if (other.getDBSubnetGroupName() != null && other.getDBSubnetGroupName().equals(this.getDBSubnetGroupName()) == false) return false; if (other.getVpcSecurityGroupIds() == null ^ this.getVpcSecurityGroupIds() == null) return false; if (other.getVpcSecurityGroupIds() != null && other.getVpcSecurityGroupIds().equals(this.getVpcSecurityGroupIds()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; if (other.getKmsKeyId() == null ^ this.getKmsKeyId() == null) return false; if (other.getKmsKeyId() != null && other.getKmsKeyId().equals(this.getKmsKeyId()) == false) return false; if (other.getEnableCloudwatchLogsExports() == null ^ this.getEnableCloudwatchLogsExports() == null) return false; if (other.getEnableCloudwatchLogsExports() != null && other.getEnableCloudwatchLogsExports().equals(this.getEnableCloudwatchLogsExports()) == false) return false; if (other.getDeletionProtection() == null ^ this.getDeletionProtection() == null) return false; if (other.getDeletionProtection() != null && other.getDeletionProtection().equals(this.getDeletionProtection()) == false) return false; if (other.getDBClusterParameterGroupName() == null ^ this.getDBClusterParameterGroupName() == null) return false; if (other.getDBClusterParameterGroupName() != null && other.getDBClusterParameterGroupName().equals(this.getDBClusterParameterGroupName()) == false) return false; if (other.getStorageType() == null ^ this.getStorageType() == null) return false; if (other.getStorageType() != null && other.getStorageType().equals(this.getStorageType()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAvailabilityZones() == null) ? 0 : getAvailabilityZones().hashCode()); hashCode = prime * hashCode + ((getDBClusterIdentifier() == null) ? 0 : getDBClusterIdentifier().hashCode()); hashCode = prime * hashCode + ((getSnapshotIdentifier() == null) ? 0 : getSnapshotIdentifier().hashCode()); hashCode = prime * hashCode + ((getEngine() == null) ? 0 : getEngine().hashCode()); hashCode = prime * hashCode + ((getEngineVersion() == null) ? 0 : getEngineVersion().hashCode()); hashCode = prime * hashCode + ((getPort() == null) ? 0 : getPort().hashCode()); hashCode = prime * hashCode + ((getDBSubnetGroupName() == null) ? 0 : getDBSubnetGroupName().hashCode()); hashCode = prime * hashCode + ((getVpcSecurityGroupIds() == null) ? 0 : getVpcSecurityGroupIds().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getKmsKeyId() == null) ? 0 : getKmsKeyId().hashCode()); hashCode = prime * hashCode + ((getEnableCloudwatchLogsExports() == null) ? 0 : getEnableCloudwatchLogsExports().hashCode()); hashCode = prime * hashCode + ((getDeletionProtection() == null) ? 0 : getDeletionProtection().hashCode()); hashCode = prime * hashCode + ((getDBClusterParameterGroupName() == null) ? 0 : getDBClusterParameterGroupName().hashCode()); hashCode = prime * hashCode + ((getStorageType() == null) ? 0 : getStorageType().hashCode()); return hashCode; } @Override public RestoreDBClusterFromSnapshotRequest clone() { return (RestoreDBClusterFromSnapshotRequest) super.clone(); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy