com.amazonaws.services.rds.model.RestoreDBClusterFromSnapshotRequest Maven / Gradle / Ivy
/*
* Copyright 2017-2022 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.rds.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.AmazonWebServiceRequest;
/**
*
*
* @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 Availability Zones (AZs) where instances in the restored DB cluster can be created.
*
*
* Valid for: Aurora DB clusters only
*
*/
private com.amazonaws.internal.SdkInternalList availabilityZones;
/**
*
* The name of the DB cluster to create from the DB snapshot or DB cluster snapshot. This parameter isn't
* case-sensitive.
*
*
* Constraints:
*
*
* -
*
* Must contain from 1 to 63 letters, numbers, or hyphens
*
*
* -
*
* First character must be a letter
*
*
* -
*
* Can't end with a hyphen or contain two consecutive hyphens
*
*
*
*
* Example: my-snapshot-id
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*/
private String dBClusterIdentifier;
/**
*
* The identifier for the DB snapshot or DB cluster snapshot to restore from.
*
*
* You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can
* use only the ARN to specify a DB snapshot.
*
*
* Constraints:
*
*
* -
*
* Must match the identifier of an existing Snapshot.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*/
private String snapshotIdentifier;
/**
*
* The database engine to use for the new DB cluster.
*
*
* Default: The same as source
*
*
* Constraint: Must be compatible with the engine of the source
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*/
private String engine;
/**
*
* The version of the database engine to use for the new DB cluster.
*
*
* To list all of the available engine versions for MySQL 5.6-compatible Aurora, use the following command:
*
*
* aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for MySQL 5.7-compatible and MySQL 8.0-compatible Aurora, use the
* following command:
*
*
* aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for Aurora PostgreSQL, use the following command:
*
*
* aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for RDS for MySQL, use the following command:
*
*
* aws rds describe-db-engine-versions --engine mysql --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for RDS for PostgreSQL, use the following command:
*
*
* aws rds describe-db-engine-versions --engine postgres --query "DBEngineVersions[].EngineVersion"
*
*
* Aurora MySQL
*
*
* See MySQL on
* Amazon RDS Versions in the Amazon Aurora User Guide.
*
*
* Aurora PostgreSQL
*
*
* See Amazon
* Aurora PostgreSQL releases and engine versions in the Amazon Aurora User Guide.
*
*
* MySQL
*
*
* See MySQL on
* Amazon RDS Versions in the Amazon RDS User Guide.
*
*
* PostgreSQL
*
*
* See Amazon RDS
* for PostgreSQL versions and extensions in the Amazon RDS User Guide.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*/
private String engineVersion;
/**
*
* The port number on which the new DB cluster accepts connections.
*
*
* Constraints: This value must be 1150-65535
*
*
* Default: The same port as the original DB cluster.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*/
private Integer port;
/**
*
* The name of the DB subnet group to use for the new DB cluster.
*
*
* Constraints: If supplied, must match the name of an existing DB subnet group.
*
*
* Example: mydbsubnetgroup
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*/
private String dBSubnetGroupName;
/**
*
* The database name for the restored DB cluster.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*/
private String databaseName;
/**
*
* The name of the option group to use for the restored DB cluster.
*
*
* DB clusters are associated with a default option group that can't be modified.
*
*/
private String optionGroupName;
/**
*
* A list of VPC security groups that the new DB cluster will belong to.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*/
private com.amazonaws.internal.SdkInternalList vpcSecurityGroupIds;
/**
*
* The tags to be assigned to the restored DB cluster.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*/
private com.amazonaws.internal.SdkInternalList tags;
/**
*
* The Amazon Web Services KMS key identifier to use when restoring an encrypted DB cluster from a DB snapshot or DB
* cluster snapshot.
*
*
* The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To
* use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.
*
*
* When you don't specify a value for the KmsKeyId
parameter, then the following occurs:
*
*
* -
*
* If the DB snapshot or DB cluster snapshot in SnapshotIdentifier
is encrypted, then the restored DB
* cluster is encrypted using the KMS key that was used to encrypt the DB snapshot or DB cluster snapshot.
*
*
* -
*
* If the DB snapshot or DB cluster snapshot in SnapshotIdentifier
isn't encrypted, then the restored
* DB cluster isn't encrypted.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*/
private String kmsKeyId;
/**
*
* A value that indicates whether to enable mapping of Amazon Web Services Identity and Access Management (IAM)
* accounts to database accounts. By default, mapping isn't enabled.
*
*
* For more information, see IAM Database
* Authentication in the Amazon Aurora User Guide.
*
*
* Valid for: Aurora DB clusters only
*
*/
private Boolean enableIAMDatabaseAuthentication;
/**
*
* The target backtrack window, in seconds. To disable backtracking, set this value to 0.
*
*
*
* Currently, Backtrack is only supported for Aurora MySQL DB clusters.
*
*
*
* Default: 0
*
*
* Constraints:
*
*
* -
*
* If specified, this value must be set to a number from 0 to 259,200 (72 hours).
*
*
*
*
* Valid for: Aurora DB clusters only
*
*/
private Long backtrackWindow;
/**
*
* The list of logs that the restored DB cluster is to export to Amazon CloudWatch Logs. The values in the list
* depend on the DB engine being used.
*
*
* RDS for MySQL
*
*
* Possible values are error
, general
, and slowquery
.
*
*
* RDS for PostgreSQL
*
*
* Possible values are postgresql
and upgrade
.
*
*
* Aurora MySQL
*
*
* Possible values are audit
, error
, general
, and slowquery
.
*
*
* Aurora PostgreSQL
*
*
* Possible value is postgresql
.
*
*
* For more information about exporting CloudWatch Logs for Amazon RDS, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.
*
*
* For more information about exporting CloudWatch Logs for Amazon Aurora, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*/
private com.amazonaws.internal.SdkInternalList enableCloudwatchLogsExports;
/**
*
* The DB engine mode of the DB cluster, either provisioned
, serverless
,
* parallelquery
, global
, or multimaster
.
*
*
* For more information, see CreateDBCluster.
*
*
* Valid for: Aurora DB clusters only
*
*/
private String engineMode;
/**
*
* For DB clusters in serverless
DB engine mode, the scaling properties of the DB cluster.
*
*
* Valid for: Aurora DB clusters only
*
*/
private ScalingConfiguration scalingConfiguration;
/**
*
* The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, the
* default DB cluster parameter group for the specified engine is used.
*
*
* Constraints:
*
*
* -
*
* If supplied, must match the name of an existing default DB cluster parameter group.
*
*
* -
*
* Must be 1 to 255 letters, numbers, or hyphens.
*
*
* -
*
* First character must be a letter.
*
*
* -
*
* Can't end with a hyphen or contain two consecutive hyphens.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*/
private String dBClusterParameterGroupName;
/**
*
* A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when
* deletion protection is enabled. By default, deletion protection isn't enabled.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*/
private Boolean deletionProtection;
/**
*
* A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored DB
* cluster. The default is not to copy them.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*/
private Boolean copyTagsToSnapshot;
/**
*
* Specify the Active Directory directory ID to restore the DB cluster in. The domain must be created prior to this
* operation. Currently, only MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created in an
* Active Directory Domain.
*
*
* For more information, see Kerberos
* Authentication in the Amazon RDS User Guide.
*
*
* Valid for: Aurora DB clusters only
*
*/
private String domain;
/**
*
* Specify the name of the IAM role to be used when making API calls to the Directory Service.
*
*
* Valid for: Aurora DB clusters only
*
*/
private String domainIAMRoleName;
/**
*
* The compute and memory capacity of the each DB instance in the Multi-AZ DB cluster, for example db.m6gd.xlarge.
* Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines.
*
*
* For the full list of DB instance classes, and availability for your engine, see DB Instance Class
* in the Amazon RDS User Guide.
*
*
* Valid for: Multi-AZ DB clusters only
*
*/
private String dBClusterInstanceClass;
/**
*
* Specifies the storage type to be associated with the each DB instance in the Multi-AZ DB cluster.
*
*
* Valid values: io1
*
*
* When specified, a value for the Iops
parameter is required.
*
*
* Default: io1
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*/
private String storageType;
/**
*
* The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB
* instance in the Multi-AZ DB cluster.
*
*
* For information about valid IOPS values, see Amazon RDS Provisioned
* IOPS storage in the Amazon RDS User Guide.
*
*
* Constraints: Must be a multiple between .5 and 50 of the storage amount for the DB instance.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*/
private Integer iops;
/**
*
* A value that indicates whether the DB cluster is publicly accessible.
*
*
* When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP
* address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from
* outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses.
* That public access is not permitted if the security group assigned to the DB cluster doesn't permit it.
*
*
* When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a
* private IP address.
*
*
* Default: The default behavior varies depending on whether DBSubnetGroupName
is specified.
*
*
* If DBSubnetGroupName
isn't specified, and PubliclyAccessible
isn't specified, the
* following applies:
*
*
* -
*
* If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB cluster is
* private.
*
*
* -
*
* If the default VPC in the target Region has an internet gateway attached to it, the DB cluster is public.
*
*
*
*
* If DBSubnetGroupName
is specified, and PubliclyAccessible
isn't specified, the
* following applies:
*
*
* -
*
* If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB cluster is private.
*
*
* -
*
* If the subnets are part of a VPC that has an internet gateway attached to it, the DB cluster is public.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*/
private Boolean publiclyAccessible;
private ServerlessV2ScalingConfiguration serverlessV2ScalingConfiguration;
/**
*
* The network type of the DB cluster.
*
*
* Valid values:
*
*
* -
*
* IPV4
*
*
* -
*
* DUAL
*
*
*
*
* The network type is determined by the DBSubnetGroup
specified for the DB cluster. A
* DBSubnetGroup
can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (
* DUAL
).
*
*
* For more information, see
* Working with a DB instance in a VPC in the Amazon Aurora User Guide.
*
*
* Valid for: Aurora DB clusters only
*
*/
private String networkType;
/**
*
* Provides the list of Availability Zones (AZs) where instances in the restored DB cluster can be created.
*
*
* Valid for: Aurora DB clusters only
*
*
* @return Provides the list of Availability Zones (AZs) where instances in the restored DB cluster can be
* created.
*
* Valid for: Aurora DB clusters only
*/
public java.util.List getAvailabilityZones() {
if (availabilityZones == null) {
availabilityZones = new com.amazonaws.internal.SdkInternalList();
}
return availabilityZones;
}
/**
*
* Provides the list of Availability Zones (AZs) where instances in the restored DB cluster can be created.
*
*
* Valid for: Aurora DB clusters only
*
*
* @param availabilityZones
* Provides the list of Availability Zones (AZs) where instances in the restored DB cluster can be
* created.
*
* Valid for: Aurora DB clusters only
*/
public void setAvailabilityZones(java.util.Collection availabilityZones) {
if (availabilityZones == null) {
this.availabilityZones = null;
return;
}
this.availabilityZones = new com.amazonaws.internal.SdkInternalList(availabilityZones);
}
/**
*
* Provides the list of Availability Zones (AZs) where instances in the restored DB cluster can be created.
*
*
* Valid for: Aurora DB clusters only
*
*
* 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 Availability Zones (AZs) where instances in the restored DB cluster can be
* created.
*
* Valid for: Aurora DB clusters only
* @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 com.amazonaws.internal.SdkInternalList(availabilityZones.length));
}
for (String ele : availabilityZones) {
this.availabilityZones.add(ele);
}
return this;
}
/**
*
* Provides the list of Availability Zones (AZs) where instances in the restored DB cluster can be created.
*
*
* Valid for: Aurora DB clusters only
*
*
* @param availabilityZones
* Provides the list of Availability Zones (AZs) where instances in the restored DB cluster can be
* created.
*
* Valid for: Aurora DB clusters only
* @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 DB cluster to create from the DB snapshot or DB cluster snapshot. This parameter isn't
* case-sensitive.
*
*
* Constraints:
*
*
* -
*
* Must contain from 1 to 63 letters, numbers, or hyphens
*
*
* -
*
* First character must be a letter
*
*
* -
*
* Can't end with a hyphen or contain two consecutive hyphens
*
*
*
*
* Example: my-snapshot-id
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param dBClusterIdentifier
* The name of the DB cluster to create from the DB snapshot or DB cluster snapshot. This parameter isn't
* case-sensitive.
*
* Constraints:
*
*
* -
*
* Must contain from 1 to 63 letters, numbers, or hyphens
*
*
* -
*
* First character must be a letter
*
*
* -
*
* Can't end with a hyphen or contain two consecutive hyphens
*
*
*
*
* Example: my-snapshot-id
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public void setDBClusterIdentifier(String dBClusterIdentifier) {
this.dBClusterIdentifier = dBClusterIdentifier;
}
/**
*
* The name of the DB cluster to create from the DB snapshot or DB cluster snapshot. This parameter isn't
* case-sensitive.
*
*
* Constraints:
*
*
* -
*
* Must contain from 1 to 63 letters, numbers, or hyphens
*
*
* -
*
* First character must be a letter
*
*
* -
*
* Can't end with a hyphen or contain two consecutive hyphens
*
*
*
*
* Example: my-snapshot-id
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @return The name of the DB cluster to create from the DB snapshot or DB cluster snapshot. This parameter isn't
* case-sensitive.
*
* Constraints:
*
*
* -
*
* Must contain from 1 to 63 letters, numbers, or hyphens
*
*
* -
*
* First character must be a letter
*
*
* -
*
* Can't end with a hyphen or contain two consecutive hyphens
*
*
*
*
* Example: my-snapshot-id
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public String getDBClusterIdentifier() {
return this.dBClusterIdentifier;
}
/**
*
* The name of the DB cluster to create from the DB snapshot or DB cluster snapshot. This parameter isn't
* case-sensitive.
*
*
* Constraints:
*
*
* -
*
* Must contain from 1 to 63 letters, numbers, or hyphens
*
*
* -
*
* First character must be a letter
*
*
* -
*
* Can't end with a hyphen or contain two consecutive hyphens
*
*
*
*
* Example: my-snapshot-id
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param dBClusterIdentifier
* The name of the DB cluster to create from the DB snapshot or DB cluster snapshot. This parameter isn't
* case-sensitive.
*
* Constraints:
*
*
* -
*
* Must contain from 1 to 63 letters, numbers, or hyphens
*
*
* -
*
* First character must be a letter
*
*
* -
*
* Can't end with a hyphen or contain two consecutive hyphens
*
*
*
*
* Example: my-snapshot-id
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
* @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 DB snapshot or DB cluster snapshot to restore from.
*
*
* You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can
* use only the ARN to specify a DB snapshot.
*
*
* Constraints:
*
*
* -
*
* Must match the identifier of an existing Snapshot.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param snapshotIdentifier
* The identifier for the DB snapshot or DB cluster snapshot to restore from.
*
* You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However,
* you can use only the ARN to specify a DB snapshot.
*
*
* Constraints:
*
*
* -
*
* Must match the identifier of an existing Snapshot.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public void setSnapshotIdentifier(String snapshotIdentifier) {
this.snapshotIdentifier = snapshotIdentifier;
}
/**
*
* The identifier for the DB snapshot or DB cluster snapshot to restore from.
*
*
* You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can
* use only the ARN to specify a DB snapshot.
*
*
* Constraints:
*
*
* -
*
* Must match the identifier of an existing Snapshot.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @return The identifier for the DB snapshot or DB cluster snapshot to restore from.
*
* You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However,
* you can use only the ARN to specify a DB snapshot.
*
*
* Constraints:
*
*
* -
*
* Must match the identifier of an existing Snapshot.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public String getSnapshotIdentifier() {
return this.snapshotIdentifier;
}
/**
*
* The identifier for the DB snapshot or DB cluster snapshot to restore from.
*
*
* You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can
* use only the ARN to specify a DB snapshot.
*
*
* Constraints:
*
*
* -
*
* Must match the identifier of an existing Snapshot.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param snapshotIdentifier
* The identifier for the DB snapshot or DB cluster snapshot to restore from.
*
* You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However,
* you can use only the ARN to specify a DB snapshot.
*
*
* Constraints:
*
*
* -
*
* Must match the identifier of an existing Snapshot.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
* @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 DB cluster.
*
*
* Default: The same as source
*
*
* Constraint: Must be compatible with the engine of the source
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param engine
* The database engine to use for the new DB cluster.
*
* Default: The same as source
*
*
* Constraint: Must be compatible with the engine of the source
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public void setEngine(String engine) {
this.engine = engine;
}
/**
*
* The database engine to use for the new DB cluster.
*
*
* Default: The same as source
*
*
* Constraint: Must be compatible with the engine of the source
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @return The database engine to use for the new DB cluster.
*
* Default: The same as source
*
*
* Constraint: Must be compatible with the engine of the source
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public String getEngine() {
return this.engine;
}
/**
*
* The database engine to use for the new DB cluster.
*
*
* Default: The same as source
*
*
* Constraint: Must be compatible with the engine of the source
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param engine
* The database engine to use for the new DB cluster.
*
* Default: The same as source
*
*
* Constraint: Must be compatible with the engine of the source
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
* @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 DB cluster.
*
*
* To list all of the available engine versions for MySQL 5.6-compatible Aurora, use the following command:
*
*
* aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for MySQL 5.7-compatible and MySQL 8.0-compatible Aurora, use the
* following command:
*
*
* aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for Aurora PostgreSQL, use the following command:
*
*
* aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for RDS for MySQL, use the following command:
*
*
* aws rds describe-db-engine-versions --engine mysql --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for RDS for PostgreSQL, use the following command:
*
*
* aws rds describe-db-engine-versions --engine postgres --query "DBEngineVersions[].EngineVersion"
*
*
* Aurora MySQL
*
*
* See MySQL on
* Amazon RDS Versions in the Amazon Aurora User Guide.
*
*
* Aurora PostgreSQL
*
*
* See Amazon
* Aurora PostgreSQL releases and engine versions in the Amazon Aurora User Guide.
*
*
* MySQL
*
*
* See MySQL on
* Amazon RDS Versions in the Amazon RDS User Guide.
*
*
* PostgreSQL
*
*
* See Amazon RDS
* for PostgreSQL versions and extensions in the Amazon RDS User Guide.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param engineVersion
* The version of the database engine to use for the new DB cluster.
*
* To list all of the available engine versions for MySQL 5.6-compatible Aurora, use the following command:
*
*
* aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for MySQL 5.7-compatible and MySQL 8.0-compatible Aurora, use
* the following command:
*
*
* aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for Aurora PostgreSQL, use the following command:
*
*
* aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for RDS for MySQL, use the following command:
*
*
* aws rds describe-db-engine-versions --engine mysql --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for RDS for PostgreSQL, use the following command:
*
*
* aws rds describe-db-engine-versions --engine postgres --query "DBEngineVersions[].EngineVersion"
*
*
* Aurora MySQL
*
*
* See MySQL
* on Amazon RDS Versions in the Amazon Aurora User Guide.
*
*
* Aurora PostgreSQL
*
*
* See Amazon Aurora PostgreSQL releases and engine versions in the Amazon Aurora User Guide.
*
*
* MySQL
*
*
* See MySQL on Amazon RDS Versions in the Amazon RDS User Guide.
*
*
* PostgreSQL
*
*
* See Amazon RDS for PostgreSQL versions and extensions in the Amazon RDS User Guide.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public void setEngineVersion(String engineVersion) {
this.engineVersion = engineVersion;
}
/**
*
* The version of the database engine to use for the new DB cluster.
*
*
* To list all of the available engine versions for MySQL 5.6-compatible Aurora, use the following command:
*
*
* aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for MySQL 5.7-compatible and MySQL 8.0-compatible Aurora, use the
* following command:
*
*
* aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for Aurora PostgreSQL, use the following command:
*
*
* aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for RDS for MySQL, use the following command:
*
*
* aws rds describe-db-engine-versions --engine mysql --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for RDS for PostgreSQL, use the following command:
*
*
* aws rds describe-db-engine-versions --engine postgres --query "DBEngineVersions[].EngineVersion"
*
*
* Aurora MySQL
*
*
* See MySQL on
* Amazon RDS Versions in the Amazon Aurora User Guide.
*
*
* Aurora PostgreSQL
*
*
* See Amazon
* Aurora PostgreSQL releases and engine versions in the Amazon Aurora User Guide.
*
*
* MySQL
*
*
* See MySQL on
* Amazon RDS Versions in the Amazon RDS User Guide.
*
*
* PostgreSQL
*
*
* See Amazon RDS
* for PostgreSQL versions and extensions in the Amazon RDS User Guide.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @return The version of the database engine to use for the new DB cluster.
*
* To list all of the available engine versions for MySQL 5.6-compatible Aurora, use the following command:
*
*
* aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for MySQL 5.7-compatible and MySQL 8.0-compatible Aurora,
* use the following command:
*
*
* aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for Aurora PostgreSQL, use the following command:
*
*
* aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for RDS for MySQL, use the following command:
*
*
* aws rds describe-db-engine-versions --engine mysql --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for RDS for PostgreSQL, use the following command:
*
*
* aws rds describe-db-engine-versions --engine postgres --query "DBEngineVersions[].EngineVersion"
*
*
* Aurora MySQL
*
*
* See MySQL
* on Amazon RDS Versions in the Amazon Aurora User Guide.
*
*
* Aurora PostgreSQL
*
*
* See Amazon Aurora PostgreSQL releases and engine versions in the Amazon Aurora User Guide.
*
*
* MySQL
*
*
* See MySQL
* on Amazon RDS Versions in the Amazon RDS User Guide.
*
*
* PostgreSQL
*
*
* See Amazon RDS for PostgreSQL versions and extensions in the Amazon RDS User Guide.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public String getEngineVersion() {
return this.engineVersion;
}
/**
*
* The version of the database engine to use for the new DB cluster.
*
*
* To list all of the available engine versions for MySQL 5.6-compatible Aurora, use the following command:
*
*
* aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for MySQL 5.7-compatible and MySQL 8.0-compatible Aurora, use the
* following command:
*
*
* aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for Aurora PostgreSQL, use the following command:
*
*
* aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for RDS for MySQL, use the following command:
*
*
* aws rds describe-db-engine-versions --engine mysql --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for RDS for PostgreSQL, use the following command:
*
*
* aws rds describe-db-engine-versions --engine postgres --query "DBEngineVersions[].EngineVersion"
*
*
* Aurora MySQL
*
*
* See MySQL on
* Amazon RDS Versions in the Amazon Aurora User Guide.
*
*
* Aurora PostgreSQL
*
*
* See Amazon
* Aurora PostgreSQL releases and engine versions in the Amazon Aurora User Guide.
*
*
* MySQL
*
*
* See MySQL on
* Amazon RDS Versions in the Amazon RDS User Guide.
*
*
* PostgreSQL
*
*
* See Amazon RDS
* for PostgreSQL versions and extensions in the Amazon RDS User Guide.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param engineVersion
* The version of the database engine to use for the new DB cluster.
*
* To list all of the available engine versions for MySQL 5.6-compatible Aurora, use the following command:
*
*
* aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for MySQL 5.7-compatible and MySQL 8.0-compatible Aurora, use
* the following command:
*
*
* aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for Aurora PostgreSQL, use the following command:
*
*
* aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for RDS for MySQL, use the following command:
*
*
* aws rds describe-db-engine-versions --engine mysql --query "DBEngineVersions[].EngineVersion"
*
*
* To list all of the available engine versions for RDS for PostgreSQL, use the following command:
*
*
* aws rds describe-db-engine-versions --engine postgres --query "DBEngineVersions[].EngineVersion"
*
*
* Aurora MySQL
*
*
* See MySQL
* on Amazon RDS Versions in the Amazon Aurora User Guide.
*
*
* Aurora PostgreSQL
*
*
* See Amazon Aurora PostgreSQL releases and engine versions in the Amazon Aurora User Guide.
*
*
* MySQL
*
*
* See MySQL on Amazon RDS Versions in the Amazon RDS User Guide.
*
*
* PostgreSQL
*
*
* See Amazon RDS for PostgreSQL versions and extensions in the Amazon RDS User Guide.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
* @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 DB cluster accepts connections.
*
*
* Constraints: This value must be 1150-65535
*
*
* Default: The same port as the original DB cluster.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param port
* The port number on which the new DB cluster accepts connections.
*
* Constraints: This value must be 1150-65535
*
*
* Default: The same port as the original DB cluster.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public void setPort(Integer port) {
this.port = port;
}
/**
*
* The port number on which the new DB cluster accepts connections.
*
*
* Constraints: This value must be 1150-65535
*
*
* Default: The same port as the original DB cluster.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @return The port number on which the new DB cluster accepts connections.
*
* Constraints: This value must be 1150-65535
*
*
* Default: The same port as the original DB cluster.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public Integer getPort() {
return this.port;
}
/**
*
* The port number on which the new DB cluster accepts connections.
*
*
* Constraints: This value must be 1150-65535
*
*
* Default: The same port as the original DB cluster.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param port
* The port number on which the new DB cluster accepts connections.
*
* Constraints: This value must be 1150-65535
*
*
* Default: The same port as the original DB cluster.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
* @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 DB subnet group to use for the new DB cluster.
*
*
* Constraints: If supplied, must match the name of an existing DB subnet group.
*
*
* Example: mydbsubnetgroup
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param dBSubnetGroupName
* The name of the DB subnet group to use for the new DB cluster.
*
* Constraints: If supplied, must match the name of an existing DB subnet group.
*
*
* Example: mydbsubnetgroup
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public void setDBSubnetGroupName(String dBSubnetGroupName) {
this.dBSubnetGroupName = dBSubnetGroupName;
}
/**
*
* The name of the DB subnet group to use for the new DB cluster.
*
*
* Constraints: If supplied, must match the name of an existing DB subnet group.
*
*
* Example: mydbsubnetgroup
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @return The name of the DB subnet group to use for the new DB cluster.
*
* Constraints: If supplied, must match the name of an existing DB subnet group.
*
*
* Example: mydbsubnetgroup
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public String getDBSubnetGroupName() {
return this.dBSubnetGroupName;
}
/**
*
* The name of the DB subnet group to use for the new DB cluster.
*
*
* Constraints: If supplied, must match the name of an existing DB subnet group.
*
*
* Example: mydbsubnetgroup
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param dBSubnetGroupName
* The name of the DB subnet group to use for the new DB cluster.
*
* Constraints: If supplied, must match the name of an existing DB subnet group.
*
*
* Example: mydbsubnetgroup
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreDBClusterFromSnapshotRequest withDBSubnetGroupName(String dBSubnetGroupName) {
setDBSubnetGroupName(dBSubnetGroupName);
return this;
}
/**
*
* The database name for the restored DB cluster.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param databaseName
* The database name for the restored DB cluster.
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public void setDatabaseName(String databaseName) {
this.databaseName = databaseName;
}
/**
*
* The database name for the restored DB cluster.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @return The database name for the restored DB cluster.
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public String getDatabaseName() {
return this.databaseName;
}
/**
*
* The database name for the restored DB cluster.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param databaseName
* The database name for the restored DB cluster.
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreDBClusterFromSnapshotRequest withDatabaseName(String databaseName) {
setDatabaseName(databaseName);
return this;
}
/**
*
* The name of the option group to use for the restored DB cluster.
*
*
* DB clusters are associated with a default option group that can't be modified.
*
*
* @param optionGroupName
* The name of the option group to use for the restored DB cluster.
*
* DB clusters are associated with a default option group that can't be modified.
*/
public void setOptionGroupName(String optionGroupName) {
this.optionGroupName = optionGroupName;
}
/**
*
* The name of the option group to use for the restored DB cluster.
*
*
* DB clusters are associated with a default option group that can't be modified.
*
*
* @return The name of the option group to use for the restored DB cluster.
*
* DB clusters are associated with a default option group that can't be modified.
*/
public String getOptionGroupName() {
return this.optionGroupName;
}
/**
*
* The name of the option group to use for the restored DB cluster.
*
*
* DB clusters are associated with a default option group that can't be modified.
*
*
* @param optionGroupName
* The name of the option group to use for the restored DB cluster.
*
* DB clusters are associated with a default option group that can't be modified.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreDBClusterFromSnapshotRequest withOptionGroupName(String optionGroupName) {
setOptionGroupName(optionGroupName);
return this;
}
/**
*
* A list of VPC security groups that the new DB cluster will belong to.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @return A list of VPC security groups that the new DB cluster will belong to.
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public java.util.List getVpcSecurityGroupIds() {
if (vpcSecurityGroupIds == null) {
vpcSecurityGroupIds = new com.amazonaws.internal.SdkInternalList();
}
return vpcSecurityGroupIds;
}
/**
*
* A list of VPC security groups that the new DB cluster will belong to.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param vpcSecurityGroupIds
* A list of VPC security groups that the new DB cluster will belong to.
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public void setVpcSecurityGroupIds(java.util.Collection vpcSecurityGroupIds) {
if (vpcSecurityGroupIds == null) {
this.vpcSecurityGroupIds = null;
return;
}
this.vpcSecurityGroupIds = new com.amazonaws.internal.SdkInternalList(vpcSecurityGroupIds);
}
/**
*
* A list of VPC security groups that the new DB cluster will belong to.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* 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 VPC security groups that the new DB cluster will belong to.
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
* @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 com.amazonaws.internal.SdkInternalList(vpcSecurityGroupIds.length));
}
for (String ele : vpcSecurityGroupIds) {
this.vpcSecurityGroupIds.add(ele);
}
return this;
}
/**
*
* A list of VPC security groups that the new DB cluster will belong to.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param vpcSecurityGroupIds
* A list of VPC security groups that the new DB cluster will belong to.
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
* @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 DB cluster.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @return The tags to be assigned to the restored DB cluster.
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public java.util.List getTags() {
if (tags == null) {
tags = new com.amazonaws.internal.SdkInternalList();
}
return tags;
}
/**
*
* The tags to be assigned to the restored DB cluster.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param tags
* The tags to be assigned to the restored DB cluster.
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public void setTags(java.util.Collection tags) {
if (tags == null) {
this.tags = null;
return;
}
this.tags = new com.amazonaws.internal.SdkInternalList(tags);
}
/**
*
* The tags to be assigned to the restored DB cluster.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* 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 DB cluster.
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
* @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 com.amazonaws.internal.SdkInternalList(tags.length));
}
for (Tag ele : tags) {
this.tags.add(ele);
}
return this;
}
/**
*
* The tags to be assigned to the restored DB cluster.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param tags
* The tags to be assigned to the restored DB cluster.
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
* @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 Amazon Web Services KMS key identifier to use when restoring an encrypted DB cluster from a DB snapshot or DB
* cluster snapshot.
*
*
* The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To
* use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.
*
*
* When you don't specify a value for the KmsKeyId
parameter, then the following occurs:
*
*
* -
*
* If the DB snapshot or DB cluster snapshot in SnapshotIdentifier
is encrypted, then the restored DB
* cluster is encrypted using the KMS key that was used to encrypt the DB snapshot or DB cluster snapshot.
*
*
* -
*
* If the DB snapshot or DB cluster snapshot in SnapshotIdentifier
isn't encrypted, then the restored
* DB cluster isn't encrypted.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param kmsKeyId
* The Amazon Web Services KMS key identifier to use when restoring an encrypted DB cluster from a DB
* snapshot or DB cluster snapshot.
*
* The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS
* key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.
*
*
* When you don't specify a value for the KmsKeyId
parameter, then the following occurs:
*
*
* -
*
* If the DB snapshot or DB cluster snapshot in SnapshotIdentifier
is encrypted, then the
* restored DB cluster is encrypted using the KMS key that was used to encrypt the DB snapshot or DB cluster
* snapshot.
*
*
* -
*
* If the DB snapshot or DB cluster snapshot in SnapshotIdentifier
isn't encrypted, then the
* restored DB cluster isn't encrypted.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public void setKmsKeyId(String kmsKeyId) {
this.kmsKeyId = kmsKeyId;
}
/**
*
* The Amazon Web Services KMS key identifier to use when restoring an encrypted DB cluster from a DB snapshot or DB
* cluster snapshot.
*
*
* The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To
* use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.
*
*
* When you don't specify a value for the KmsKeyId
parameter, then the following occurs:
*
*
* -
*
* If the DB snapshot or DB cluster snapshot in SnapshotIdentifier
is encrypted, then the restored DB
* cluster is encrypted using the KMS key that was used to encrypt the DB snapshot or DB cluster snapshot.
*
*
* -
*
* If the DB snapshot or DB cluster snapshot in SnapshotIdentifier
isn't encrypted, then the restored
* DB cluster isn't encrypted.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @return The Amazon Web Services KMS key identifier to use when restoring an encrypted DB cluster from a DB
* snapshot or DB cluster snapshot.
*
* The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS
* key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.
*
*
* When you don't specify a value for the KmsKeyId
parameter, then the following occurs:
*
*
* -
*
* If the DB snapshot or DB cluster snapshot in SnapshotIdentifier
is encrypted, then the
* restored DB cluster is encrypted using the KMS key that was used to encrypt the DB snapshot or DB cluster
* snapshot.
*
*
* -
*
* If the DB snapshot or DB cluster snapshot in SnapshotIdentifier
isn't encrypted, then the
* restored DB cluster isn't encrypted.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public String getKmsKeyId() {
return this.kmsKeyId;
}
/**
*
* The Amazon Web Services KMS key identifier to use when restoring an encrypted DB cluster from a DB snapshot or DB
* cluster snapshot.
*
*
* The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To
* use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.
*
*
* When you don't specify a value for the KmsKeyId
parameter, then the following occurs:
*
*
* -
*
* If the DB snapshot or DB cluster snapshot in SnapshotIdentifier
is encrypted, then the restored DB
* cluster is encrypted using the KMS key that was used to encrypt the DB snapshot or DB cluster snapshot.
*
*
* -
*
* If the DB snapshot or DB cluster snapshot in SnapshotIdentifier
isn't encrypted, then the restored
* DB cluster isn't encrypted.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param kmsKeyId
* The Amazon Web Services KMS key identifier to use when restoring an encrypted DB cluster from a DB
* snapshot or DB cluster snapshot.
*
* The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS
* key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.
*
*
* When you don't specify a value for the KmsKeyId
parameter, then the following occurs:
*
*
* -
*
* If the DB snapshot or DB cluster snapshot in SnapshotIdentifier
is encrypted, then the
* restored DB cluster is encrypted using the KMS key that was used to encrypt the DB snapshot or DB cluster
* snapshot.
*
*
* -
*
* If the DB snapshot or DB cluster snapshot in SnapshotIdentifier
isn't encrypted, then the
* restored DB cluster isn't encrypted.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
* @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 value that indicates whether to enable mapping of Amazon Web Services Identity and Access Management (IAM)
* accounts to database accounts. By default, mapping isn't enabled.
*
*
* For more information, see IAM Database
* Authentication in the Amazon Aurora User Guide.
*
*
* Valid for: Aurora DB clusters only
*
*
* @param enableIAMDatabaseAuthentication
* A value that indicates whether to enable mapping of Amazon Web Services Identity and Access Management
* (IAM) accounts to database accounts. By default, mapping isn't enabled.
*
* For more information, see IAM
* Database Authentication in the Amazon Aurora User Guide.
*
*
* Valid for: Aurora DB clusters only
*/
public void setEnableIAMDatabaseAuthentication(Boolean enableIAMDatabaseAuthentication) {
this.enableIAMDatabaseAuthentication = enableIAMDatabaseAuthentication;
}
/**
*
* A value that indicates whether to enable mapping of Amazon Web Services Identity and Access Management (IAM)
* accounts to database accounts. By default, mapping isn't enabled.
*
*
* For more information, see IAM Database
* Authentication in the Amazon Aurora User Guide.
*
*
* Valid for: Aurora DB clusters only
*
*
* @return A value that indicates whether to enable mapping of Amazon Web Services Identity and Access Management
* (IAM) accounts to database accounts. By default, mapping isn't enabled.
*
* For more information, see IAM
* Database Authentication in the Amazon Aurora User Guide.
*
*
* Valid for: Aurora DB clusters only
*/
public Boolean getEnableIAMDatabaseAuthentication() {
return this.enableIAMDatabaseAuthentication;
}
/**
*
* A value that indicates whether to enable mapping of Amazon Web Services Identity and Access Management (IAM)
* accounts to database accounts. By default, mapping isn't enabled.
*
*
* For more information, see IAM Database
* Authentication in the Amazon Aurora User Guide.
*
*
* Valid for: Aurora DB clusters only
*
*
* @param enableIAMDatabaseAuthentication
* A value that indicates whether to enable mapping of Amazon Web Services Identity and Access Management
* (IAM) accounts to database accounts. By default, mapping isn't enabled.
*
* For more information, see IAM
* Database Authentication in the Amazon Aurora User Guide.
*
*
* Valid for: Aurora DB clusters only
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreDBClusterFromSnapshotRequest withEnableIAMDatabaseAuthentication(Boolean enableIAMDatabaseAuthentication) {
setEnableIAMDatabaseAuthentication(enableIAMDatabaseAuthentication);
return this;
}
/**
*
* A value that indicates whether to enable mapping of Amazon Web Services Identity and Access Management (IAM)
* accounts to database accounts. By default, mapping isn't enabled.
*
*
* For more information, see IAM Database
* Authentication in the Amazon Aurora User Guide.
*
*
* Valid for: Aurora DB clusters only
*
*
* @return A value that indicates whether to enable mapping of Amazon Web Services Identity and Access Management
* (IAM) accounts to database accounts. By default, mapping isn't enabled.
*
* For more information, see IAM
* Database Authentication in the Amazon Aurora User Guide.
*
*
* Valid for: Aurora DB clusters only
*/
public Boolean isEnableIAMDatabaseAuthentication() {
return this.enableIAMDatabaseAuthentication;
}
/**
*
* The target backtrack window, in seconds. To disable backtracking, set this value to 0.
*
*
*
* Currently, Backtrack is only supported for Aurora MySQL DB clusters.
*
*
*
* Default: 0
*
*
* Constraints:
*
*
* -
*
* If specified, this value must be set to a number from 0 to 259,200 (72 hours).
*
*
*
*
* Valid for: Aurora DB clusters only
*
*
* @param backtrackWindow
* The target backtrack window, in seconds. To disable backtracking, set this value to 0.
*
* Currently, Backtrack is only supported for Aurora MySQL DB clusters.
*
*
*
* Default: 0
*
*
* Constraints:
*
*
* -
*
* If specified, this value must be set to a number from 0 to 259,200 (72 hours).
*
*
*
*
* Valid for: Aurora DB clusters only
*/
public void setBacktrackWindow(Long backtrackWindow) {
this.backtrackWindow = backtrackWindow;
}
/**
*
* The target backtrack window, in seconds. To disable backtracking, set this value to 0.
*
*
*
* Currently, Backtrack is only supported for Aurora MySQL DB clusters.
*
*
*
* Default: 0
*
*
* Constraints:
*
*
* -
*
* If specified, this value must be set to a number from 0 to 259,200 (72 hours).
*
*
*
*
* Valid for: Aurora DB clusters only
*
*
* @return The target backtrack window, in seconds. To disable backtracking, set this value to 0.
*
* Currently, Backtrack is only supported for Aurora MySQL DB clusters.
*
*
*
* Default: 0
*
*
* Constraints:
*
*
* -
*
* If specified, this value must be set to a number from 0 to 259,200 (72 hours).
*
*
*
*
* Valid for: Aurora DB clusters only
*/
public Long getBacktrackWindow() {
return this.backtrackWindow;
}
/**
*
* The target backtrack window, in seconds. To disable backtracking, set this value to 0.
*
*
*
* Currently, Backtrack is only supported for Aurora MySQL DB clusters.
*
*
*
* Default: 0
*
*
* Constraints:
*
*
* -
*
* If specified, this value must be set to a number from 0 to 259,200 (72 hours).
*
*
*
*
* Valid for: Aurora DB clusters only
*
*
* @param backtrackWindow
* The target backtrack window, in seconds. To disable backtracking, set this value to 0.
*
* Currently, Backtrack is only supported for Aurora MySQL DB clusters.
*
*
*
* Default: 0
*
*
* Constraints:
*
*
* -
*
* If specified, this value must be set to a number from 0 to 259,200 (72 hours).
*
*
*
*
* Valid for: Aurora DB clusters only
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreDBClusterFromSnapshotRequest withBacktrackWindow(Long backtrackWindow) {
setBacktrackWindow(backtrackWindow);
return this;
}
/**
*
* The list of logs that the restored DB cluster is to export to Amazon CloudWatch Logs. The values in the list
* depend on the DB engine being used.
*
*
* RDS for MySQL
*
*
* Possible values are error
, general
, and slowquery
.
*
*
* RDS for PostgreSQL
*
*
* Possible values are postgresql
and upgrade
.
*
*
* Aurora MySQL
*
*
* Possible values are audit
, error
, general
, and slowquery
.
*
*
* Aurora PostgreSQL
*
*
* Possible value is postgresql
.
*
*
* For more information about exporting CloudWatch Logs for Amazon RDS, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.
*
*
* For more information about exporting CloudWatch Logs for Amazon Aurora, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @return The list of logs that the restored DB cluster is to export to Amazon CloudWatch Logs. The values in the
* list depend on the DB engine being used.
*
* RDS for MySQL
*
*
* Possible values are error
, general
, and slowquery
.
*
*
* RDS for PostgreSQL
*
*
* Possible values are postgresql
and upgrade
.
*
*
* Aurora MySQL
*
*
* Possible values are audit
, error
, general
, and
* slowquery
.
*
*
* Aurora PostgreSQL
*
*
* Possible value is postgresql
.
*
*
* For more information about exporting CloudWatch Logs for Amazon RDS, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.
*
*
* For more information about exporting CloudWatch Logs for Amazon Aurora, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public java.util.List getEnableCloudwatchLogsExports() {
if (enableCloudwatchLogsExports == null) {
enableCloudwatchLogsExports = new com.amazonaws.internal.SdkInternalList();
}
return enableCloudwatchLogsExports;
}
/**
*
* The list of logs that the restored DB cluster is to export to Amazon CloudWatch Logs. The values in the list
* depend on the DB engine being used.
*
*
* RDS for MySQL
*
*
* Possible values are error
, general
, and slowquery
.
*
*
* RDS for PostgreSQL
*
*
* Possible values are postgresql
and upgrade
.
*
*
* Aurora MySQL
*
*
* Possible values are audit
, error
, general
, and slowquery
.
*
*
* Aurora PostgreSQL
*
*
* Possible value is postgresql
.
*
*
* For more information about exporting CloudWatch Logs for Amazon RDS, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.
*
*
* For more information about exporting CloudWatch Logs for Amazon Aurora, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param enableCloudwatchLogsExports
* The list of logs that the restored DB cluster is to export to Amazon CloudWatch Logs. The values in the
* list depend on the DB engine being used.
*
* RDS for MySQL
*
*
* Possible values are error
, general
, and slowquery
.
*
*
* RDS for PostgreSQL
*
*
* Possible values are postgresql
and upgrade
.
*
*
* Aurora MySQL
*
*
* Possible values are audit
, error
, general
, and
* slowquery
.
*
*
* Aurora PostgreSQL
*
*
* Possible value is postgresql
.
*
*
* For more information about exporting CloudWatch Logs for Amazon RDS, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.
*
*
* For more information about exporting CloudWatch Logs for Amazon Aurora, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public void setEnableCloudwatchLogsExports(java.util.Collection enableCloudwatchLogsExports) {
if (enableCloudwatchLogsExports == null) {
this.enableCloudwatchLogsExports = null;
return;
}
this.enableCloudwatchLogsExports = new com.amazonaws.internal.SdkInternalList(enableCloudwatchLogsExports);
}
/**
*
* The list of logs that the restored DB cluster is to export to Amazon CloudWatch Logs. The values in the list
* depend on the DB engine being used.
*
*
* RDS for MySQL
*
*
* Possible values are error
, general
, and slowquery
.
*
*
* RDS for PostgreSQL
*
*
* Possible values are postgresql
and upgrade
.
*
*
* Aurora MySQL
*
*
* Possible values are audit
, error
, general
, and slowquery
.
*
*
* Aurora PostgreSQL
*
*
* Possible value is postgresql
.
*
*
* For more information about exporting CloudWatch Logs for Amazon RDS, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.
*
*
* For more information about exporting CloudWatch Logs for Amazon Aurora, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* 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
* The list of logs that the restored DB cluster is to export to Amazon CloudWatch Logs. The values in the
* list depend on the DB engine being used.
*
* RDS for MySQL
*
*
* Possible values are error
, general
, and slowquery
.
*
*
* RDS for PostgreSQL
*
*
* Possible values are postgresql
and upgrade
.
*
*
* Aurora MySQL
*
*
* Possible values are audit
, error
, general
, and
* slowquery
.
*
*
* Aurora PostgreSQL
*
*
* Possible value is postgresql
.
*
*
* For more information about exporting CloudWatch Logs for Amazon RDS, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.
*
*
* For more information about exporting CloudWatch Logs for Amazon Aurora, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
* @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 com.amazonaws.internal.SdkInternalList(enableCloudwatchLogsExports.length));
}
for (String ele : enableCloudwatchLogsExports) {
this.enableCloudwatchLogsExports.add(ele);
}
return this;
}
/**
*
* The list of logs that the restored DB cluster is to export to Amazon CloudWatch Logs. The values in the list
* depend on the DB engine being used.
*
*
* RDS for MySQL
*
*
* Possible values are error
, general
, and slowquery
.
*
*
* RDS for PostgreSQL
*
*
* Possible values are postgresql
and upgrade
.
*
*
* Aurora MySQL
*
*
* Possible values are audit
, error
, general
, and slowquery
.
*
*
* Aurora PostgreSQL
*
*
* Possible value is postgresql
.
*
*
* For more information about exporting CloudWatch Logs for Amazon RDS, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.
*
*
* For more information about exporting CloudWatch Logs for Amazon Aurora, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param enableCloudwatchLogsExports
* The list of logs that the restored DB cluster is to export to Amazon CloudWatch Logs. The values in the
* list depend on the DB engine being used.
*
* RDS for MySQL
*
*
* Possible values are error
, general
, and slowquery
.
*
*
* RDS for PostgreSQL
*
*
* Possible values are postgresql
and upgrade
.
*
*
* Aurora MySQL
*
*
* Possible values are audit
, error
, general
, and
* slowquery
.
*
*
* Aurora PostgreSQL
*
*
* Possible value is postgresql
.
*
*
* For more information about exporting CloudWatch Logs for Amazon RDS, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.
*
*
* For more information about exporting CloudWatch Logs for Amazon Aurora, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
* @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;
}
/**
*
* The DB engine mode of the DB cluster, either provisioned
, serverless
,
* parallelquery
, global
, or multimaster
.
*
*
* For more information, see CreateDBCluster.
*
*
* Valid for: Aurora DB clusters only
*
*
* @param engineMode
* The DB engine mode of the DB cluster, either provisioned
, serverless
,
* parallelquery
, global
, or multimaster
.
*
* For more information, see
* CreateDBCluster.
*
*
* Valid for: Aurora DB clusters only
*/
public void setEngineMode(String engineMode) {
this.engineMode = engineMode;
}
/**
*
* The DB engine mode of the DB cluster, either provisioned
, serverless
,
* parallelquery
, global
, or multimaster
.
*
*
* For more information, see CreateDBCluster.
*
*
* Valid for: Aurora DB clusters only
*
*
* @return The DB engine mode of the DB cluster, either provisioned
, serverless
,
* parallelquery
, global
, or multimaster
.
*
* For more information, see
* CreateDBCluster.
*
*
* Valid for: Aurora DB clusters only
*/
public String getEngineMode() {
return this.engineMode;
}
/**
*
* The DB engine mode of the DB cluster, either provisioned
, serverless
,
* parallelquery
, global
, or multimaster
.
*
*
* For more information, see CreateDBCluster.
*
*
* Valid for: Aurora DB clusters only
*
*
* @param engineMode
* The DB engine mode of the DB cluster, either provisioned
, serverless
,
* parallelquery
, global
, or multimaster
.
*
* For more information, see
* CreateDBCluster.
*
*
* Valid for: Aurora DB clusters only
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreDBClusterFromSnapshotRequest withEngineMode(String engineMode) {
setEngineMode(engineMode);
return this;
}
/**
*
* For DB clusters in serverless
DB engine mode, the scaling properties of the DB cluster.
*
*
* Valid for: Aurora DB clusters only
*
*
* @param scalingConfiguration
* For DB clusters in serverless
DB engine mode, the scaling properties of the DB cluster.
*
* Valid for: Aurora DB clusters only
*/
public void setScalingConfiguration(ScalingConfiguration scalingConfiguration) {
this.scalingConfiguration = scalingConfiguration;
}
/**
*
* For DB clusters in serverless
DB engine mode, the scaling properties of the DB cluster.
*
*
* Valid for: Aurora DB clusters only
*
*
* @return For DB clusters in serverless
DB engine mode, the scaling properties of the DB cluster.
*
* Valid for: Aurora DB clusters only
*/
public ScalingConfiguration getScalingConfiguration() {
return this.scalingConfiguration;
}
/**
*
* For DB clusters in serverless
DB engine mode, the scaling properties of the DB cluster.
*
*
* Valid for: Aurora DB clusters only
*
*
* @param scalingConfiguration
* For DB clusters in serverless
DB engine mode, the scaling properties of the DB cluster.
*
* Valid for: Aurora DB clusters only
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreDBClusterFromSnapshotRequest withScalingConfiguration(ScalingConfiguration scalingConfiguration) {
setScalingConfiguration(scalingConfiguration);
return this;
}
/**
*
* The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, the
* default DB cluster parameter group for the specified engine is used.
*
*
* Constraints:
*
*
* -
*
* If supplied, must match the name of an existing default DB cluster parameter group.
*
*
* -
*
* Must be 1 to 255 letters, numbers, or hyphens.
*
*
* -
*
* First character must be a letter.
*
*
* -
*
* Can't end with a hyphen or contain two consecutive hyphens.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param dBClusterParameterGroupName
* The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted,
* the default DB cluster parameter group for the specified engine is used.
*
* Constraints:
*
*
* -
*
* If supplied, must match the name of an existing default DB cluster parameter group.
*
*
* -
*
* Must be 1 to 255 letters, numbers, or hyphens.
*
*
* -
*
* First character must be a letter.
*
*
* -
*
* Can't end with a hyphen or contain two consecutive hyphens.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public void setDBClusterParameterGroupName(String dBClusterParameterGroupName) {
this.dBClusterParameterGroupName = dBClusterParameterGroupName;
}
/**
*
* The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, the
* default DB cluster parameter group for the specified engine is used.
*
*
* Constraints:
*
*
* -
*
* If supplied, must match the name of an existing default DB cluster parameter group.
*
*
* -
*
* Must be 1 to 255 letters, numbers, or hyphens.
*
*
* -
*
* First character must be a letter.
*
*
* -
*
* Can't end with a hyphen or contain two consecutive hyphens.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @return The name of the DB cluster parameter group to associate with this DB cluster. If this argument is
* omitted, the default DB cluster parameter group for the specified engine is used.
*
* Constraints:
*
*
* -
*
* If supplied, must match the name of an existing default DB cluster parameter group.
*
*
* -
*
* Must be 1 to 255 letters, numbers, or hyphens.
*
*
* -
*
* First character must be a letter.
*
*
* -
*
* Can't end with a hyphen or contain two consecutive hyphens.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public String getDBClusterParameterGroupName() {
return this.dBClusterParameterGroupName;
}
/**
*
* The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, the
* default DB cluster parameter group for the specified engine is used.
*
*
* Constraints:
*
*
* -
*
* If supplied, must match the name of an existing default DB cluster parameter group.
*
*
* -
*
* Must be 1 to 255 letters, numbers, or hyphens.
*
*
* -
*
* First character must be a letter.
*
*
* -
*
* Can't end with a hyphen or contain two consecutive hyphens.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param dBClusterParameterGroupName
* The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted,
* the default DB cluster parameter group for the specified engine is used.
*
* Constraints:
*
*
* -
*
* If supplied, must match the name of an existing default DB cluster parameter group.
*
*
* -
*
* Must be 1 to 255 letters, numbers, or hyphens.
*
*
* -
*
* First character must be a letter.
*
*
* -
*
* Can't end with a hyphen or contain two consecutive hyphens.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreDBClusterFromSnapshotRequest withDBClusterParameterGroupName(String dBClusterParameterGroupName) {
setDBClusterParameterGroupName(dBClusterParameterGroupName);
return this;
}
/**
*
* A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when
* deletion protection is enabled. By default, deletion protection isn't enabled.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param deletionProtection
* A value that indicates whether the DB cluster has deletion protection enabled. The database can't be
* deleted when deletion protection is enabled. By default, deletion protection isn't enabled.
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public void setDeletionProtection(Boolean deletionProtection) {
this.deletionProtection = deletionProtection;
}
/**
*
* A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when
* deletion protection is enabled. By default, deletion protection isn't enabled.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @return A value that indicates whether the DB cluster has deletion protection enabled. The database can't be
* deleted when deletion protection is enabled. By default, deletion protection isn't enabled.
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public Boolean getDeletionProtection() {
return this.deletionProtection;
}
/**
*
* A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when
* deletion protection is enabled. By default, deletion protection isn't enabled.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param deletionProtection
* A value that indicates whether the DB cluster has deletion protection enabled. The database can't be
* deleted when deletion protection is enabled. By default, deletion protection isn't enabled.
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreDBClusterFromSnapshotRequest withDeletionProtection(Boolean deletionProtection) {
setDeletionProtection(deletionProtection);
return this;
}
/**
*
* A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when
* deletion protection is enabled. By default, deletion protection isn't enabled.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @return A value that indicates whether the DB cluster has deletion protection enabled. The database can't be
* deleted when deletion protection is enabled. By default, deletion protection isn't enabled.
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public Boolean isDeletionProtection() {
return this.deletionProtection;
}
/**
*
* A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored DB
* cluster. The default is not to copy them.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param copyTagsToSnapshot
* A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored
* DB cluster. The default is not to copy them.
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public void setCopyTagsToSnapshot(Boolean copyTagsToSnapshot) {
this.copyTagsToSnapshot = copyTagsToSnapshot;
}
/**
*
* A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored DB
* cluster. The default is not to copy them.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @return A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored
* DB cluster. The default is not to copy them.
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public Boolean getCopyTagsToSnapshot() {
return this.copyTagsToSnapshot;
}
/**
*
* A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored DB
* cluster. The default is not to copy them.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param copyTagsToSnapshot
* A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored
* DB cluster. The default is not to copy them.
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreDBClusterFromSnapshotRequest withCopyTagsToSnapshot(Boolean copyTagsToSnapshot) {
setCopyTagsToSnapshot(copyTagsToSnapshot);
return this;
}
/**
*
* A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored DB
* cluster. The default is not to copy them.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @return A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored
* DB cluster. The default is not to copy them.
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public Boolean isCopyTagsToSnapshot() {
return this.copyTagsToSnapshot;
}
/**
*
* Specify the Active Directory directory ID to restore the DB cluster in. The domain must be created prior to this
* operation. Currently, only MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created in an
* Active Directory Domain.
*
*
* For more information, see Kerberos
* Authentication in the Amazon RDS User Guide.
*
*
* Valid for: Aurora DB clusters only
*
*
* @param domain
* Specify the Active Directory directory ID to restore the DB cluster in. The domain must be created prior
* to this operation. Currently, only MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be
* created in an Active Directory Domain.
*
* For more information, see Kerberos
* Authentication in the Amazon RDS User Guide.
*
*
* Valid for: Aurora DB clusters only
*/
public void setDomain(String domain) {
this.domain = domain;
}
/**
*
* Specify the Active Directory directory ID to restore the DB cluster in. The domain must be created prior to this
* operation. Currently, only MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created in an
* Active Directory Domain.
*
*
* For more information, see Kerberos
* Authentication in the Amazon RDS User Guide.
*
*
* Valid for: Aurora DB clusters only
*
*
* @return Specify the Active Directory directory ID to restore the DB cluster in. The domain must be created prior
* to this operation. Currently, only MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can
* be created in an Active Directory Domain.
*
* For more information, see Kerberos
* Authentication in the Amazon RDS User Guide.
*
*
* Valid for: Aurora DB clusters only
*/
public String getDomain() {
return this.domain;
}
/**
*
* Specify the Active Directory directory ID to restore the DB cluster in. The domain must be created prior to this
* operation. Currently, only MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created in an
* Active Directory Domain.
*
*
* For more information, see Kerberos
* Authentication in the Amazon RDS User Guide.
*
*
* Valid for: Aurora DB clusters only
*
*
* @param domain
* Specify the Active Directory directory ID to restore the DB cluster in. The domain must be created prior
* to this operation. Currently, only MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be
* created in an Active Directory Domain.
*
* For more information, see Kerberos
* Authentication in the Amazon RDS User Guide.
*
*
* Valid for: Aurora DB clusters only
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreDBClusterFromSnapshotRequest withDomain(String domain) {
setDomain(domain);
return this;
}
/**
*
* Specify the name of the IAM role to be used when making API calls to the Directory Service.
*
*
* Valid for: Aurora DB clusters only
*
*
* @param domainIAMRoleName
* Specify the name of the IAM role to be used when making API calls to the Directory Service.
*
* Valid for: Aurora DB clusters only
*/
public void setDomainIAMRoleName(String domainIAMRoleName) {
this.domainIAMRoleName = domainIAMRoleName;
}
/**
*
* Specify the name of the IAM role to be used when making API calls to the Directory Service.
*
*
* Valid for: Aurora DB clusters only
*
*
* @return Specify the name of the IAM role to be used when making API calls to the Directory Service.
*
* Valid for: Aurora DB clusters only
*/
public String getDomainIAMRoleName() {
return this.domainIAMRoleName;
}
/**
*
* Specify the name of the IAM role to be used when making API calls to the Directory Service.
*
*
* Valid for: Aurora DB clusters only
*
*
* @param domainIAMRoleName
* Specify the name of the IAM role to be used when making API calls to the Directory Service.
*
* Valid for: Aurora DB clusters only
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreDBClusterFromSnapshotRequest withDomainIAMRoleName(String domainIAMRoleName) {
setDomainIAMRoleName(domainIAMRoleName);
return this;
}
/**
*
* The compute and memory capacity of the each DB instance in the Multi-AZ DB cluster, for example db.m6gd.xlarge.
* Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines.
*
*
* For the full list of DB instance classes, and availability for your engine, see DB Instance Class
* in the Amazon RDS User Guide.
*
*
* Valid for: Multi-AZ DB clusters only
*
*
* @param dBClusterInstanceClass
* The compute and memory capacity of the each DB instance in the Multi-AZ DB cluster, for example
* db.m6gd.xlarge. Not all DB instance classes are available in all Amazon Web Services Regions, or for all
* database engines.
*
* For the full list of DB instance classes, and availability for your engine, see DB Instance
* Class in the Amazon RDS User Guide.
*
*
* Valid for: Multi-AZ DB clusters only
*/
public void setDBClusterInstanceClass(String dBClusterInstanceClass) {
this.dBClusterInstanceClass = dBClusterInstanceClass;
}
/**
*
* The compute and memory capacity of the each DB instance in the Multi-AZ DB cluster, for example db.m6gd.xlarge.
* Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines.
*
*
* For the full list of DB instance classes, and availability for your engine, see DB Instance Class
* in the Amazon RDS User Guide.
*
*
* Valid for: Multi-AZ DB clusters only
*
*
* @return The compute and memory capacity of the each DB instance in the Multi-AZ DB cluster, for example
* db.m6gd.xlarge. Not all DB instance classes are available in all Amazon Web Services Regions, or for all
* database engines.
*
* For the full list of DB instance classes, and availability for your engine, see DB Instance
* Class in the Amazon RDS User Guide.
*
*
* Valid for: Multi-AZ DB clusters only
*/
public String getDBClusterInstanceClass() {
return this.dBClusterInstanceClass;
}
/**
*
* The compute and memory capacity of the each DB instance in the Multi-AZ DB cluster, for example db.m6gd.xlarge.
* Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines.
*
*
* For the full list of DB instance classes, and availability for your engine, see DB Instance Class
* in the Amazon RDS User Guide.
*
*
* Valid for: Multi-AZ DB clusters only
*
*
* @param dBClusterInstanceClass
* The compute and memory capacity of the each DB instance in the Multi-AZ DB cluster, for example
* db.m6gd.xlarge. Not all DB instance classes are available in all Amazon Web Services Regions, or for all
* database engines.
*
* For the full list of DB instance classes, and availability for your engine, see DB Instance
* Class in the Amazon RDS User Guide.
*
*
* Valid for: Multi-AZ DB clusters only
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreDBClusterFromSnapshotRequest withDBClusterInstanceClass(String dBClusterInstanceClass) {
setDBClusterInstanceClass(dBClusterInstanceClass);
return this;
}
/**
*
* Specifies the storage type to be associated with the each DB instance in the Multi-AZ DB cluster.
*
*
* Valid values: io1
*
*
* When specified, a value for the Iops
parameter is required.
*
*
* Default: io1
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param storageType
* Specifies the storage type to be associated with the each DB instance in the Multi-AZ DB cluster.
*
* Valid values: io1
*
*
* When specified, a value for the Iops
parameter is required.
*
*
* Default: io1
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public void setStorageType(String storageType) {
this.storageType = storageType;
}
/**
*
* Specifies the storage type to be associated with the each DB instance in the Multi-AZ DB cluster.
*
*
* Valid values: io1
*
*
* When specified, a value for the Iops
parameter is required.
*
*
* Default: io1
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @return Specifies the storage type to be associated with the each DB instance in the Multi-AZ DB cluster.
*
* Valid values: io1
*
*
* When specified, a value for the Iops
parameter is required.
*
*
* Default: io1
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public String getStorageType() {
return this.storageType;
}
/**
*
* Specifies the storage type to be associated with the each DB instance in the Multi-AZ DB cluster.
*
*
* Valid values: io1
*
*
* When specified, a value for the Iops
parameter is required.
*
*
* Default: io1
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param storageType
* Specifies the storage type to be associated with the each DB instance in the Multi-AZ DB cluster.
*
* Valid values: io1
*
*
* When specified, a value for the Iops
parameter is required.
*
*
* Default: io1
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreDBClusterFromSnapshotRequest withStorageType(String storageType) {
setStorageType(storageType);
return this;
}
/**
*
* The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB
* instance in the Multi-AZ DB cluster.
*
*
* For information about valid IOPS values, see Amazon RDS Provisioned
* IOPS storage in the Amazon RDS User Guide.
*
*
* Constraints: Must be a multiple between .5 and 50 of the storage amount for the DB instance.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param iops
* The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB
* instance in the Multi-AZ DB cluster.
*
* For information about valid IOPS values, see Amazon RDS
* Provisioned IOPS storage in the Amazon RDS User Guide.
*
*
* Constraints: Must be a multiple between .5 and 50 of the storage amount for the DB instance.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public void setIops(Integer iops) {
this.iops = iops;
}
/**
*
* The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB
* instance in the Multi-AZ DB cluster.
*
*
* For information about valid IOPS values, see Amazon RDS Provisioned
* IOPS storage in the Amazon RDS User Guide.
*
*
* Constraints: Must be a multiple between .5 and 50 of the storage amount for the DB instance.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @return The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB
* instance in the Multi-AZ DB cluster.
*
* For information about valid IOPS values, see Amazon RDS
* Provisioned IOPS storage in the Amazon RDS User Guide.
*
*
* Constraints: Must be a multiple between .5 and 50 of the storage amount for the DB instance.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public Integer getIops() {
return this.iops;
}
/**
*
* The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB
* instance in the Multi-AZ DB cluster.
*
*
* For information about valid IOPS values, see Amazon RDS Provisioned
* IOPS storage in the Amazon RDS User Guide.
*
*
* Constraints: Must be a multiple between .5 and 50 of the storage amount for the DB instance.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param iops
* The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB
* instance in the Multi-AZ DB cluster.
*
* For information about valid IOPS values, see Amazon RDS
* Provisioned IOPS storage in the Amazon RDS User Guide.
*
*
* Constraints: Must be a multiple between .5 and 50 of the storage amount for the DB instance.
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreDBClusterFromSnapshotRequest withIops(Integer iops) {
setIops(iops);
return this;
}
/**
*
* A value that indicates whether the DB cluster is publicly accessible.
*
*
* When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP
* address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from
* outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses.
* That public access is not permitted if the security group assigned to the DB cluster doesn't permit it.
*
*
* When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a
* private IP address.
*
*
* Default: The default behavior varies depending on whether DBSubnetGroupName
is specified.
*
*
* If DBSubnetGroupName
isn't specified, and PubliclyAccessible
isn't specified, the
* following applies:
*
*
* -
*
* If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB cluster is
* private.
*
*
* -
*
* If the default VPC in the target Region has an internet gateway attached to it, the DB cluster is public.
*
*
*
*
* If DBSubnetGroupName
is specified, and PubliclyAccessible
isn't specified, the
* following applies:
*
*
* -
*
* If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB cluster is private.
*
*
* -
*
* If the subnets are part of a VPC that has an internet gateway attached to it, the DB cluster is public.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param publiclyAccessible
* A value that indicates whether the DB cluster is publicly accessible.
*
* When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private
* IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address
* from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security
* group it uses. That public access is not permitted if the security group assigned to the DB cluster
* doesn't permit it.
*
*
* When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves
* to a private IP address.
*
*
* Default: The default behavior varies depending on whether DBSubnetGroupName
is specified.
*
*
* If DBSubnetGroupName
isn't specified, and PubliclyAccessible
isn't specified,
* the following applies:
*
*
* -
*
* If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB cluster is
* private.
*
*
* -
*
* If the default VPC in the target Region has an internet gateway attached to it, the DB cluster is public.
*
*
*
*
* If DBSubnetGroupName
is specified, and PubliclyAccessible
isn't specified, the
* following applies:
*
*
* -
*
* If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB cluster is
* private.
*
*
* -
*
* If the subnets are part of a VPC that has an internet gateway attached to it, the DB cluster is public.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public void setPubliclyAccessible(Boolean publiclyAccessible) {
this.publiclyAccessible = publiclyAccessible;
}
/**
*
* A value that indicates whether the DB cluster is publicly accessible.
*
*
* When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP
* address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from
* outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses.
* That public access is not permitted if the security group assigned to the DB cluster doesn't permit it.
*
*
* When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a
* private IP address.
*
*
* Default: The default behavior varies depending on whether DBSubnetGroupName
is specified.
*
*
* If DBSubnetGroupName
isn't specified, and PubliclyAccessible
isn't specified, the
* following applies:
*
*
* -
*
* If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB cluster is
* private.
*
*
* -
*
* If the default VPC in the target Region has an internet gateway attached to it, the DB cluster is public.
*
*
*
*
* If DBSubnetGroupName
is specified, and PubliclyAccessible
isn't specified, the
* following applies:
*
*
* -
*
* If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB cluster is private.
*
*
* -
*
* If the subnets are part of a VPC that has an internet gateway attached to it, the DB cluster is public.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @return A value that indicates whether the DB cluster is publicly accessible.
*
* When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private
* IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address
* from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security
* group it uses. That public access is not permitted if the security group assigned to the DB cluster
* doesn't permit it.
*
*
* When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves
* to a private IP address.
*
*
* Default: The default behavior varies depending on whether DBSubnetGroupName
is specified.
*
*
* If DBSubnetGroupName
isn't specified, and PubliclyAccessible
isn't specified,
* the following applies:
*
*
* -
*
* If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB cluster
* is private.
*
*
* -
*
* If the default VPC in the target Region has an internet gateway attached to it, the DB cluster is public.
*
*
*
*
* If DBSubnetGroupName
is specified, and PubliclyAccessible
isn't specified, the
* following applies:
*
*
* -
*
* If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB cluster is
* private.
*
*
* -
*
* If the subnets are part of a VPC that has an internet gateway attached to it, the DB cluster is public.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public Boolean getPubliclyAccessible() {
return this.publiclyAccessible;
}
/**
*
* A value that indicates whether the DB cluster is publicly accessible.
*
*
* When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP
* address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from
* outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses.
* That public access is not permitted if the security group assigned to the DB cluster doesn't permit it.
*
*
* When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a
* private IP address.
*
*
* Default: The default behavior varies depending on whether DBSubnetGroupName
is specified.
*
*
* If DBSubnetGroupName
isn't specified, and PubliclyAccessible
isn't specified, the
* following applies:
*
*
* -
*
* If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB cluster is
* private.
*
*
* -
*
* If the default VPC in the target Region has an internet gateway attached to it, the DB cluster is public.
*
*
*
*
* If DBSubnetGroupName
is specified, and PubliclyAccessible
isn't specified, the
* following applies:
*
*
* -
*
* If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB cluster is private.
*
*
* -
*
* If the subnets are part of a VPC that has an internet gateway attached to it, the DB cluster is public.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @param publiclyAccessible
* A value that indicates whether the DB cluster is publicly accessible.
*
* When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private
* IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address
* from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security
* group it uses. That public access is not permitted if the security group assigned to the DB cluster
* doesn't permit it.
*
*
* When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves
* to a private IP address.
*
*
* Default: The default behavior varies depending on whether DBSubnetGroupName
is specified.
*
*
* If DBSubnetGroupName
isn't specified, and PubliclyAccessible
isn't specified,
* the following applies:
*
*
* -
*
* If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB cluster is
* private.
*
*
* -
*
* If the default VPC in the target Region has an internet gateway attached to it, the DB cluster is public.
*
*
*
*
* If DBSubnetGroupName
is specified, and PubliclyAccessible
isn't specified, the
* following applies:
*
*
* -
*
* If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB cluster is
* private.
*
*
* -
*
* If the subnets are part of a VPC that has an internet gateway attached to it, the DB cluster is public.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreDBClusterFromSnapshotRequest withPubliclyAccessible(Boolean publiclyAccessible) {
setPubliclyAccessible(publiclyAccessible);
return this;
}
/**
*
* A value that indicates whether the DB cluster is publicly accessible.
*
*
* When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP
* address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from
* outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses.
* That public access is not permitted if the security group assigned to the DB cluster doesn't permit it.
*
*
* When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a
* private IP address.
*
*
* Default: The default behavior varies depending on whether DBSubnetGroupName
is specified.
*
*
* If DBSubnetGroupName
isn't specified, and PubliclyAccessible
isn't specified, the
* following applies:
*
*
* -
*
* If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB cluster is
* private.
*
*
* -
*
* If the default VPC in the target Region has an internet gateway attached to it, the DB cluster is public.
*
*
*
*
* If DBSubnetGroupName
is specified, and PubliclyAccessible
isn't specified, the
* following applies:
*
*
* -
*
* If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB cluster is private.
*
*
* -
*
* If the subnets are part of a VPC that has an internet gateway attached to it, the DB cluster is public.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*
*
* @return A value that indicates whether the DB cluster is publicly accessible.
*
* When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private
* IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address
* from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security
* group it uses. That public access is not permitted if the security group assigned to the DB cluster
* doesn't permit it.
*
*
* When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves
* to a private IP address.
*
*
* Default: The default behavior varies depending on whether DBSubnetGroupName
is specified.
*
*
* If DBSubnetGroupName
isn't specified, and PubliclyAccessible
isn't specified,
* the following applies:
*
*
* -
*
* If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB cluster
* is private.
*
*
* -
*
* If the default VPC in the target Region has an internet gateway attached to it, the DB cluster is public.
*
*
*
*
* If DBSubnetGroupName
is specified, and PubliclyAccessible
isn't specified, the
* following applies:
*
*
* -
*
* If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB cluster is
* private.
*
*
* -
*
* If the subnets are part of a VPC that has an internet gateway attached to it, the DB cluster is public.
*
*
*
*
* Valid for: Aurora DB clusters and Multi-AZ DB clusters
*/
public Boolean isPubliclyAccessible() {
return this.publiclyAccessible;
}
/**
* @param serverlessV2ScalingConfiguration
*/
public void setServerlessV2ScalingConfiguration(ServerlessV2ScalingConfiguration serverlessV2ScalingConfiguration) {
this.serverlessV2ScalingConfiguration = serverlessV2ScalingConfiguration;
}
/**
* @return
*/
public ServerlessV2ScalingConfiguration getServerlessV2ScalingConfiguration() {
return this.serverlessV2ScalingConfiguration;
}
/**
* @param serverlessV2ScalingConfiguration
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreDBClusterFromSnapshotRequest withServerlessV2ScalingConfiguration(ServerlessV2ScalingConfiguration serverlessV2ScalingConfiguration) {
setServerlessV2ScalingConfiguration(serverlessV2ScalingConfiguration);
return this;
}
/**
*
* The network type of the DB cluster.
*
*
* Valid values:
*
*
* -
*
* IPV4
*
*
* -
*
* DUAL
*
*
*
*
* The network type is determined by the DBSubnetGroup
specified for the DB cluster. A
* DBSubnetGroup
can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (
* DUAL
).
*
*
* For more information, see
* Working with a DB instance in a VPC in the Amazon Aurora User Guide.
*
*
* Valid for: Aurora DB clusters only
*
*
* @param networkType
* The network type of the DB cluster.
*
* Valid values:
*
*
* -
*
* IPV4
*
*
* -
*
* DUAL
*
*
*
*
* The network type is determined by the DBSubnetGroup
specified for the DB cluster. A
* DBSubnetGroup
can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (
* DUAL
).
*
*
* For more information, see
* Working with a DB instance in a VPC in the Amazon Aurora User Guide.
*
*
* Valid for: Aurora DB clusters only
*/
public void setNetworkType(String networkType) {
this.networkType = networkType;
}
/**
*
* The network type of the DB cluster.
*
*
* Valid values:
*
*
* -
*
* IPV4
*
*
* -
*
* DUAL
*
*
*
*
* The network type is determined by the DBSubnetGroup
specified for the DB cluster. A
* DBSubnetGroup
can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (
* DUAL
).
*
*
* For more information, see
* Working with a DB instance in a VPC in the Amazon Aurora User Guide.
*
*
* Valid for: Aurora DB clusters only
*
*
* @return The network type of the DB cluster.
*
* Valid values:
*
*
* -
*
* IPV4
*
*
* -
*
* DUAL
*
*
*
*
* The network type is determined by the DBSubnetGroup
specified for the DB cluster. A
* DBSubnetGroup
can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (
* DUAL
).
*
*
* For more information, see Working with a DB instance in a VPC in the Amazon Aurora User Guide.
*
*
* Valid for: Aurora DB clusters only
*/
public String getNetworkType() {
return this.networkType;
}
/**
*
* The network type of the DB cluster.
*
*
* Valid values:
*
*
* -
*
* IPV4
*
*
* -
*
* DUAL
*
*
*
*
* The network type is determined by the DBSubnetGroup
specified for the DB cluster. A
* DBSubnetGroup
can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (
* DUAL
).
*
*
* For more information, see
* Working with a DB instance in a VPC in the Amazon Aurora User Guide.
*
*
* Valid for: Aurora DB clusters only
*
*
* @param networkType
* The network type of the DB cluster.
*
* Valid values:
*
*
* -
*
* IPV4
*
*
* -
*
* DUAL
*
*
*
*
* The network type is determined by the DBSubnetGroup
specified for the DB cluster. A
* DBSubnetGroup
can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (
* DUAL
).
*
*
* For more information, see
* Working with a DB instance in a VPC in the Amazon Aurora User Guide.
*
*
* Valid for: Aurora DB clusters only
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RestoreDBClusterFromSnapshotRequest withNetworkType(String networkType) {
setNetworkType(networkType);
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 (getDatabaseName() != null)
sb.append("DatabaseName: ").append(getDatabaseName()).append(",");
if (getOptionGroupName() != null)
sb.append("OptionGroupName: ").append(getOptionGroupName()).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 (getEnableIAMDatabaseAuthentication() != null)
sb.append("EnableIAMDatabaseAuthentication: ").append(getEnableIAMDatabaseAuthentication()).append(",");
if (getBacktrackWindow() != null)
sb.append("BacktrackWindow: ").append(getBacktrackWindow()).append(",");
if (getEnableCloudwatchLogsExports() != null)
sb.append("EnableCloudwatchLogsExports: ").append(getEnableCloudwatchLogsExports()).append(",");
if (getEngineMode() != null)
sb.append("EngineMode: ").append(getEngineMode()).append(",");
if (getScalingConfiguration() != null)
sb.append("ScalingConfiguration: ").append(getScalingConfiguration()).append(",");
if (getDBClusterParameterGroupName() != null)
sb.append("DBClusterParameterGroupName: ").append(getDBClusterParameterGroupName()).append(",");
if (getDeletionProtection() != null)
sb.append("DeletionProtection: ").append(getDeletionProtection()).append(",");
if (getCopyTagsToSnapshot() != null)
sb.append("CopyTagsToSnapshot: ").append(getCopyTagsToSnapshot()).append(",");
if (getDomain() != null)
sb.append("Domain: ").append(getDomain()).append(",");
if (getDomainIAMRoleName() != null)
sb.append("DomainIAMRoleName: ").append(getDomainIAMRoleName()).append(",");
if (getDBClusterInstanceClass() != null)
sb.append("DBClusterInstanceClass: ").append(getDBClusterInstanceClass()).append(",");
if (getStorageType() != null)
sb.append("StorageType: ").append(getStorageType()).append(",");
if (getIops() != null)
sb.append("Iops: ").append(getIops()).append(",");
if (getPubliclyAccessible() != null)
sb.append("PubliclyAccessible: ").append(getPubliclyAccessible()).append(",");
if (getServerlessV2ScalingConfiguration() != null)
sb.append("ServerlessV2ScalingConfiguration: ").append(getServerlessV2ScalingConfiguration()).append(",");
if (getNetworkType() != null)
sb.append("NetworkType: ").append(getNetworkType());
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.getDatabaseName() == null ^ this.getDatabaseName() == null)
return false;
if (other.getDatabaseName() != null && other.getDatabaseName().equals(this.getDatabaseName()) == false)
return false;
if (other.getOptionGroupName() == null ^ this.getOptionGroupName() == null)
return false;
if (other.getOptionGroupName() != null && other.getOptionGroupName().equals(this.getOptionGroupName()) == 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.getEnableIAMDatabaseAuthentication() == null ^ this.getEnableIAMDatabaseAuthentication() == null)
return false;
if (other.getEnableIAMDatabaseAuthentication() != null
&& other.getEnableIAMDatabaseAuthentication().equals(this.getEnableIAMDatabaseAuthentication()) == false)
return false;
if (other.getBacktrackWindow() == null ^ this.getBacktrackWindow() == null)
return false;
if (other.getBacktrackWindow() != null && other.getBacktrackWindow().equals(this.getBacktrackWindow()) == 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.getEngineMode() == null ^ this.getEngineMode() == null)
return false;
if (other.getEngineMode() != null && other.getEngineMode().equals(this.getEngineMode()) == false)
return false;
if (other.getScalingConfiguration() == null ^ this.getScalingConfiguration() == null)
return false;
if (other.getScalingConfiguration() != null && other.getScalingConfiguration().equals(this.getScalingConfiguration()) == 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.getDeletionProtection() == null ^ this.getDeletionProtection() == null)
return false;
if (other.getDeletionProtection() != null && other.getDeletionProtection().equals(this.getDeletionProtection()) == false)
return false;
if (other.getCopyTagsToSnapshot() == null ^ this.getCopyTagsToSnapshot() == null)
return false;
if (other.getCopyTagsToSnapshot() != null && other.getCopyTagsToSnapshot().equals(this.getCopyTagsToSnapshot()) == false)
return false;
if (other.getDomain() == null ^ this.getDomain() == null)
return false;
if (other.getDomain() != null && other.getDomain().equals(this.getDomain()) == false)
return false;
if (other.getDomainIAMRoleName() == null ^ this.getDomainIAMRoleName() == null)
return false;
if (other.getDomainIAMRoleName() != null && other.getDomainIAMRoleName().equals(this.getDomainIAMRoleName()) == false)
return false;
if (other.getDBClusterInstanceClass() == null ^ this.getDBClusterInstanceClass() == null)
return false;
if (other.getDBClusterInstanceClass() != null && other.getDBClusterInstanceClass().equals(this.getDBClusterInstanceClass()) == false)
return false;
if (other.getStorageType() == null ^ this.getStorageType() == null)
return false;
if (other.getStorageType() != null && other.getStorageType().equals(this.getStorageType()) == false)
return false;
if (other.getIops() == null ^ this.getIops() == null)
return false;
if (other.getIops() != null && other.getIops().equals(this.getIops()) == false)
return false;
if (other.getPubliclyAccessible() == null ^ this.getPubliclyAccessible() == null)
return false;
if (other.getPubliclyAccessible() != null && other.getPubliclyAccessible().equals(this.getPubliclyAccessible()) == false)
return false;
if (other.getServerlessV2ScalingConfiguration() == null ^ this.getServerlessV2ScalingConfiguration() == null)
return false;
if (other.getServerlessV2ScalingConfiguration() != null
&& other.getServerlessV2ScalingConfiguration().equals(this.getServerlessV2ScalingConfiguration()) == false)
return false;
if (other.getNetworkType() == null ^ this.getNetworkType() == null)
return false;
if (other.getNetworkType() != null && other.getNetworkType().equals(this.getNetworkType()) == 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 + ((getDatabaseName() == null) ? 0 : getDatabaseName().hashCode());
hashCode = prime * hashCode + ((getOptionGroupName() == null) ? 0 : getOptionGroupName().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 + ((getEnableIAMDatabaseAuthentication() == null) ? 0 : getEnableIAMDatabaseAuthentication().hashCode());
hashCode = prime * hashCode + ((getBacktrackWindow() == null) ? 0 : getBacktrackWindow().hashCode());
hashCode = prime * hashCode + ((getEnableCloudwatchLogsExports() == null) ? 0 : getEnableCloudwatchLogsExports().hashCode());
hashCode = prime * hashCode + ((getEngineMode() == null) ? 0 : getEngineMode().hashCode());
hashCode = prime * hashCode + ((getScalingConfiguration() == null) ? 0 : getScalingConfiguration().hashCode());
hashCode = prime * hashCode + ((getDBClusterParameterGroupName() == null) ? 0 : getDBClusterParameterGroupName().hashCode());
hashCode = prime * hashCode + ((getDeletionProtection() == null) ? 0 : getDeletionProtection().hashCode());
hashCode = prime * hashCode + ((getCopyTagsToSnapshot() == null) ? 0 : getCopyTagsToSnapshot().hashCode());
hashCode = prime * hashCode + ((getDomain() == null) ? 0 : getDomain().hashCode());
hashCode = prime * hashCode + ((getDomainIAMRoleName() == null) ? 0 : getDomainIAMRoleName().hashCode());
hashCode = prime * hashCode + ((getDBClusterInstanceClass() == null) ? 0 : getDBClusterInstanceClass().hashCode());
hashCode = prime * hashCode + ((getStorageType() == null) ? 0 : getStorageType().hashCode());
hashCode = prime * hashCode + ((getIops() == null) ? 0 : getIops().hashCode());
hashCode = prime * hashCode + ((getPubliclyAccessible() == null) ? 0 : getPubliclyAccessible().hashCode());
hashCode = prime * hashCode + ((getServerlessV2ScalingConfiguration() == null) ? 0 : getServerlessV2ScalingConfiguration().hashCode());
hashCode = prime * hashCode + ((getNetworkType() == null) ? 0 : getNetworkType().hashCode());
return hashCode;
}
@Override
public RestoreDBClusterFromSnapshotRequest clone() {
return (RestoreDBClusterFromSnapshotRequest) super.clone();
}
}