com.amazonaws.services.docdb.model.RestoreDBClusterFromSnapshotRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-docdb Show documentation
/*
* 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();
}
}