parameters: (self, cluster_identifier,
                                        snapshot_identifier,
                                        snapshot_cluster_identifier=None,
                                        port=None, availability_zone=None,
                                        allow_version_upgrade=None,
                                        cluster_subnet_group_name=None,
                                        publicly_accessible=None,
                                        owner_account=None,
                                        hsm_client_certificate_identifier=None,
                                        hsm_configuration_identifier=None,
                                        elastic_ip=None,
                                        cluster_parameter_group_name=None,
                                        cluster_security_groups=None,
                                        vpc_security_group_ids=None,
                                        preferred_maintenance_window=None,
                                        automated_snapshot_retention_period=None)
return_statement: return self._make_request(
              action='RestoreFromClusterSnapshot',
              verb='POST',
              path='/', params=params)
docstring: Creates a new cluster from a snapshot. Amazon Redshift creates
          the resulting cluster with the same configuration as the
          original cluster from which the snapshot was created, except
          that the new cluster is created with the default cluster
          security and parameter group. After Amazon Redshift creates
          the cluster you can use the ModifyCluster API to associate a
          different security group and different parameter group with
          the restored cluster.
  
          If you restore a cluster into a VPC, you must provide a
          cluster subnet group where you want the cluster restored.
  
          For more information about working with snapshots, go to
          `Amazon Redshift Snapshots`_ in the Amazon Redshift Management
          Guide .
  
          :type cluster_identifier: string
          :param cluster_identifier: 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 AWS account.
  
          :type snapshot_identifier: string
          :param snapshot_identifier: The name of the snapshot from which to
              create the new cluster. This parameter isn't case sensitive.
          Example: `my-snapshot-id`
  
          :type snapshot_cluster_identifier: string
          :param snapshot_cluster_identifier: 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.
  
          :type port: integer
          :param port: The port number on which the cluster accepts connections.
          Default: The same port as the original cluster.
  
          Constraints: Must be between `1115` and `65535`.
  
          :type availability_zone: string
          :param availability_zone: The Amazon EC2 Availability Zone in which to
              restore the cluster.
          Default: A random, system-chosen Availability Zone.
  
          Example: `us-east-1a`
  
          :type allow_version_upgrade: boolean
          :param allow_version_upgrade: If `True`, upgrades can be applied during
              the maintenance window to the Amazon Redshift engine that is
              running on the cluster.
          Default: `True`
  
          :type cluster_subnet_group_name: string
          :param cluster_subnet_group_name: 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.
  
          :type publicly_accessible: boolean
          :param publicly_accessible: If `True`, the cluster can be accessed from
              a public network.
  
          :type owner_account: string
          :param owner_account: The AWS customer 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.
  
          :type hsm_client_certificate_identifier: string
          :param hsm_client_certificate_identifier: Specifies the name of the HSM
              client certificate the Amazon Redshift cluster uses to retrieve the
              data encryption keys stored in an HSM.
  
          :type hsm_configuration_identifier: string
          :param hsm_configuration_identifier: 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.
  
          :type elastic_ip: string
          :param elastic_ip: The elastic IP (EIP) address for the cluster.
  
          :type cluster_parameter_group_name: string
          :param cluster_parameter_group_name:
          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.
  
          :type cluster_security_groups: list
          :param cluster_security_groups: 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.
  
          :type vpc_security_group_ids: list
          :param vpc_security_group_ids: 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.
  
          :type preferred_maintenance_window: string
          :param preferred_maintenance_window: 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. The following list shows the time blocks for each region
              from which the default maintenance windows are assigned.
  
  
          + **US-East (Northern Virginia) Region:** 03:00-11:00 UTC
          + **US-West (Oregon) Region** 06:00-14:00 UTC
          + **EU (Ireland) Region** 22:00-06:00 UTC
          + **Asia Pacific (Singapore) Region** 14:00-22:00 UTC
          + **Asia Pacific (Sydney) Region** 12:00-20:00 UTC
          + **Asia Pacific (Tokyo) Region** 17:00-03:00 UTC
  
  
          Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
  
          Constraints: Minimum 30-minute window.
  
          :type automated_snapshot_retention_period: integer
          :param automated_snapshot_retention_period: 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.
          Default: The value selected for the cluster from which the snapshot was
              taken.
  
          Constraints: Must be a value from 0 to 35.
docstring_summary: Creates a new cluster from a snapshot. Amazon Redshift creates
          the resulting cluster with the same configuration as the
          original cluster from which the snapshot was created, except
          that the new cluster is created with the default cluster
          security and parameter group. After Amazon Redshift creates
          the cluster you can use the ModifyCluster API to associate a
          different security group and different parameter group with
          the restored cluster.
