/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include See Also:
AWS
* API Reference
The identifier of the cluster that will be created from restoring the * snapshot.
Constraints:
Must contain from 1 to 63 * alphanumeric characters or hyphens.
Alphabetic characters must * be lowercase.
First character must be a letter.
Cannot end with a hyphen or contain two consecutive hyphens.
Must be unique for all clusters within an Amazon Web Services account.
*The identifier of the cluster that will be created from restoring the * snapshot.
Constraints:
Must contain from 1 to 63 * alphanumeric characters or hyphens.
Alphabetic characters must * be lowercase.
First character must be a letter.
Cannot end with a hyphen or contain two consecutive hyphens.
Must be unique for all clusters within an Amazon Web Services account.
*The identifier of the cluster that will be created from restoring the * snapshot.
Constraints:
Must contain from 1 to 63 * alphanumeric characters or hyphens.
Alphabetic characters must * be lowercase.
First character must be a letter.
Cannot end with a hyphen or contain two consecutive hyphens.
Must be unique for all clusters within an Amazon Web Services account.
*The identifier of the cluster that will be created from restoring the * snapshot.
Constraints:
Must contain from 1 to 63 * alphanumeric characters or hyphens.
Alphabetic characters must * be lowercase.
First character must be a letter.
Cannot end with a hyphen or contain two consecutive hyphens.
Must be unique for all clusters within an Amazon Web Services account.
*The identifier of the cluster that will be created from restoring the * snapshot.
Constraints:
Must contain from 1 to 63 * alphanumeric characters or hyphens.
Alphabetic characters must * be lowercase.
First character must be a letter.
Cannot end with a hyphen or contain two consecutive hyphens.
Must be unique for all clusters within an Amazon Web Services account.
*The identifier of the cluster that will be created from restoring the * snapshot.
Constraints:
Must contain from 1 to 63 * alphanumeric characters or hyphens.
Alphabetic characters must * be lowercase.
First character must be a letter.
Cannot end with a hyphen or contain two consecutive hyphens.
Must be unique for all clusters within an Amazon Web Services account.
*The identifier of the cluster that will be created from restoring the * snapshot.
Constraints:
Must contain from 1 to 63 * alphanumeric characters or hyphens.
Alphabetic characters must * be lowercase.
First character must be a letter.
Cannot end with a hyphen or contain two consecutive hyphens.
Must be unique for all clusters within an Amazon Web Services account.
*The identifier of the cluster that will be created from restoring the * snapshot.
Constraints:
Must contain from 1 to 63 * alphanumeric characters or hyphens.
Alphabetic characters must * be lowercase.
First character must be a letter.
Cannot end with a hyphen or contain two consecutive hyphens.
Must be unique for all clusters within an Amazon Web Services account.
*The name of the snapshot from which to create the new cluster. This parameter
* isn't case sensitive. You must specify this parameter or
* snapshotArn
, but not both.
Example:
* my-snapshot-id
The name of the snapshot from which to create the new cluster. This parameter
* isn't case sensitive. You must specify this parameter or
* snapshotArn
, but not both.
Example:
* my-snapshot-id
The name of the snapshot from which to create the new cluster. This parameter
* isn't case sensitive. You must specify this parameter or
* snapshotArn
, but not both.
Example:
* my-snapshot-id
The name of the snapshot from which to create the new cluster. This parameter
* isn't case sensitive. You must specify this parameter or
* snapshotArn
, but not both.
Example:
* my-snapshot-id
The name of the snapshot from which to create the new cluster. This parameter
* isn't case sensitive. You must specify this parameter or
* snapshotArn
, but not both.
Example:
* my-snapshot-id
The name of the snapshot from which to create the new cluster. This parameter
* isn't case sensitive. You must specify this parameter or
* snapshotArn
, but not both.
Example:
* my-snapshot-id
The name of the snapshot from which to create the new cluster. This parameter
* isn't case sensitive. You must specify this parameter or
* snapshotArn
, but not both.
Example:
* my-snapshot-id
The name of the snapshot from which to create the new cluster. This parameter
* isn't case sensitive. You must specify this parameter or
* snapshotArn
, but not both.
Example:
* my-snapshot-id
The Amazon Resource Name (ARN) of the snapshot associated with the message to
* restore from a cluster. You must specify this parameter or
* snapshotIdentifier
, but not both.
The Amazon Resource Name (ARN) of the snapshot associated with the message to
* restore from a cluster. You must specify this parameter or
* snapshotIdentifier
, but not both.
The Amazon Resource Name (ARN) of the snapshot associated with the message to
* restore from a cluster. You must specify this parameter or
* snapshotIdentifier
, but not both.
The Amazon Resource Name (ARN) of the snapshot associated with the message to
* restore from a cluster. You must specify this parameter or
* snapshotIdentifier
, but not both.
The Amazon Resource Name (ARN) of the snapshot associated with the message to
* restore from a cluster. You must specify this parameter or
* snapshotIdentifier
, but not both.
The Amazon Resource Name (ARN) of the snapshot associated with the message to
* restore from a cluster. You must specify this parameter or
* snapshotIdentifier
, but not both.
The Amazon Resource Name (ARN) of the snapshot associated with the message to
* restore from a cluster. You must specify this parameter or
* snapshotIdentifier
, but not both.
The Amazon Resource Name (ARN) of the snapshot associated with the message to
* restore from a cluster. You must specify this parameter or
* snapshotIdentifier
, but not both.
The name of the cluster the source snapshot was created from. This parameter * is required if your IAM user has a policy containing a snapshot resource element * that specifies anything other than * for the cluster name.
*/ inline const Aws::String& GetSnapshotClusterIdentifier() const{ return m_snapshotClusterIdentifier; } /** *The name of the cluster the source snapshot was created from. This parameter * is required if your IAM user has a policy containing a snapshot resource element * that specifies anything other than * for the cluster name.
*/ inline bool SnapshotClusterIdentifierHasBeenSet() const { return m_snapshotClusterIdentifierHasBeenSet; } /** *The name of the cluster the source snapshot was created from. This parameter * is required if your IAM user has a policy containing a snapshot resource element * that specifies anything other than * for the cluster name.
*/ inline void SetSnapshotClusterIdentifier(const Aws::String& value) { m_snapshotClusterIdentifierHasBeenSet = true; m_snapshotClusterIdentifier = value; } /** *The name of the cluster the source snapshot was created from. This parameter * is required if your IAM user has a policy containing a snapshot resource element * that specifies anything other than * for the cluster name.
*/ inline void SetSnapshotClusterIdentifier(Aws::String&& value) { m_snapshotClusterIdentifierHasBeenSet = true; m_snapshotClusterIdentifier = std::move(value); } /** *The name of the cluster the source snapshot was created from. This parameter * is required if your IAM user has a policy containing a snapshot resource element * that specifies anything other than * for the cluster name.
*/ inline void SetSnapshotClusterIdentifier(const char* value) { m_snapshotClusterIdentifierHasBeenSet = true; m_snapshotClusterIdentifier.assign(value); } /** *The name of the cluster the source snapshot was created from. This parameter * is required if your IAM user has a policy containing a snapshot resource element * that specifies anything other than * for the cluster name.
*/ inline RestoreFromClusterSnapshotRequest& WithSnapshotClusterIdentifier(const Aws::String& value) { SetSnapshotClusterIdentifier(value); return *this;} /** *The name of the cluster the source snapshot was created from. This parameter * is required if your IAM user has a policy containing a snapshot resource element * that specifies anything other than * for the cluster name.
*/ inline RestoreFromClusterSnapshotRequest& WithSnapshotClusterIdentifier(Aws::String&& value) { SetSnapshotClusterIdentifier(std::move(value)); return *this;} /** *The name of the cluster the source snapshot was created from. This parameter * is required if your IAM user has a policy containing a snapshot resource element * that specifies anything other than * for the cluster name.
*/ inline RestoreFromClusterSnapshotRequest& WithSnapshotClusterIdentifier(const char* value) { SetSnapshotClusterIdentifier(value); return *this;} /** *The port number on which the cluster accepts connections.
Default: The * same port as the original cluster.
Constraints: Must be between
* 1115
and 65535
.
The port number on which the cluster accepts connections.
Default: The * same port as the original cluster.
Constraints: Must be between
* 1115
and 65535
.
The port number on which the cluster accepts connections.
Default: The * same port as the original cluster.
Constraints: Must be between
* 1115
and 65535
.
The port number on which the cluster accepts connections.
Default: The * same port as the original cluster.
Constraints: Must be between
* 1115
and 65535
.
The Amazon EC2 Availability Zone in which to restore the cluster.
*Default: A random, system-chosen Availability Zone.
Example:
* us-east-2a
The Amazon EC2 Availability Zone in which to restore the cluster.
*Default: A random, system-chosen Availability Zone.
Example:
* us-east-2a
The Amazon EC2 Availability Zone in which to restore the cluster.
*Default: A random, system-chosen Availability Zone.
Example:
* us-east-2a
The Amazon EC2 Availability Zone in which to restore the cluster.
*Default: A random, system-chosen Availability Zone.
Example:
* us-east-2a
The Amazon EC2 Availability Zone in which to restore the cluster.
*Default: A random, system-chosen Availability Zone.
Example:
* us-east-2a
The Amazon EC2 Availability Zone in which to restore the cluster.
*Default: A random, system-chosen Availability Zone.
Example:
* us-east-2a
The Amazon EC2 Availability Zone in which to restore the cluster.
*Default: A random, system-chosen Availability Zone.
Example:
* us-east-2a
The Amazon EC2 Availability Zone in which to restore the cluster.
*Default: A random, system-chosen Availability Zone.
Example:
* us-east-2a
If true
, major version upgrades can be applied during the
* maintenance window to the Amazon Redshift engine that is running on the cluster.
*
Default: true
If true
, major version upgrades can be applied during the
* maintenance window to the Amazon Redshift engine that is running on the cluster.
*
Default: true
If true
, major version upgrades can be applied during the
* maintenance window to the Amazon Redshift engine that is running on the cluster.
*
Default: true
If true
, major version upgrades can be applied during the
* maintenance window to the Amazon Redshift engine that is running on the cluster.
*
Default: true
The name of the subnet group where you want to cluster restored.
A * snapshot of cluster in VPC can be restored only in VPC. Therefore, you must * provide subnet group name where you want the cluster restored.
*/ inline const Aws::String& GetClusterSubnetGroupName() const{ return m_clusterSubnetGroupName; } /** *The name of the subnet group where you want to cluster restored.
A * snapshot of cluster in VPC can be restored only in VPC. Therefore, you must * provide subnet group name where you want the cluster restored.
*/ inline bool ClusterSubnetGroupNameHasBeenSet() const { return m_clusterSubnetGroupNameHasBeenSet; } /** *The name of the subnet group where you want to cluster restored.
A * snapshot of cluster in VPC can be restored only in VPC. Therefore, you must * provide subnet group name where you want the cluster restored.
*/ inline void SetClusterSubnetGroupName(const Aws::String& value) { m_clusterSubnetGroupNameHasBeenSet = true; m_clusterSubnetGroupName = value; } /** *The name of the subnet group where you want to cluster restored.
A * snapshot of cluster in VPC can be restored only in VPC. Therefore, you must * provide subnet group name where you want the cluster restored.
*/ inline void SetClusterSubnetGroupName(Aws::String&& value) { m_clusterSubnetGroupNameHasBeenSet = true; m_clusterSubnetGroupName = std::move(value); } /** *The name of the subnet group where you want to cluster restored.
A * snapshot of cluster in VPC can be restored only in VPC. Therefore, you must * provide subnet group name where you want the cluster restored.
*/ inline void SetClusterSubnetGroupName(const char* value) { m_clusterSubnetGroupNameHasBeenSet = true; m_clusterSubnetGroupName.assign(value); } /** *The name of the subnet group where you want to cluster restored.
A * snapshot of cluster in VPC can be restored only in VPC. Therefore, you must * provide subnet group name where you want the cluster restored.
*/ inline RestoreFromClusterSnapshotRequest& WithClusterSubnetGroupName(const Aws::String& value) { SetClusterSubnetGroupName(value); return *this;} /** *The name of the subnet group where you want to cluster restored.
A * snapshot of cluster in VPC can be restored only in VPC. Therefore, you must * provide subnet group name where you want the cluster restored.
*/ inline RestoreFromClusterSnapshotRequest& WithClusterSubnetGroupName(Aws::String&& value) { SetClusterSubnetGroupName(std::move(value)); return *this;} /** *The name of the subnet group where you want to cluster restored.
A * snapshot of cluster in VPC can be restored only in VPC. Therefore, you must * provide subnet group name where you want the cluster restored.
*/ inline RestoreFromClusterSnapshotRequest& WithClusterSubnetGroupName(const char* value) { SetClusterSubnetGroupName(value); return *this;} /** *If true
, the cluster can be accessed from a public network.
If true
, the cluster can be accessed from a public network.
If true
, the cluster can be accessed from a public network.
If true
, the cluster can be accessed from a public network.
The Amazon Web Services account used to create or copy the snapshot. Required * if you are restoring a snapshot you do not own, optional if you own the * snapshot.
*/ inline const Aws::String& GetOwnerAccount() const{ return m_ownerAccount; } /** *The Amazon Web Services account used to create or copy the snapshot. Required * if you are restoring a snapshot you do not own, optional if you own the * snapshot.
*/ inline bool OwnerAccountHasBeenSet() const { return m_ownerAccountHasBeenSet; } /** *The Amazon Web Services account used to create or copy the snapshot. Required * if you are restoring a snapshot you do not own, optional if you own the * snapshot.
*/ inline void SetOwnerAccount(const Aws::String& value) { m_ownerAccountHasBeenSet = true; m_ownerAccount = value; } /** *The Amazon Web Services account used to create or copy the snapshot. Required * if you are restoring a snapshot you do not own, optional if you own the * snapshot.
*/ inline void SetOwnerAccount(Aws::String&& value) { m_ownerAccountHasBeenSet = true; m_ownerAccount = std::move(value); } /** *The Amazon Web Services account used to create or copy the snapshot. Required * if you are restoring a snapshot you do not own, optional if you own the * snapshot.
*/ inline void SetOwnerAccount(const char* value) { m_ownerAccountHasBeenSet = true; m_ownerAccount.assign(value); } /** *The Amazon Web Services account used to create or copy the snapshot. Required * if you are restoring a snapshot you do not own, optional if you own the * snapshot.
*/ inline RestoreFromClusterSnapshotRequest& WithOwnerAccount(const Aws::String& value) { SetOwnerAccount(value); return *this;} /** *The Amazon Web Services account used to create or copy the snapshot. Required * if you are restoring a snapshot you do not own, optional if you own the * snapshot.
*/ inline RestoreFromClusterSnapshotRequest& WithOwnerAccount(Aws::String&& value) { SetOwnerAccount(std::move(value)); return *this;} /** *The Amazon Web Services account used to create or copy the snapshot. Required * if you are restoring a snapshot you do not own, optional if you own the * snapshot.
*/ inline RestoreFromClusterSnapshotRequest& WithOwnerAccount(const char* value) { SetOwnerAccount(value); return *this;} /** *Specifies the name of the HSM client certificate the Amazon Redshift cluster * uses to retrieve the data encryption keys stored in an HSM.
*/ inline const Aws::String& GetHsmClientCertificateIdentifier() const{ return m_hsmClientCertificateIdentifier; } /** *Specifies the name of the HSM client certificate the Amazon Redshift cluster * uses to retrieve the data encryption keys stored in an HSM.
*/ inline bool HsmClientCertificateIdentifierHasBeenSet() const { return m_hsmClientCertificateIdentifierHasBeenSet; } /** *Specifies the name of the HSM client certificate the Amazon Redshift cluster * uses to retrieve the data encryption keys stored in an HSM.
*/ inline void SetHsmClientCertificateIdentifier(const Aws::String& value) { m_hsmClientCertificateIdentifierHasBeenSet = true; m_hsmClientCertificateIdentifier = value; } /** *Specifies the name of the HSM client certificate the Amazon Redshift cluster * uses to retrieve the data encryption keys stored in an HSM.
*/ inline void SetHsmClientCertificateIdentifier(Aws::String&& value) { m_hsmClientCertificateIdentifierHasBeenSet = true; m_hsmClientCertificateIdentifier = std::move(value); } /** *Specifies the name of the HSM client certificate the Amazon Redshift cluster * uses to retrieve the data encryption keys stored in an HSM.
*/ inline void SetHsmClientCertificateIdentifier(const char* value) { m_hsmClientCertificateIdentifierHasBeenSet = true; m_hsmClientCertificateIdentifier.assign(value); } /** *Specifies the name of the HSM client certificate the Amazon Redshift cluster * uses to retrieve the data encryption keys stored in an HSM.
*/ inline RestoreFromClusterSnapshotRequest& WithHsmClientCertificateIdentifier(const Aws::String& value) { SetHsmClientCertificateIdentifier(value); return *this;} /** *Specifies the name of the HSM client certificate the Amazon Redshift cluster * uses to retrieve the data encryption keys stored in an HSM.
*/ inline RestoreFromClusterSnapshotRequest& WithHsmClientCertificateIdentifier(Aws::String&& value) { SetHsmClientCertificateIdentifier(std::move(value)); return *this;} /** *Specifies the name of the HSM client certificate the Amazon Redshift cluster * uses to retrieve the data encryption keys stored in an HSM.
*/ inline RestoreFromClusterSnapshotRequest& WithHsmClientCertificateIdentifier(const char* value) { SetHsmClientCertificateIdentifier(value); return *this;} /** *Specifies the name of the HSM configuration that contains the information the * Amazon Redshift cluster can use to retrieve and store keys in an HSM.
*/ inline const Aws::String& GetHsmConfigurationIdentifier() const{ return m_hsmConfigurationIdentifier; } /** *Specifies the name of the HSM configuration that contains the information the * Amazon Redshift cluster can use to retrieve and store keys in an HSM.
*/ inline bool HsmConfigurationIdentifierHasBeenSet() const { return m_hsmConfigurationIdentifierHasBeenSet; } /** *Specifies the name of the HSM configuration that contains the information the * Amazon Redshift cluster can use to retrieve and store keys in an HSM.
*/ inline void SetHsmConfigurationIdentifier(const Aws::String& value) { m_hsmConfigurationIdentifierHasBeenSet = true; m_hsmConfigurationIdentifier = value; } /** *Specifies the name of the HSM configuration that contains the information the * Amazon Redshift cluster can use to retrieve and store keys in an HSM.
*/ inline void SetHsmConfigurationIdentifier(Aws::String&& value) { m_hsmConfigurationIdentifierHasBeenSet = true; m_hsmConfigurationIdentifier = std::move(value); } /** *Specifies the name of the HSM configuration that contains the information the * Amazon Redshift cluster can use to retrieve and store keys in an HSM.
*/ inline void SetHsmConfigurationIdentifier(const char* value) { m_hsmConfigurationIdentifierHasBeenSet = true; m_hsmConfigurationIdentifier.assign(value); } /** *Specifies the name of the HSM configuration that contains the information the * Amazon Redshift cluster can use to retrieve and store keys in an HSM.
*/ inline RestoreFromClusterSnapshotRequest& WithHsmConfigurationIdentifier(const Aws::String& value) { SetHsmConfigurationIdentifier(value); return *this;} /** *Specifies the name of the HSM configuration that contains the information the * Amazon Redshift cluster can use to retrieve and store keys in an HSM.
*/ inline RestoreFromClusterSnapshotRequest& WithHsmConfigurationIdentifier(Aws::String&& value) { SetHsmConfigurationIdentifier(std::move(value)); return *this;} /** *Specifies the name of the HSM configuration that contains the information the * Amazon Redshift cluster can use to retrieve and store keys in an HSM.
*/ inline RestoreFromClusterSnapshotRequest& WithHsmConfigurationIdentifier(const char* value) { SetHsmConfigurationIdentifier(value); return *this;} /** *The Elastic IP (EIP) address for the cluster. Don't specify the Elastic IP * address for a publicly accessible cluster with availability zone relocation * turned on.
*/ inline const Aws::String& GetElasticIp() const{ return m_elasticIp; } /** *The Elastic IP (EIP) address for the cluster. Don't specify the Elastic IP * address for a publicly accessible cluster with availability zone relocation * turned on.
*/ inline bool ElasticIpHasBeenSet() const { return m_elasticIpHasBeenSet; } /** *The Elastic IP (EIP) address for the cluster. Don't specify the Elastic IP * address for a publicly accessible cluster with availability zone relocation * turned on.
*/ inline void SetElasticIp(const Aws::String& value) { m_elasticIpHasBeenSet = true; m_elasticIp = value; } /** *The Elastic IP (EIP) address for the cluster. Don't specify the Elastic IP * address for a publicly accessible cluster with availability zone relocation * turned on.
*/ inline void SetElasticIp(Aws::String&& value) { m_elasticIpHasBeenSet = true; m_elasticIp = std::move(value); } /** *The Elastic IP (EIP) address for the cluster. Don't specify the Elastic IP * address for a publicly accessible cluster with availability zone relocation * turned on.
*/ inline void SetElasticIp(const char* value) { m_elasticIpHasBeenSet = true; m_elasticIp.assign(value); } /** *The Elastic IP (EIP) address for the cluster. Don't specify the Elastic IP * address for a publicly accessible cluster with availability zone relocation * turned on.
*/ inline RestoreFromClusterSnapshotRequest& WithElasticIp(const Aws::String& value) { SetElasticIp(value); return *this;} /** *The Elastic IP (EIP) address for the cluster. Don't specify the Elastic IP * address for a publicly accessible cluster with availability zone relocation * turned on.
*/ inline RestoreFromClusterSnapshotRequest& WithElasticIp(Aws::String&& value) { SetElasticIp(std::move(value)); return *this;} /** *The Elastic IP (EIP) address for the cluster. Don't specify the Elastic IP * address for a publicly accessible cluster with availability zone relocation * turned on.
*/ inline RestoreFromClusterSnapshotRequest& WithElasticIp(const char* value) { SetElasticIp(value); return *this;} /** *The name of the parameter group to be associated with this cluster.
*Default: The default Amazon Redshift cluster parameter group. For information * about the default parameter group, go to Working * with Amazon Redshift Parameter Groups.
Constraints:
Must be 1 to 255 alphanumeric characters or hyphens.
First * character must be a letter.
Cannot end with a hyphen or * contain two consecutive hyphens.
The name of the parameter group to be associated with this cluster.
*Default: The default Amazon Redshift cluster parameter group. For information * about the default parameter group, go to Working * with Amazon Redshift Parameter Groups.
Constraints:
Must be 1 to 255 alphanumeric characters or hyphens.
First * character must be a letter.
Cannot end with a hyphen or * contain two consecutive hyphens.
The name of the parameter group to be associated with this cluster.
*Default: The default Amazon Redshift cluster parameter group. For information * about the default parameter group, go to Working * with Amazon Redshift Parameter Groups.
Constraints:
Must be 1 to 255 alphanumeric characters or hyphens.
First * character must be a letter.
Cannot end with a hyphen or * contain two consecutive hyphens.
The name of the parameter group to be associated with this cluster.
*Default: The default Amazon Redshift cluster parameter group. For information * about the default parameter group, go to Working * with Amazon Redshift Parameter Groups.
Constraints:
Must be 1 to 255 alphanumeric characters or hyphens.
First * character must be a letter.
Cannot end with a hyphen or * contain two consecutive hyphens.
The name of the parameter group to be associated with this cluster.
*Default: The default Amazon Redshift cluster parameter group. For information * about the default parameter group, go to Working * with Amazon Redshift Parameter Groups.
Constraints:
Must be 1 to 255 alphanumeric characters or hyphens.
First * character must be a letter.
Cannot end with a hyphen or * contain two consecutive hyphens.
The name of the parameter group to be associated with this cluster.
*Default: The default Amazon Redshift cluster parameter group. For information * about the default parameter group, go to Working * with Amazon Redshift Parameter Groups.
Constraints:
Must be 1 to 255 alphanumeric characters or hyphens.
First * character must be a letter.
Cannot end with a hyphen or * contain two consecutive hyphens.
The name of the parameter group to be associated with this cluster.
*Default: The default Amazon Redshift cluster parameter group. For information * about the default parameter group, go to Working * with Amazon Redshift Parameter Groups.
Constraints:
Must be 1 to 255 alphanumeric characters or hyphens.
First * character must be a letter.
Cannot end with a hyphen or * contain two consecutive hyphens.
The name of the parameter group to be associated with this cluster.
*Default: The default Amazon Redshift cluster parameter group. For information * about the default parameter group, go to Working * with Amazon Redshift Parameter Groups.
Constraints:
Must be 1 to 255 alphanumeric characters or hyphens.
First * character must be a letter.
Cannot end with a hyphen or * contain two consecutive hyphens.
A list of security groups to be associated with this cluster.
Default: * The default cluster security group for Amazon Redshift.
Cluster security * groups only apply to clusters outside of VPCs.
*/ inline const Aws::VectorA list of security groups to be associated with this cluster.
Default: * The default cluster security group for Amazon Redshift.
Cluster security * groups only apply to clusters outside of VPCs.
*/ inline bool ClusterSecurityGroupsHasBeenSet() const { return m_clusterSecurityGroupsHasBeenSet; } /** *A list of security groups to be associated with this cluster.
Default: * The default cluster security group for Amazon Redshift.
Cluster security * groups only apply to clusters outside of VPCs.
*/ inline void SetClusterSecurityGroups(const Aws::VectorA list of security groups to be associated with this cluster.
Default: * The default cluster security group for Amazon Redshift.
Cluster security * groups only apply to clusters outside of VPCs.
*/ inline void SetClusterSecurityGroups(Aws::VectorA list of security groups to be associated with this cluster.
Default: * The default cluster security group for Amazon Redshift.
Cluster security * groups only apply to clusters outside of VPCs.
*/ inline RestoreFromClusterSnapshotRequest& WithClusterSecurityGroups(const Aws::VectorA list of security groups to be associated with this cluster.
Default: * The default cluster security group for Amazon Redshift.
Cluster security * groups only apply to clusters outside of VPCs.
*/ inline RestoreFromClusterSnapshotRequest& WithClusterSecurityGroups(Aws::VectorA list of security groups to be associated with this cluster.
Default: * The default cluster security group for Amazon Redshift.
Cluster security * groups only apply to clusters outside of VPCs.
*/ inline RestoreFromClusterSnapshotRequest& AddClusterSecurityGroups(const Aws::String& value) { m_clusterSecurityGroupsHasBeenSet = true; m_clusterSecurityGroups.push_back(value); return *this; } /** *A list of security groups to be associated with this cluster.
Default: * The default cluster security group for Amazon Redshift.
Cluster security * groups only apply to clusters outside of VPCs.
*/ inline RestoreFromClusterSnapshotRequest& AddClusterSecurityGroups(Aws::String&& value) { m_clusterSecurityGroupsHasBeenSet = true; m_clusterSecurityGroups.push_back(std::move(value)); return *this; } /** *A list of security groups to be associated with this cluster.
Default: * The default cluster security group for Amazon Redshift.
Cluster security * groups only apply to clusters outside of VPCs.
*/ inline RestoreFromClusterSnapshotRequest& AddClusterSecurityGroups(const char* value) { m_clusterSecurityGroupsHasBeenSet = true; m_clusterSecurityGroups.push_back(value); return *this; } /** *A list of Virtual Private Cloud (VPC) security groups to be associated with * the cluster.
Default: The default VPC security group is associated with * the cluster.
VPC security groups only apply to clusters in VPCs.
*/ inline const Aws::VectorA list of Virtual Private Cloud (VPC) security groups to be associated with * the cluster.
Default: The default VPC security group is associated with * the cluster.
VPC security groups only apply to clusters in VPCs.
*/ inline bool VpcSecurityGroupIdsHasBeenSet() const { return m_vpcSecurityGroupIdsHasBeenSet; } /** *A list of Virtual Private Cloud (VPC) security groups to be associated with * the cluster.
Default: The default VPC security group is associated with * the cluster.
VPC security groups only apply to clusters in VPCs.
*/ inline void SetVpcSecurityGroupIds(const Aws::VectorA list of Virtual Private Cloud (VPC) security groups to be associated with * the cluster.
Default: The default VPC security group is associated with * the cluster.
VPC security groups only apply to clusters in VPCs.
*/ inline void SetVpcSecurityGroupIds(Aws::VectorA list of Virtual Private Cloud (VPC) security groups to be associated with * the cluster.
Default: The default VPC security group is associated with * the cluster.
VPC security groups only apply to clusters in VPCs.
*/ inline RestoreFromClusterSnapshotRequest& WithVpcSecurityGroupIds(const Aws::VectorA list of Virtual Private Cloud (VPC) security groups to be associated with * the cluster.
Default: The default VPC security group is associated with * the cluster.
VPC security groups only apply to clusters in VPCs.
*/ inline RestoreFromClusterSnapshotRequest& WithVpcSecurityGroupIds(Aws::VectorA list of Virtual Private Cloud (VPC) security groups to be associated with * the cluster.
Default: The default VPC security group is associated with * the cluster.
VPC security groups only apply to clusters in VPCs.
*/ inline RestoreFromClusterSnapshotRequest& AddVpcSecurityGroupIds(const Aws::String& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds.push_back(value); return *this; } /** *A list of Virtual Private Cloud (VPC) security groups to be associated with * the cluster.
Default: The default VPC security group is associated with * the cluster.
VPC security groups only apply to clusters in VPCs.
*/ inline RestoreFromClusterSnapshotRequest& AddVpcSecurityGroupIds(Aws::String&& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds.push_back(std::move(value)); return *this; } /** *A list of Virtual Private Cloud (VPC) security groups to be associated with * the cluster.
Default: The default VPC security group is associated with * the cluster.
VPC security groups only apply to clusters in VPCs.
*/ inline RestoreFromClusterSnapshotRequest& AddVpcSecurityGroupIds(const char* value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds.push_back(value); return *this; } /** *The weekly time range (in UTC) during which automated cluster maintenance can * occur.
Format: ddd:hh24:mi-ddd:hh24:mi
Default: * The value selected for the cluster from which the snapshot was taken. For more * information about the time blocks for each region, see Maintenance * Windows in Amazon Redshift Cluster Management Guide.
Valid Days: Mon * | Tue | Wed | Thu | Fri | Sat | Sun
Constraints: Minimum 30-minute * window.
*/ inline const Aws::String& GetPreferredMaintenanceWindow() const{ return m_preferredMaintenanceWindow; } /** *The weekly time range (in UTC) during which automated cluster maintenance can * occur.
Format: ddd:hh24:mi-ddd:hh24:mi
Default: * The value selected for the cluster from which the snapshot was taken. For more * information about the time blocks for each region, see Maintenance * Windows in Amazon Redshift Cluster Management Guide.
Valid Days: Mon * | Tue | Wed | Thu | Fri | Sat | Sun
Constraints: Minimum 30-minute * window.
*/ inline bool PreferredMaintenanceWindowHasBeenSet() const { return m_preferredMaintenanceWindowHasBeenSet; } /** *The weekly time range (in UTC) during which automated cluster maintenance can * occur.
Format: ddd:hh24:mi-ddd:hh24:mi
Default: * The value selected for the cluster from which the snapshot was taken. For more * information about the time blocks for each region, see Maintenance * Windows in Amazon Redshift Cluster Management Guide.
Valid Days: Mon * | Tue | Wed | Thu | Fri | Sat | Sun
Constraints: Minimum 30-minute * window.
*/ inline void SetPreferredMaintenanceWindow(const Aws::String& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = value; } /** *The weekly time range (in UTC) during which automated cluster maintenance can * occur.
Format: ddd:hh24:mi-ddd:hh24:mi
Default: * The value selected for the cluster from which the snapshot was taken. For more * information about the time blocks for each region, see Maintenance * Windows in Amazon Redshift Cluster Management Guide.
Valid Days: Mon * | Tue | Wed | Thu | Fri | Sat | Sun
Constraints: Minimum 30-minute * window.
*/ inline void SetPreferredMaintenanceWindow(Aws::String&& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = std::move(value); } /** *The weekly time range (in UTC) during which automated cluster maintenance can * occur.
Format: ddd:hh24:mi-ddd:hh24:mi
Default: * The value selected for the cluster from which the snapshot was taken. For more * information about the time blocks for each region, see Maintenance * Windows in Amazon Redshift Cluster Management Guide.
Valid Days: Mon * | Tue | Wed | Thu | Fri | Sat | Sun
Constraints: Minimum 30-minute * window.
*/ inline void SetPreferredMaintenanceWindow(const char* value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow.assign(value); } /** *The weekly time range (in UTC) during which automated cluster maintenance can * occur.
Format: ddd:hh24:mi-ddd:hh24:mi
Default: * The value selected for the cluster from which the snapshot was taken. For more * information about the time blocks for each region, see Maintenance * Windows in Amazon Redshift Cluster Management Guide.
Valid Days: Mon * | Tue | Wed | Thu | Fri | Sat | Sun
Constraints: Minimum 30-minute * window.
*/ inline RestoreFromClusterSnapshotRequest& WithPreferredMaintenanceWindow(const Aws::String& value) { SetPreferredMaintenanceWindow(value); return *this;} /** *The weekly time range (in UTC) during which automated cluster maintenance can * occur.
Format: ddd:hh24:mi-ddd:hh24:mi
Default: * The value selected for the cluster from which the snapshot was taken. For more * information about the time blocks for each region, see Maintenance * Windows in Amazon Redshift Cluster Management Guide.
Valid Days: Mon * | Tue | Wed | Thu | Fri | Sat | Sun
Constraints: Minimum 30-minute * window.
*/ inline RestoreFromClusterSnapshotRequest& WithPreferredMaintenanceWindow(Aws::String&& value) { SetPreferredMaintenanceWindow(std::move(value)); return *this;} /** *The weekly time range (in UTC) during which automated cluster maintenance can * occur.
Format: ddd:hh24:mi-ddd:hh24:mi
Default: * The value selected for the cluster from which the snapshot was taken. For more * information about the time blocks for each region, see Maintenance * Windows in Amazon Redshift Cluster Management Guide.
Valid Days: Mon * | Tue | Wed | Thu | Fri | Sat | Sun
Constraints: Minimum 30-minute * window.
*/ inline RestoreFromClusterSnapshotRequest& WithPreferredMaintenanceWindow(const char* value) { SetPreferredMaintenanceWindow(value); return *this;} /** *The number of days that automated snapshots are retained. If the value is 0, * automated snapshots are disabled. Even if automated snapshots are disabled, you * can still create manual snapshots when you want with * CreateClusterSnapshot.
You can't disable automated snapshots for * RA3 node types. Set the automated retention period from 1-35 days.
*Default: The value selected for the cluster from which the snapshot was * taken.
Constraints: Must be a value from 0 to 35.
*/ inline int GetAutomatedSnapshotRetentionPeriod() const{ return m_automatedSnapshotRetentionPeriod; } /** *The number of days that automated snapshots are retained. If the value is 0, * automated snapshots are disabled. Even if automated snapshots are disabled, you * can still create manual snapshots when you want with * CreateClusterSnapshot.
You can't disable automated snapshots for * RA3 node types. Set the automated retention period from 1-35 days.
*Default: The value selected for the cluster from which the snapshot was * taken.
Constraints: Must be a value from 0 to 35.
*/ inline bool AutomatedSnapshotRetentionPeriodHasBeenSet() const { return m_automatedSnapshotRetentionPeriodHasBeenSet; } /** *The number of days that automated snapshots are retained. If the value is 0, * automated snapshots are disabled. Even if automated snapshots are disabled, you * can still create manual snapshots when you want with * CreateClusterSnapshot.
You can't disable automated snapshots for * RA3 node types. Set the automated retention period from 1-35 days.
*Default: The value selected for the cluster from which the snapshot was * taken.
Constraints: Must be a value from 0 to 35.
*/ inline void SetAutomatedSnapshotRetentionPeriod(int value) { m_automatedSnapshotRetentionPeriodHasBeenSet = true; m_automatedSnapshotRetentionPeriod = value; } /** *The number of days that automated snapshots are retained. If the value is 0, * automated snapshots are disabled. Even if automated snapshots are disabled, you * can still create manual snapshots when you want with * CreateClusterSnapshot.
You can't disable automated snapshots for * RA3 node types. Set the automated retention period from 1-35 days.
*Default: The value selected for the cluster from which the snapshot was * taken.
Constraints: Must be a value from 0 to 35.
*/ inline RestoreFromClusterSnapshotRequest& WithAutomatedSnapshotRetentionPeriod(int value) { SetAutomatedSnapshotRetentionPeriod(value); return *this;} /** *The default number of days to retain a manual snapshot. If the value is -1, * the snapshot is retained indefinitely. This setting doesn't change the retention * period of existing snapshots.
The value must be either -1 or an integer * between 1 and 3,653.
*/ inline int GetManualSnapshotRetentionPeriod() const{ return m_manualSnapshotRetentionPeriod; } /** *The default number of days to retain a manual snapshot. If the value is -1, * the snapshot is retained indefinitely. This setting doesn't change the retention * period of existing snapshots.
The value must be either -1 or an integer * between 1 and 3,653.
*/ inline bool ManualSnapshotRetentionPeriodHasBeenSet() const { return m_manualSnapshotRetentionPeriodHasBeenSet; } /** *The default number of days to retain a manual snapshot. If the value is -1, * the snapshot is retained indefinitely. This setting doesn't change the retention * period of existing snapshots.
The value must be either -1 or an integer * between 1 and 3,653.
*/ inline void SetManualSnapshotRetentionPeriod(int value) { m_manualSnapshotRetentionPeriodHasBeenSet = true; m_manualSnapshotRetentionPeriod = value; } /** *The default number of days to retain a manual snapshot. If the value is -1, * the snapshot is retained indefinitely. This setting doesn't change the retention * period of existing snapshots.
The value must be either -1 or an integer * between 1 and 3,653.
*/ inline RestoreFromClusterSnapshotRequest& WithManualSnapshotRetentionPeriod(int value) { SetManualSnapshotRetentionPeriod(value); return *this;} /** *The Key Management Service (KMS) key ID of the encryption key that encrypts * data in the cluster restored from a shared snapshot. You can also provide the * key ID when you restore from an unencrypted snapshot to an encrypted cluster in * the same account. Additionally, you can specify a new KMS key ID when you * restore from an encrypted snapshot in the same account in order to change it. In * that case, the restored cluster is encrypted with the new KMS key ID.
*/ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } /** *The Key Management Service (KMS) key ID of the encryption key that encrypts * data in the cluster restored from a shared snapshot. You can also provide the * key ID when you restore from an unencrypted snapshot to an encrypted cluster in * the same account. Additionally, you can specify a new KMS key ID when you * restore from an encrypted snapshot in the same account in order to change it. In * that case, the restored cluster is encrypted with the new KMS key ID.
*/ inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } /** *The Key Management Service (KMS) key ID of the encryption key that encrypts * data in the cluster restored from a shared snapshot. You can also provide the * key ID when you restore from an unencrypted snapshot to an encrypted cluster in * the same account. Additionally, you can specify a new KMS key ID when you * restore from an encrypted snapshot in the same account in order to change it. In * that case, the restored cluster is encrypted with the new KMS key ID.
*/ inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } /** *The Key Management Service (KMS) key ID of the encryption key that encrypts * data in the cluster restored from a shared snapshot. You can also provide the * key ID when you restore from an unencrypted snapshot to an encrypted cluster in * the same account. Additionally, you can specify a new KMS key ID when you * restore from an encrypted snapshot in the same account in order to change it. In * that case, the restored cluster is encrypted with the new KMS key ID.
*/ inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } /** *The Key Management Service (KMS) key ID of the encryption key that encrypts * data in the cluster restored from a shared snapshot. You can also provide the * key ID when you restore from an unencrypted snapshot to an encrypted cluster in * the same account. Additionally, you can specify a new KMS key ID when you * restore from an encrypted snapshot in the same account in order to change it. In * that case, the restored cluster is encrypted with the new KMS key ID.
*/ inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } /** *The Key Management Service (KMS) key ID of the encryption key that encrypts * data in the cluster restored from a shared snapshot. You can also provide the * key ID when you restore from an unencrypted snapshot to an encrypted cluster in * the same account. Additionally, you can specify a new KMS key ID when you * restore from an encrypted snapshot in the same account in order to change it. In * that case, the restored cluster is encrypted with the new KMS key ID.
*/ inline RestoreFromClusterSnapshotRequest& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *The Key Management Service (KMS) key ID of the encryption key that encrypts * data in the cluster restored from a shared snapshot. You can also provide the * key ID when you restore from an unencrypted snapshot to an encrypted cluster in * the same account. Additionally, you can specify a new KMS key ID when you * restore from an encrypted snapshot in the same account in order to change it. In * that case, the restored cluster is encrypted with the new KMS key ID.
*/ inline RestoreFromClusterSnapshotRequest& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *The Key Management Service (KMS) key ID of the encryption key that encrypts * data in the cluster restored from a shared snapshot. You can also provide the * key ID when you restore from an unencrypted snapshot to an encrypted cluster in * the same account. Additionally, you can specify a new KMS key ID when you * restore from an encrypted snapshot in the same account in order to change it. In * that case, the restored cluster is encrypted with the new KMS key ID.
*/ inline RestoreFromClusterSnapshotRequest& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} /** *The node type that the restored cluster will be provisioned with.
*Default: The node type of the cluster from which the snapshot was taken. You * can modify this if you are using any DS node type. In that case, you can choose * to restore into another DS node type of the same size. For example, you can * restore ds1.8xlarge into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have * a DC instance type, you must restore into that same instance type and size. In * other words, you can only restore a dc1.large instance type into another * dc1.large instance type or dc2.large instance type. You can't restore * dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlarge cluster, then resize * to a dc2.8large cluster. For more information about node types, see * About Clusters and Nodes in the Amazon Redshift Cluster Management * Guide.
*/ inline const Aws::String& GetNodeType() const{ return m_nodeType; } /** *The node type that the restored cluster will be provisioned with.
*Default: The node type of the cluster from which the snapshot was taken. You * can modify this if you are using any DS node type. In that case, you can choose * to restore into another DS node type of the same size. For example, you can * restore ds1.8xlarge into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have * a DC instance type, you must restore into that same instance type and size. In * other words, you can only restore a dc1.large instance type into another * dc1.large instance type or dc2.large instance type. You can't restore * dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlarge cluster, then resize * to a dc2.8large cluster. For more information about node types, see * About Clusters and Nodes in the Amazon Redshift Cluster Management * Guide.
*/ inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; } /** *The node type that the restored cluster will be provisioned with.
*Default: The node type of the cluster from which the snapshot was taken. You * can modify this if you are using any DS node type. In that case, you can choose * to restore into another DS node type of the same size. For example, you can * restore ds1.8xlarge into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have * a DC instance type, you must restore into that same instance type and size. In * other words, you can only restore a dc1.large instance type into another * dc1.large instance type or dc2.large instance type. You can't restore * dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlarge cluster, then resize * to a dc2.8large cluster. For more information about node types, see * About Clusters and Nodes in the Amazon Redshift Cluster Management * Guide.
*/ inline void SetNodeType(const Aws::String& value) { m_nodeTypeHasBeenSet = true; m_nodeType = value; } /** *The node type that the restored cluster will be provisioned with.
*Default: The node type of the cluster from which the snapshot was taken. You * can modify this if you are using any DS node type. In that case, you can choose * to restore into another DS node type of the same size. For example, you can * restore ds1.8xlarge into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have * a DC instance type, you must restore into that same instance type and size. In * other words, you can only restore a dc1.large instance type into another * dc1.large instance type or dc2.large instance type. You can't restore * dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlarge cluster, then resize * to a dc2.8large cluster. For more information about node types, see * About Clusters and Nodes in the Amazon Redshift Cluster Management * Guide.
*/ inline void SetNodeType(Aws::String&& value) { m_nodeTypeHasBeenSet = true; m_nodeType = std::move(value); } /** *The node type that the restored cluster will be provisioned with.
*Default: The node type of the cluster from which the snapshot was taken. You * can modify this if you are using any DS node type. In that case, you can choose * to restore into another DS node type of the same size. For example, you can * restore ds1.8xlarge into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have * a DC instance type, you must restore into that same instance type and size. In * other words, you can only restore a dc1.large instance type into another * dc1.large instance type or dc2.large instance type. You can't restore * dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlarge cluster, then resize * to a dc2.8large cluster. For more information about node types, see * About Clusters and Nodes in the Amazon Redshift Cluster Management * Guide.
*/ inline void SetNodeType(const char* value) { m_nodeTypeHasBeenSet = true; m_nodeType.assign(value); } /** *The node type that the restored cluster will be provisioned with.
*Default: The node type of the cluster from which the snapshot was taken. You * can modify this if you are using any DS node type. In that case, you can choose * to restore into another DS node type of the same size. For example, you can * restore ds1.8xlarge into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have * a DC instance type, you must restore into that same instance type and size. In * other words, you can only restore a dc1.large instance type into another * dc1.large instance type or dc2.large instance type. You can't restore * dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlarge cluster, then resize * to a dc2.8large cluster. For more information about node types, see * About Clusters and Nodes in the Amazon Redshift Cluster Management * Guide.
*/ inline RestoreFromClusterSnapshotRequest& WithNodeType(const Aws::String& value) { SetNodeType(value); return *this;} /** *The node type that the restored cluster will be provisioned with.
*Default: The node type of the cluster from which the snapshot was taken. You * can modify this if you are using any DS node type. In that case, you can choose * to restore into another DS node type of the same size. For example, you can * restore ds1.8xlarge into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have * a DC instance type, you must restore into that same instance type and size. In * other words, you can only restore a dc1.large instance type into another * dc1.large instance type or dc2.large instance type. You can't restore * dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlarge cluster, then resize * to a dc2.8large cluster. For more information about node types, see * About Clusters and Nodes in the Amazon Redshift Cluster Management * Guide.
*/ inline RestoreFromClusterSnapshotRequest& WithNodeType(Aws::String&& value) { SetNodeType(std::move(value)); return *this;} /** *The node type that the restored cluster will be provisioned with.
*Default: The node type of the cluster from which the snapshot was taken. You * can modify this if you are using any DS node type. In that case, you can choose * to restore into another DS node type of the same size. For example, you can * restore ds1.8xlarge into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have * a DC instance type, you must restore into that same instance type and size. In * other words, you can only restore a dc1.large instance type into another * dc1.large instance type or dc2.large instance type. You can't restore * dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlarge cluster, then resize * to a dc2.8large cluster. For more information about node types, see * About Clusters and Nodes in the Amazon Redshift Cluster Management * Guide.
*/ inline RestoreFromClusterSnapshotRequest& WithNodeType(const char* value) { SetNodeType(value); return *this;} /** *An option that specifies whether to create the cluster with enhanced VPC * routing enabled. To create a cluster that uses enhanced VPC routing, the cluster * must be in a VPC. For more information, see Enhanced * VPC Routing in the Amazon Redshift Cluster Management Guide.
If this
* option is true
, enhanced VPC routing is enabled.
Default: * false
*/ inline bool GetEnhancedVpcRouting() const{ return m_enhancedVpcRouting; } /** *An option that specifies whether to create the cluster with enhanced VPC * routing enabled. To create a cluster that uses enhanced VPC routing, the cluster * must be in a VPC. For more information, see Enhanced * VPC Routing in the Amazon Redshift Cluster Management Guide.
If this
* option is true
, enhanced VPC routing is enabled.
Default: * false
*/ inline bool EnhancedVpcRoutingHasBeenSet() const { return m_enhancedVpcRoutingHasBeenSet; } /** *An option that specifies whether to create the cluster with enhanced VPC * routing enabled. To create a cluster that uses enhanced VPC routing, the cluster * must be in a VPC. For more information, see Enhanced * VPC Routing in the Amazon Redshift Cluster Management Guide.
If this
* option is true
, enhanced VPC routing is enabled.
Default: * false
*/ inline void SetEnhancedVpcRouting(bool value) { m_enhancedVpcRoutingHasBeenSet = true; m_enhancedVpcRouting = value; } /** *An option that specifies whether to create the cluster with enhanced VPC * routing enabled. To create a cluster that uses enhanced VPC routing, the cluster * must be in a VPC. For more information, see Enhanced * VPC Routing in the Amazon Redshift Cluster Management Guide.
If this
* option is true
, enhanced VPC routing is enabled.
Default: * false
*/ inline RestoreFromClusterSnapshotRequest& WithEnhancedVpcRouting(bool value) { SetEnhancedVpcRouting(value); return *this;} /** *Reserved.
*/ inline const Aws::String& GetAdditionalInfo() const{ return m_additionalInfo; } /** *Reserved.
*/ inline bool AdditionalInfoHasBeenSet() const { return m_additionalInfoHasBeenSet; } /** *Reserved.
*/ inline void SetAdditionalInfo(const Aws::String& value) { m_additionalInfoHasBeenSet = true; m_additionalInfo = value; } /** *Reserved.
*/ inline void SetAdditionalInfo(Aws::String&& value) { m_additionalInfoHasBeenSet = true; m_additionalInfo = std::move(value); } /** *Reserved.
*/ inline void SetAdditionalInfo(const char* value) { m_additionalInfoHasBeenSet = true; m_additionalInfo.assign(value); } /** *Reserved.
*/ inline RestoreFromClusterSnapshotRequest& WithAdditionalInfo(const Aws::String& value) { SetAdditionalInfo(value); return *this;} /** *Reserved.
*/ inline RestoreFromClusterSnapshotRequest& WithAdditionalInfo(Aws::String&& value) { SetAdditionalInfo(std::move(value)); return *this;} /** *Reserved.
*/ inline RestoreFromClusterSnapshotRequest& WithAdditionalInfo(const char* value) { SetAdditionalInfo(value); return *this;} /** *A list of Identity and Access Management (IAM) roles that can be used by the * cluster to access other Amazon Web Services services. You must supply the IAM * roles in their Amazon Resource Name (ARN) format.
The maximum number of * IAM roles that you can associate is subject to a quota. For more information, go * to Quotas * and limits in the Amazon Redshift Cluster Management Guide.
*/ inline const Aws::VectorA list of Identity and Access Management (IAM) roles that can be used by the * cluster to access other Amazon Web Services services. You must supply the IAM * roles in their Amazon Resource Name (ARN) format.
The maximum number of * IAM roles that you can associate is subject to a quota. For more information, go * to Quotas * and limits in the Amazon Redshift Cluster Management Guide.
*/ inline bool IamRolesHasBeenSet() const { return m_iamRolesHasBeenSet; } /** *A list of Identity and Access Management (IAM) roles that can be used by the * cluster to access other Amazon Web Services services. You must supply the IAM * roles in their Amazon Resource Name (ARN) format.
The maximum number of * IAM roles that you can associate is subject to a quota. For more information, go * to Quotas * and limits in the Amazon Redshift Cluster Management Guide.
*/ inline void SetIamRoles(const Aws::VectorA list of Identity and Access Management (IAM) roles that can be used by the * cluster to access other Amazon Web Services services. You must supply the IAM * roles in their Amazon Resource Name (ARN) format.
The maximum number of * IAM roles that you can associate is subject to a quota. For more information, go * to Quotas * and limits in the Amazon Redshift Cluster Management Guide.
*/ inline void SetIamRoles(Aws::VectorA list of Identity and Access Management (IAM) roles that can be used by the * cluster to access other Amazon Web Services services. You must supply the IAM * roles in their Amazon Resource Name (ARN) format.
The maximum number of * IAM roles that you can associate is subject to a quota. For more information, go * to Quotas * and limits in the Amazon Redshift Cluster Management Guide.
*/ inline RestoreFromClusterSnapshotRequest& WithIamRoles(const Aws::VectorA list of Identity and Access Management (IAM) roles that can be used by the * cluster to access other Amazon Web Services services. You must supply the IAM * roles in their Amazon Resource Name (ARN) format.
The maximum number of * IAM roles that you can associate is subject to a quota. For more information, go * to Quotas * and limits in the Amazon Redshift Cluster Management Guide.
*/ inline RestoreFromClusterSnapshotRequest& WithIamRoles(Aws::VectorA list of Identity and Access Management (IAM) roles that can be used by the * cluster to access other Amazon Web Services services. You must supply the IAM * roles in their Amazon Resource Name (ARN) format.
The maximum number of * IAM roles that you can associate is subject to a quota. For more information, go * to Quotas * and limits in the Amazon Redshift Cluster Management Guide.
*/ inline RestoreFromClusterSnapshotRequest& AddIamRoles(const Aws::String& value) { m_iamRolesHasBeenSet = true; m_iamRoles.push_back(value); return *this; } /** *A list of Identity and Access Management (IAM) roles that can be used by the * cluster to access other Amazon Web Services services. You must supply the IAM * roles in their Amazon Resource Name (ARN) format.
The maximum number of * IAM roles that you can associate is subject to a quota. For more information, go * to Quotas * and limits in the Amazon Redshift Cluster Management Guide.
*/ inline RestoreFromClusterSnapshotRequest& AddIamRoles(Aws::String&& value) { m_iamRolesHasBeenSet = true; m_iamRoles.push_back(std::move(value)); return *this; } /** *A list of Identity and Access Management (IAM) roles that can be used by the * cluster to access other Amazon Web Services services. You must supply the IAM * roles in their Amazon Resource Name (ARN) format.
The maximum number of * IAM roles that you can associate is subject to a quota. For more information, go * to Quotas * and limits in the Amazon Redshift Cluster Management Guide.
*/ inline RestoreFromClusterSnapshotRequest& AddIamRoles(const char* value) { m_iamRolesHasBeenSet = true; m_iamRoles.push_back(value); return *this; } /** *The name of the maintenance track for the restored cluster. When you take a
* snapshot, the snapshot inherits the MaintenanceTrack
value from the
* cluster. The snapshot might be on a different track than the cluster that was
* the source for the snapshot. For example, suppose that you take a snapshot of a
* cluster that is on the current track and then change the cluster to be on the
* trailing track. In this case, the snapshot and the source cluster are on
* different tracks.
The name of the maintenance track for the restored cluster. When you take a
* snapshot, the snapshot inherits the MaintenanceTrack
value from the
* cluster. The snapshot might be on a different track than the cluster that was
* the source for the snapshot. For example, suppose that you take a snapshot of a
* cluster that is on the current track and then change the cluster to be on the
* trailing track. In this case, the snapshot and the source cluster are on
* different tracks.
The name of the maintenance track for the restored cluster. When you take a
* snapshot, the snapshot inherits the MaintenanceTrack
value from the
* cluster. The snapshot might be on a different track than the cluster that was
* the source for the snapshot. For example, suppose that you take a snapshot of a
* cluster that is on the current track and then change the cluster to be on the
* trailing track. In this case, the snapshot and the source cluster are on
* different tracks.
The name of the maintenance track for the restored cluster. When you take a
* snapshot, the snapshot inherits the MaintenanceTrack
value from the
* cluster. The snapshot might be on a different track than the cluster that was
* the source for the snapshot. For example, suppose that you take a snapshot of a
* cluster that is on the current track and then change the cluster to be on the
* trailing track. In this case, the snapshot and the source cluster are on
* different tracks.
The name of the maintenance track for the restored cluster. When you take a
* snapshot, the snapshot inherits the MaintenanceTrack
value from the
* cluster. The snapshot might be on a different track than the cluster that was
* the source for the snapshot. For example, suppose that you take a snapshot of a
* cluster that is on the current track and then change the cluster to be on the
* trailing track. In this case, the snapshot and the source cluster are on
* different tracks.
The name of the maintenance track for the restored cluster. When you take a
* snapshot, the snapshot inherits the MaintenanceTrack
value from the
* cluster. The snapshot might be on a different track than the cluster that was
* the source for the snapshot. For example, suppose that you take a snapshot of a
* cluster that is on the current track and then change the cluster to be on the
* trailing track. In this case, the snapshot and the source cluster are on
* different tracks.
The name of the maintenance track for the restored cluster. When you take a
* snapshot, the snapshot inherits the MaintenanceTrack
value from the
* cluster. The snapshot might be on a different track than the cluster that was
* the source for the snapshot. For example, suppose that you take a snapshot of a
* cluster that is on the current track and then change the cluster to be on the
* trailing track. In this case, the snapshot and the source cluster are on
* different tracks.
The name of the maintenance track for the restored cluster. When you take a
* snapshot, the snapshot inherits the MaintenanceTrack
value from the
* cluster. The snapshot might be on a different track than the cluster that was
* the source for the snapshot. For example, suppose that you take a snapshot of a
* cluster that is on the current track and then change the cluster to be on the
* trailing track. In this case, the snapshot and the source cluster are on
* different tracks.
A unique identifier for the snapshot schedule.
*/ inline const Aws::String& GetSnapshotScheduleIdentifier() const{ return m_snapshotScheduleIdentifier; } /** *A unique identifier for the snapshot schedule.
*/ inline bool SnapshotScheduleIdentifierHasBeenSet() const { return m_snapshotScheduleIdentifierHasBeenSet; } /** *A unique identifier for the snapshot schedule.
*/ inline void SetSnapshotScheduleIdentifier(const Aws::String& value) { m_snapshotScheduleIdentifierHasBeenSet = true; m_snapshotScheduleIdentifier = value; } /** *A unique identifier for the snapshot schedule.
*/ inline void SetSnapshotScheduleIdentifier(Aws::String&& value) { m_snapshotScheduleIdentifierHasBeenSet = true; m_snapshotScheduleIdentifier = std::move(value); } /** *A unique identifier for the snapshot schedule.
*/ inline void SetSnapshotScheduleIdentifier(const char* value) { m_snapshotScheduleIdentifierHasBeenSet = true; m_snapshotScheduleIdentifier.assign(value); } /** *A unique identifier for the snapshot schedule.
*/ inline RestoreFromClusterSnapshotRequest& WithSnapshotScheduleIdentifier(const Aws::String& value) { SetSnapshotScheduleIdentifier(value); return *this;} /** *A unique identifier for the snapshot schedule.
*/ inline RestoreFromClusterSnapshotRequest& WithSnapshotScheduleIdentifier(Aws::String&& value) { SetSnapshotScheduleIdentifier(std::move(value)); return *this;} /** *A unique identifier for the snapshot schedule.
*/ inline RestoreFromClusterSnapshotRequest& WithSnapshotScheduleIdentifier(const char* value) { SetSnapshotScheduleIdentifier(value); return *this;} /** *The number of nodes specified when provisioning the restored cluster.
*/ inline int GetNumberOfNodes() const{ return m_numberOfNodes; } /** *The number of nodes specified when provisioning the restored cluster.
*/ inline bool NumberOfNodesHasBeenSet() const { return m_numberOfNodesHasBeenSet; } /** *The number of nodes specified when provisioning the restored cluster.
*/ inline void SetNumberOfNodes(int value) { m_numberOfNodesHasBeenSet = true; m_numberOfNodes = value; } /** *The number of nodes specified when provisioning the restored cluster.
*/ inline RestoreFromClusterSnapshotRequest& WithNumberOfNodes(int value) { SetNumberOfNodes(value); return *this;} /** *The option to enable relocation for an Amazon Redshift cluster between * Availability Zones after the cluster is restored.
*/ inline bool GetAvailabilityZoneRelocation() const{ return m_availabilityZoneRelocation; } /** *The option to enable relocation for an Amazon Redshift cluster between * Availability Zones after the cluster is restored.
*/ inline bool AvailabilityZoneRelocationHasBeenSet() const { return m_availabilityZoneRelocationHasBeenSet; } /** *The option to enable relocation for an Amazon Redshift cluster between * Availability Zones after the cluster is restored.
*/ inline void SetAvailabilityZoneRelocation(bool value) { m_availabilityZoneRelocationHasBeenSet = true; m_availabilityZoneRelocation = value; } /** *The option to enable relocation for an Amazon Redshift cluster between * Availability Zones after the cluster is restored.
*/ inline RestoreFromClusterSnapshotRequest& WithAvailabilityZoneRelocation(bool value) { SetAvailabilityZoneRelocation(value); return *this;} /** *This parameter is retired. It does not set the AQUA configuration status. * Amazon Redshift automatically determines whether to use AQUA (Advanced Query * Accelerator).
*/ inline const AquaConfigurationStatus& GetAquaConfigurationStatus() const{ return m_aquaConfigurationStatus; } /** *This parameter is retired. It does not set the AQUA configuration status. * Amazon Redshift automatically determines whether to use AQUA (Advanced Query * Accelerator).
*/ inline bool AquaConfigurationStatusHasBeenSet() const { return m_aquaConfigurationStatusHasBeenSet; } /** *This parameter is retired. It does not set the AQUA configuration status. * Amazon Redshift automatically determines whether to use AQUA (Advanced Query * Accelerator).
*/ inline void SetAquaConfigurationStatus(const AquaConfigurationStatus& value) { m_aquaConfigurationStatusHasBeenSet = true; m_aquaConfigurationStatus = value; } /** *This parameter is retired. It does not set the AQUA configuration status. * Amazon Redshift automatically determines whether to use AQUA (Advanced Query * Accelerator).
*/ inline void SetAquaConfigurationStatus(AquaConfigurationStatus&& value) { m_aquaConfigurationStatusHasBeenSet = true; m_aquaConfigurationStatus = std::move(value); } /** *This parameter is retired. It does not set the AQUA configuration status. * Amazon Redshift automatically determines whether to use AQUA (Advanced Query * Accelerator).
*/ inline RestoreFromClusterSnapshotRequest& WithAquaConfigurationStatus(const AquaConfigurationStatus& value) { SetAquaConfigurationStatus(value); return *this;} /** *This parameter is retired. It does not set the AQUA configuration status. * Amazon Redshift automatically determines whether to use AQUA (Advanced Query * Accelerator).
*/ inline RestoreFromClusterSnapshotRequest& WithAquaConfigurationStatus(AquaConfigurationStatus&& value) { SetAquaConfigurationStatus(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) for the IAM role that was set as default for * the cluster when the cluster was last modified while it was restored from a * snapshot.
*/ inline const Aws::String& GetDefaultIamRoleArn() const{ return m_defaultIamRoleArn; } /** *The Amazon Resource Name (ARN) for the IAM role that was set as default for * the cluster when the cluster was last modified while it was restored from a * snapshot.
*/ inline bool DefaultIamRoleArnHasBeenSet() const { return m_defaultIamRoleArnHasBeenSet; } /** *The Amazon Resource Name (ARN) for the IAM role that was set as default for * the cluster when the cluster was last modified while it was restored from a * snapshot.
*/ inline void SetDefaultIamRoleArn(const Aws::String& value) { m_defaultIamRoleArnHasBeenSet = true; m_defaultIamRoleArn = value; } /** *The Amazon Resource Name (ARN) for the IAM role that was set as default for * the cluster when the cluster was last modified while it was restored from a * snapshot.
*/ inline void SetDefaultIamRoleArn(Aws::String&& value) { m_defaultIamRoleArnHasBeenSet = true; m_defaultIamRoleArn = std::move(value); } /** *The Amazon Resource Name (ARN) for the IAM role that was set as default for * the cluster when the cluster was last modified while it was restored from a * snapshot.
*/ inline void SetDefaultIamRoleArn(const char* value) { m_defaultIamRoleArnHasBeenSet = true; m_defaultIamRoleArn.assign(value); } /** *The Amazon Resource Name (ARN) for the IAM role that was set as default for * the cluster when the cluster was last modified while it was restored from a * snapshot.
*/ inline RestoreFromClusterSnapshotRequest& WithDefaultIamRoleArn(const Aws::String& value) { SetDefaultIamRoleArn(value); return *this;} /** *The Amazon Resource Name (ARN) for the IAM role that was set as default for * the cluster when the cluster was last modified while it was restored from a * snapshot.
*/ inline RestoreFromClusterSnapshotRequest& WithDefaultIamRoleArn(Aws::String&& value) { SetDefaultIamRoleArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) for the IAM role that was set as default for * the cluster when the cluster was last modified while it was restored from a * snapshot.
*/ inline RestoreFromClusterSnapshotRequest& WithDefaultIamRoleArn(const char* value) { SetDefaultIamRoleArn(value); return *this;} /** *The identifier of the target reserved node offering.
*/ inline const Aws::String& GetReservedNodeId() const{ return m_reservedNodeId; } /** *The identifier of the target reserved node offering.
*/ inline bool ReservedNodeIdHasBeenSet() const { return m_reservedNodeIdHasBeenSet; } /** *The identifier of the target reserved node offering.
*/ inline void SetReservedNodeId(const Aws::String& value) { m_reservedNodeIdHasBeenSet = true; m_reservedNodeId = value; } /** *The identifier of the target reserved node offering.
*/ inline void SetReservedNodeId(Aws::String&& value) { m_reservedNodeIdHasBeenSet = true; m_reservedNodeId = std::move(value); } /** *The identifier of the target reserved node offering.
*/ inline void SetReservedNodeId(const char* value) { m_reservedNodeIdHasBeenSet = true; m_reservedNodeId.assign(value); } /** *The identifier of the target reserved node offering.
*/ inline RestoreFromClusterSnapshotRequest& WithReservedNodeId(const Aws::String& value) { SetReservedNodeId(value); return *this;} /** *The identifier of the target reserved node offering.
*/ inline RestoreFromClusterSnapshotRequest& WithReservedNodeId(Aws::String&& value) { SetReservedNodeId(std::move(value)); return *this;} /** *The identifier of the target reserved node offering.
*/ inline RestoreFromClusterSnapshotRequest& WithReservedNodeId(const char* value) { SetReservedNodeId(value); return *this;} /** *The identifier of the target reserved node offering.
*/ inline const Aws::String& GetTargetReservedNodeOfferingId() const{ return m_targetReservedNodeOfferingId; } /** *The identifier of the target reserved node offering.
*/ inline bool TargetReservedNodeOfferingIdHasBeenSet() const { return m_targetReservedNodeOfferingIdHasBeenSet; } /** *The identifier of the target reserved node offering.
*/ inline void SetTargetReservedNodeOfferingId(const Aws::String& value) { m_targetReservedNodeOfferingIdHasBeenSet = true; m_targetReservedNodeOfferingId = value; } /** *The identifier of the target reserved node offering.
*/ inline void SetTargetReservedNodeOfferingId(Aws::String&& value) { m_targetReservedNodeOfferingIdHasBeenSet = true; m_targetReservedNodeOfferingId = std::move(value); } /** *The identifier of the target reserved node offering.
*/ inline void SetTargetReservedNodeOfferingId(const char* value) { m_targetReservedNodeOfferingIdHasBeenSet = true; m_targetReservedNodeOfferingId.assign(value); } /** *The identifier of the target reserved node offering.
*/ inline RestoreFromClusterSnapshotRequest& WithTargetReservedNodeOfferingId(const Aws::String& value) { SetTargetReservedNodeOfferingId(value); return *this;} /** *The identifier of the target reserved node offering.
*/ inline RestoreFromClusterSnapshotRequest& WithTargetReservedNodeOfferingId(Aws::String&& value) { SetTargetReservedNodeOfferingId(std::move(value)); return *this;} /** *The identifier of the target reserved node offering.
*/ inline RestoreFromClusterSnapshotRequest& WithTargetReservedNodeOfferingId(const char* value) { SetTargetReservedNodeOfferingId(value); return *this;} /** *Enables support for restoring an unencrypted snapshot to a cluster encrypted * with Key Management Service (KMS) and a customer managed key.
*/ inline bool GetEncrypted() const{ return m_encrypted; } /** *Enables support for restoring an unencrypted snapshot to a cluster encrypted * with Key Management Service (KMS) and a customer managed key.
*/ inline bool EncryptedHasBeenSet() const { return m_encryptedHasBeenSet; } /** *Enables support for restoring an unencrypted snapshot to a cluster encrypted * with Key Management Service (KMS) and a customer managed key.
*/ inline void SetEncrypted(bool value) { m_encryptedHasBeenSet = true; m_encrypted = value; } /** *Enables support for restoring an unencrypted snapshot to a cluster encrypted * with Key Management Service (KMS) and a customer managed key.
*/ inline RestoreFromClusterSnapshotRequest& WithEncrypted(bool value) { SetEncrypted(value); return *this;} private: Aws::String m_clusterIdentifier; bool m_clusterIdentifierHasBeenSet = false; Aws::String m_snapshotIdentifier; bool m_snapshotIdentifierHasBeenSet = false; Aws::String m_snapshotArn; bool m_snapshotArnHasBeenSet = false; Aws::String m_snapshotClusterIdentifier; bool m_snapshotClusterIdentifierHasBeenSet = false; int m_port; bool m_portHasBeenSet = false; Aws::String m_availabilityZone; bool m_availabilityZoneHasBeenSet = false; bool m_allowVersionUpgrade; bool m_allowVersionUpgradeHasBeenSet = false; Aws::String m_clusterSubnetGroupName; bool m_clusterSubnetGroupNameHasBeenSet = false; bool m_publiclyAccessible; bool m_publiclyAccessibleHasBeenSet = false; Aws::String m_ownerAccount; bool m_ownerAccountHasBeenSet = false; Aws::String m_hsmClientCertificateIdentifier; bool m_hsmClientCertificateIdentifierHasBeenSet = false; Aws::String m_hsmConfigurationIdentifier; bool m_hsmConfigurationIdentifierHasBeenSet = false; Aws::String m_elasticIp; bool m_elasticIpHasBeenSet = false; Aws::String m_clusterParameterGroupName; bool m_clusterParameterGroupNameHasBeenSet = false; Aws::Vector