docstring_tokens: Creates a new cluster from a snapshot . Amazon Redshift creates the resulting cluster with the same configuration as the original cluster from which the snapshot was created except that the new cluster is created with the default cluster security and parameter group . After Amazon Redshift creates the cluster you can use the ModifyCluster API to associate a different security group and different parameter group with the restored cluster .
function: def restore_from_cluster_snapshot(self, cluster_identifier,
                                        snapshot_identifier,
                                        snapshot_cluster_identifier=None,
                                        port=None, availability_zone=None,
                                        allow_version_upgrade=None,
                                        cluster_subnet_group_name=None,
                                        publicly_accessible=None,
                                        owner_account=None,
                                        hsm_client_certificate_identifier=None,
                                        hsm_configuration_identifier=None,
                                        elastic_ip=None,
                                        cluster_parameter_group_name=None,
                                        cluster_security_groups=None,
                                        vpc_security_group_ids=None,
                                        preferred_maintenance_window=None,
                                        automated_snapshot_retention_period=None):
          """
          Creates a new cluster from a snapshot. Amazon Redshift creates
          the resulting cluster with the same configuration as the
          original cluster from which the snapshot was created, except
          that the new cluster is created with the default cluster
          security and parameter group. After Amazon Redshift creates
          the cluster you can use the ModifyCluster API to associate a
          different security group and different parameter group with
          the restored cluster.
  
          If you restore a cluster into a VPC, you must provide a
          cluster subnet group where you want the cluster restored.
  
          For more information about working with snapshots, go to
          `Amazon Redshift Snapshots`_ in the Amazon Redshift Management
          Guide .
  
          :type cluster_identifier: string
          :param cluster_identifier: 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 AWS account.
  
          :type snapshot_identifier: string
          :param snapshot_identifier: The name of the snapshot from which to
              create the new cluster. This parameter isn't case sensitive.
          Example: `my-snapshot-id`
  
          :type snapshot_cluster_identifier: string
          :param snapshot_cluster_identifier: 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.
  
          :type port: integer
          :param port: The port number on which the cluster accepts connections.
          Default: The same port as the original cluster.
  
          Constraints: Must be between `1115` and `65535`.
  
          :type availability_zone: string
          :param availability_zone: The Amazon EC2 Availability Zone in which to
              restore the cluster.
          Default: A random, system-chosen Availability Zone.
  
          Example: `us-east-1a`
  
          :type allow_version_upgrade: boolean
          :param allow_version_upgrade: If `True`, upgrades can be applied during
              the maintenance window to the Amazon Redshift engine that is
              running on the cluster.
          Default: `True`
  
          :type cluster_subnet_group_name: string
          :param cluster_subnet_group_name: 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.
  
          :type publicly_accessible: boolean
          :param publicly_accessible: If `True`, the cluster can be accessed from
              a public network.
  
          :type owner_account: string
          :param owner_account: The AWS customer 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.
  
          :type hsm_client_certificate_identifier: string
          :param hsm_client_certificate_identifier: Specifies the name of the HSM
              client certificate the Amazon Redshift cluster uses to retrieve the
              data encryption keys stored in an HSM.
  
          :type hsm_configuration_identifier: string
          :param hsm_configuration_identifier: 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.
  
          :type elastic_ip: string
          :param elastic_ip: The elastic IP (EIP) address for the cluster.
  
          :type cluster_parameter_group_name: string
          :param cluster_parameter_group_name:
          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.
  
          :type cluster_security_groups: list
          :param cluster_security_groups: 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.
  
          :type vpc_security_group_ids: list
          :param vpc_security_group_ids: 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.
  
          :type preferred_maintenance_window: string
          :param preferred_maintenance_window: 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. The following list shows the time blocks for each region
              from which the default maintenance windows are assigned.
  
  
          + **US-East (Northern Virginia) Region:** 03:00-11:00 UTC
          + **US-West (Oregon) Region** 06:00-14:00 UTC
          + **EU (Ireland) Region** 22:00-06:00 UTC
          + **Asia Pacific (Singapore) Region** 14:00-22:00 UTC
          + **Asia Pacific (Sydney) Region** 12:00-20:00 UTC
          + **Asia Pacific (Tokyo) Region** 17:00-03:00 UTC
  
  
          Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
  
          Constraints: Minimum 30-minute window.
  
          :type automated_snapshot_retention_period: integer
          :param automated_snapshot_retention_period: 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.
          Default: The value selected for the cluster from which the snapshot was
              taken.
  
          Constraints: Must be a value from 0 to 35.
  
          """
          params = {
              'ClusterIdentifier': cluster_identifier,
              'SnapshotIdentifier': snapshot_identifier,
          }
          if snapshot_cluster_identifier is not None:
              params['SnapshotClusterIdentifier'] = snapshot_cluster_identifier
          if port is not None:
              params['Port'] = port
          if availability_zone is not None:
              params['AvailabilityZone'] = availability_zone
          if allow_version_upgrade is not None:
              params['AllowVersionUpgrade'] = str(
                  allow_version_upgrade).lower()
          if cluster_subnet_group_name is not None:
              params['ClusterSubnetGroupName'] = cluster_subnet_group_name
          if publicly_accessible is not None:
              params['PubliclyAccessible'] = str(
                  publicly_accessible).lower()
          if owner_account is not None:
              params['OwnerAccount'] = owner_account
          if hsm_client_certificate_identifier is not None:
              params['HsmClientCertificateIdentifier'] = hsm_client_certificate_identifier
          if hsm_configuration_identifier is not None:
              params['HsmConfigurationIdentifier'] = hsm_configuration_identifier
          if elastic_ip is not None:
              params['ElasticIp'] = elastic_ip
          if cluster_parameter_group_name is not None:
              params['ClusterParameterGroupName'] = cluster_parameter_group_name
          if cluster_security_groups is not None:
              self.build_list_params(params,
                                     cluster_security_groups,
                                     'ClusterSecurityGroups.member')
          if vpc_security_group_ids is not None:
              self.build_list_params(params,
                                     vpc_security_group_ids,
                                     'VpcSecurityGroupIds.member')
          if preferred_maintenance_window is not None:
              params['PreferredMaintenanceWindow'] = preferred_maintenance_window
          if automated_snapshot_retention_period is not None:
              params['AutomatedSnapshotRetentionPeriod'] = automated_snapshot_retention_period
          return self._make_request(
              action='RestoreFromClusterSnapshot',
              verb='POST',
              path='/', params=params)
function_tokens: def restore_from_cluster_snapshot ( self , cluster_identifier , snapshot_identifier , snapshot_cluster_identifier = None , port = None , availability_zone = None , allow_version_upgrade = None , cluster_subnet_group_name = None , publicly_accessible = None , owner_account = None , hsm_client_certificate_identifier = None , hsm_configuration_identifier = None , elastic_ip = None , cluster_parameter_group_name = None , cluster_security_groups = None , vpc_security_group_ids = None , preferred_maintenance_window = None , automated_snapshot_retention_period = None ) : params = { 'ClusterIdentifier' : cluster_identifier , 'SnapshotIdentifier' : snapshot_identifier , } if snapshot_cluster_identifier is not None : params [ 'SnapshotClusterIdentifier' ] = snapshot_cluster_identifier if port is not None : params [ 'Port' ] = port if availability_zone is not None : params [ 'AvailabilityZone' ] = availability_zone if allow_version_upgrade is not None : params [ 'AllowVersionUpgrade' ] = str ( allow_version_upgrade ) . lower ( ) if cluster_subnet_group_name is not None : params [ 'ClusterSubnetGroupName' ] = cluster_subnet_group_name if publicly_accessible is not None : params [ 'PubliclyAccessible' ] = str ( publicly_accessible ) . lower ( ) if owner_account is not None : params [ 'OwnerAccount' ] = owner_account if hsm_client_certificate_identifier is not None : params [ 'HsmClientCertificateIdentifier' ] = hsm_client_certificate_identifier if hsm_configuration_identifier is not None : params [ 'HsmConfigurationIdentifier' ] = hsm_configuration_identifier if elastic_ip is not None : params [ 'ElasticIp' ] = elastic_ip if cluster_parameter_group_name is not None : params [ 'ClusterParameterGroupName' ] = cluster_parameter_group_name if cluster_security_groups is not None : self . build_list_params ( params , cluster_security_groups , 'ClusterSecurityGroups.member' ) if vpc_security_group_ids is not None : self . build_list_params ( params , vpc_security_group_ids , 'VpcSecurityGroupIds.member' ) if preferred_maintenance_window is not None : params [ 'PreferredMaintenanceWindow' ] = preferred_maintenance_window if automated_snapshot_retention_period is not None : params [ 'AutomatedSnapshotRetentionPeriod' ] = automated_snapshot_retention_period return self . _make_request ( action = 'RestoreFromClusterSnapshot' , verb = 'POST' , path = '/' , params = params )