Class: AWSCDK::Redshift::CfnClusterProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
redshift/cfn_cluster_props.rb

Overview

Properties for defining a CfnCluster.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(cluster_type:, db_name:, master_username:, node_type:, allow_version_upgrade: nil, aqua_configuration_status: nil, automated_snapshot_retention_period: nil, availability_zone: nil, availability_zone_relocation: nil, availability_zone_relocation_status: nil, classic: nil, cluster_identifier: nil, cluster_parameter_group_name: nil, cluster_security_groups: nil, cluster_subnet_group_name: nil, cluster_version: nil, defer_maintenance: nil, defer_maintenance_duration: nil, defer_maintenance_end_time: nil, defer_maintenance_start_time: nil, destination_region: nil, elastic_ip: nil, encrypted: nil, endpoint: nil, enhanced_vpc_routing: nil, hsm_client_certificate_identifier: nil, hsm_configuration_identifier: nil, iam_roles: nil, kms_key_id: nil, logging_properties: nil, maintenance_track_name: nil, manage_master_password: nil, manual_snapshot_retention_period: nil, master_password_secret_kms_key_id: nil, master_user_password: nil, multi_az: nil, namespace_resource_policy: nil, number_of_nodes: nil, owner_account: nil, port: nil, preferred_maintenance_window: nil, publicly_accessible: nil, resource_action: nil, revision_target: nil, rotate_encryption_key: nil, snapshot_cluster_identifier: nil, snapshot_copy_grant_name: nil, snapshot_copy_manual: nil, snapshot_copy_retention_period: nil, snapshot_identifier: nil, tags: nil, vpc_security_group_ids: nil) ⇒ CfnClusterProps

Returns a new instance of CfnClusterProps.

Parameters:

  • cluster_type (String)

    The type of the cluster. When cluster type is specified as.

  • db_name (String)

    The name of the first database to be created when the cluster is created.

  • master_username (String)

    The user name associated with the admin user account for the cluster that is being created.

  • node_type (String)

    The node type to be provisioned for the cluster.

  • allow_version_upgrade (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    If true , major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster.

  • aqua_configuration_status (String, nil) (defaults to: nil)

    This parameter is retired.

  • automated_snapshot_retention_period (Numeric, nil) (defaults to: nil)

    The number of days that automated snapshots are retained.

  • availability_zone (String, nil) (defaults to: nil)

    The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster.

  • availability_zone_relocation (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is created.

  • availability_zone_relocation_status (String, nil) (defaults to: nil)

    Describes the status of the Availability Zone relocation operation.

  • classic (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    A boolean value indicating whether the resize operation is using the classic resize process.

  • cluster_identifier (String, nil) (defaults to: nil)

    A unique identifier for the cluster.

  • cluster_parameter_group_name (String, AWSCDK::Interfaces::AWSRedshift::IClusterParameterGroupRef, nil) (defaults to: nil)

    The name of the parameter group to be associated with this cluster.

  • cluster_security_groups (Array<String, AWSCDK::Interfaces::AWSEC2::ISecurityGroupRef, AWSCDK::Interfaces::AWSRedshift::IClusterSecurityGroupRef>, nil) (defaults to: nil)

    A list of security groups to be associated with this cluster.

  • cluster_subnet_group_name (String, AWSCDK::Interfaces::AWSRedshift::IClusterSubnetGroupRef, nil) (defaults to: nil)

    The name of a cluster subnet group to be associated with this cluster.

  • cluster_version (String, nil) (defaults to: nil)

    The version of the Amazon Redshift engine software that you want to deploy on the cluster.

  • defer_maintenance (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    A Boolean indicating whether to enable the deferred maintenance window.

  • defer_maintenance_duration (Numeric, nil) (defaults to: nil)

    An integer indicating the duration of the maintenance window in days.

  • defer_maintenance_end_time (String, nil) (defaults to: nil)

    A timestamp for the end of the time period when we defer maintenance.

  • defer_maintenance_start_time (String, nil) (defaults to: nil)

    A timestamp indicating the start time for the deferred maintenance window.

  • destination_region (String, nil) (defaults to: nil)

    The destination region that snapshots are automatically copied to when cross-region snapshot copy is enabled.

  • elastic_ip (String, AWSCDK::Interfaces::AWSEC2::IEIPRef, nil) (defaults to: nil)

    The Elastic IP (EIP) address for the cluster.

  • encrypted (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    If true , the data in the cluster is encrypted at rest.

  • endpoint (AWSCDK::IResolvable, AWSCDK::Redshift::CfnCluster::EndpointProperty, nil) (defaults to: nil)

    The connection endpoint.

  • enhanced_vpc_routing (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    An option that specifies whether to create the cluster with enhanced VPC routing enabled.

  • hsm_client_certificate_identifier (String, nil) (defaults to: nil)

    Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM.

  • hsm_configuration_identifier (String, nil) (defaults to: nil)

    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.

  • iam_roles (Array<String, AWSCDK::Interfaces::AWSIAM::IRoleRef>, nil) (defaults to: nil)

    A list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS services.

  • kms_key_id (String, AWSCDK::Interfaces::AWSKMS::IKeyRef, nil) (defaults to: nil)

    The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the cluster.

  • logging_properties (AWSCDK::IResolvable, AWSCDK::Redshift::CfnCluster::LoggingPropertiesProperty, nil) (defaults to: nil)

    Specifies logging information, such as queries and connection attempts, for the specified Amazon Redshift cluster.

  • maintenance_track_name (String, nil) (defaults to: nil)

    An optional parameter for the name of the maintenance track for the cluster.

  • manage_master_password (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    If true , Amazon Redshift uses AWS Secrets Manager to manage this cluster's admin credentials.

  • manual_snapshot_retention_period (Numeric, nil) (defaults to: nil)

    The default number of days to retain a manual snapshot.

  • master_password_secret_kms_key_id (String, AWSCDK::Interfaces::AWSKMS::IKeyRef, nil) (defaults to: nil)

    The ID of the AWS Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret.

  • master_user_password (String, nil) (defaults to: nil)

    The password associated with the admin user account for the cluster that is being created.

  • multi_az (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    A boolean indicating whether Amazon Redshift should deploy the cluster in two Availability Zones.

  • namespace_resource_policy (Object, nil) (defaults to: nil)

    The policy that is attached to a resource.

  • number_of_nodes (Numeric, nil) (defaults to: nil)

    The number of compute nodes in the cluster.

  • owner_account (String, nil) (defaults to: nil)

    The AWS account used to create or copy the snapshot.

  • port (Numeric, nil) (defaults to: nil)

    The port number on which the cluster accepts incoming connections.

  • preferred_maintenance_window (String, nil) (defaults to: nil)

    The weekly time range (in UTC) during which automated cluster maintenance can occur.

  • publicly_accessible (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    If true , the cluster can be accessed from a public network.

  • resource_action (String, nil) (defaults to: nil)

    The Amazon Redshift operation to be performed.

  • revision_target (String, nil) (defaults to: nil)

    Describes a RevisionTarget object.

  • rotate_encryption_key (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Rotates the encryption keys for a cluster.

  • snapshot_cluster_identifier (String, nil) (defaults to: nil)

    The name of the cluster the source snapshot was created from.

  • snapshot_copy_grant_name (String, nil) (defaults to: nil)

    The name of the snapshot copy grant.

  • snapshot_copy_manual (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Indicates whether to apply the snapshot retention period to newly copied manual snapshots instead of automated snapshots.

  • snapshot_copy_retention_period (Numeric, nil) (defaults to: nil)

    The number of days to retain automated snapshots in the destination AWS Region after they are copied from the source AWS Region .

  • snapshot_identifier (String, nil) (defaults to: nil)

    The name of the snapshot from which to create the new cluster.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    A list of tag instances.

  • vpc_security_group_ids (Array<String, AWSCDK::Interfaces::AWSEC2::ISecurityGroupRef>, nil) (defaults to: nil)

    A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
# File 'redshift/cfn_cluster_props.rb', line 61

def initialize(cluster_type:, db_name:, master_username:, node_type:, allow_version_upgrade: nil, aqua_configuration_status: nil, automated_snapshot_retention_period: nil, availability_zone: nil, availability_zone_relocation: nil, availability_zone_relocation_status: nil, classic: nil, cluster_identifier: nil, cluster_parameter_group_name: nil, cluster_security_groups: nil, cluster_subnet_group_name: nil, cluster_version: nil, defer_maintenance: nil, defer_maintenance_duration: nil, defer_maintenance_end_time: nil, defer_maintenance_start_time: nil, destination_region: nil, elastic_ip: nil, encrypted: nil, endpoint: nil, enhanced_vpc_routing: nil, hsm_client_certificate_identifier: nil, hsm_configuration_identifier: nil, iam_roles: nil, kms_key_id: nil, logging_properties: nil, maintenance_track_name: nil, manage_master_password: nil, manual_snapshot_retention_period: nil, master_password_secret_kms_key_id: nil, master_user_password: nil, multi_az: nil, namespace_resource_policy: nil, number_of_nodes: nil, owner_account: nil, port: nil, preferred_maintenance_window: nil, publicly_accessible: nil, resource_action: nil, revision_target: nil, rotate_encryption_key: nil, snapshot_cluster_identifier: nil, snapshot_copy_grant_name: nil, snapshot_copy_manual: nil, snapshot_copy_retention_period: nil, snapshot_identifier: nil, tags: nil, vpc_security_group_ids: nil)
  @cluster_type = cluster_type
  Jsii::Type.check_type(@cluster_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "clusterType")
  @db_name = db_name
  Jsii::Type.check_type(@db_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dbName")
  @master_username = master_username
  Jsii::Type.check_type(@master_username, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "masterUsername")
  @node_type = node_type
  Jsii::Type.check_type(@node_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "nodeType")
  @allow_version_upgrade = allow_version_upgrade
  Jsii::Type.check_type(@allow_version_upgrade, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "allowVersionUpgrade") unless @allow_version_upgrade.nil?
  @aqua_configuration_status = aqua_configuration_status
  Jsii::Type.check_type(@aqua_configuration_status, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "aquaConfigurationStatus") unless @aqua_configuration_status.nil?
  @automated_snapshot_retention_period = automated_snapshot_retention_period
  Jsii::Type.check_type(@automated_snapshot_retention_period, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "automatedSnapshotRetentionPeriod") unless @automated_snapshot_retention_period.nil?
  @availability_zone = availability_zone
  Jsii::Type.check_type(@availability_zone, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "availabilityZone") unless @availability_zone.nil?
  @availability_zone_relocation = availability_zone_relocation
  Jsii::Type.check_type(@availability_zone_relocation, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "availabilityZoneRelocation") unless @availability_zone_relocation.nil?
  @availability_zone_relocation_status = availability_zone_relocation_status
  Jsii::Type.check_type(@availability_zone_relocation_status, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "availabilityZoneRelocationStatus") unless @availability_zone_relocation_status.nil?
  @classic = classic
  Jsii::Type.check_type(@classic, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "classic") unless @classic.nil?
  @cluster_identifier = cluster_identifier
  Jsii::Type.check_type(@cluster_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "clusterIdentifier") unless @cluster_identifier.nil?
  @cluster_parameter_group_name = cluster_parameter_group_name
  Jsii::Type.check_type(@cluster_parameter_group_name, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19yZWRzaGlmdC5JQ2x1c3RlclBhcmFtZXRlckdyb3VwUmVmIn1dfX0=")), "clusterParameterGroupName") unless @cluster_parameter_group_name.nil?
  @cluster_security_groups = cluster_security_groups
  Jsii::Type.check_type(@cluster_security_groups, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InVuaW9uIjp7InR5cGVzIjpbeyJwcmltaXRpdmUiOiJzdHJpbmcifSx7ImZxbiI6ImF3cy1jZGstbGliLmludGVyZmFjZXMuYXdzX2VjMi5JU2VjdXJpdHlHcm91cFJlZiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuaW50ZXJmYWNlcy5hd3NfcmVkc2hpZnQuSUNsdXN0ZXJTZWN1cml0eUdyb3VwUmVmIn1dfX0sImtpbmQiOiJhcnJheSJ9fQ==")), "clusterSecurityGroups") unless @cluster_security_groups.nil?
  @cluster_subnet_group_name = cluster_subnet_group_name
  Jsii::Type.check_type(@cluster_subnet_group_name, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19yZWRzaGlmdC5JQ2x1c3RlclN1Ym5ldEdyb3VwUmVmIn1dfX0=")), "clusterSubnetGroupName") unless @cluster_subnet_group_name.nil?
  @cluster_version = cluster_version
  Jsii::Type.check_type(@cluster_version, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "clusterVersion") unless @cluster_version.nil?
  @defer_maintenance = defer_maintenance
  Jsii::Type.check_type(@defer_maintenance, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "deferMaintenance") unless @defer_maintenance.nil?
  @defer_maintenance_duration = defer_maintenance_duration
  Jsii::Type.check_type(@defer_maintenance_duration, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "deferMaintenanceDuration") unless @defer_maintenance_duration.nil?
  @defer_maintenance_end_time = defer_maintenance_end_time
  Jsii::Type.check_type(@defer_maintenance_end_time, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "deferMaintenanceEndTime") unless @defer_maintenance_end_time.nil?
  @defer_maintenance_start_time = defer_maintenance_start_time
  Jsii::Type.check_type(@defer_maintenance_start_time, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "deferMaintenanceStartTime") unless @defer_maintenance_start_time.nil?
  @destination_region = destination_region
  Jsii::Type.check_type(@destination_region, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "destinationRegion") unless @destination_region.nil?
  @elastic_ip = elastic_ip
  Jsii::Type.check_type(@elastic_ip, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19lYzIuSUVJUFJlZiJ9XX19")), "elasticIp") unless @elastic_ip.nil?
  @encrypted = encrypted
  Jsii::Type.check_type(@encrypted, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "encrypted") unless @encrypted.nil?
  @endpoint = endpoint.is_a?(Hash) ? ::AWSCDK::Redshift::CfnCluster::EndpointProperty.new(**endpoint.transform_keys(&:to_sym)) : endpoint
  Jsii::Type.check_type(@endpoint, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19yZWRzaGlmdC5DZm5DbHVzdGVyLkVuZHBvaW50UHJvcGVydHkifV19fQ==")), "endpoint") unless @endpoint.nil?
  @enhanced_vpc_routing = enhanced_vpc_routing
  Jsii::Type.check_type(@enhanced_vpc_routing, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "enhancedVpcRouting") unless @enhanced_vpc_routing.nil?
  @hsm_client_certificate_identifier = hsm_client_certificate_identifier
  Jsii::Type.check_type(@hsm_client_certificate_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "hsmClientCertificateIdentifier") unless @hsm_client_certificate_identifier.nil?
  @hsm_configuration_identifier = hsm_configuration_identifier
  Jsii::Type.check_type(@hsm_configuration_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "hsmConfigurationIdentifier") unless @hsm_configuration_identifier.nil?
  @iam_roles = iam_roles
  Jsii::Type.check_type(@iam_roles, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InVuaW9uIjp7InR5cGVzIjpbeyJwcmltaXRpdmUiOiJzdHJpbmcifSx7ImZxbiI6ImF3cy1jZGstbGliLmludGVyZmFjZXMuYXdzX2lhbS5JUm9sZVJlZiJ9XX19LCJraW5kIjoiYXJyYXkifX0=")), "iamRoles") unless @iam_roles.nil?
  @kms_key_id = kms_key_id
  Jsii::Type.check_type(@kms_key_id, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19rbXMuSUtleVJlZiJ9XX19")), "kmsKeyId") unless @kms_key_id.nil?
  @logging_properties = logging_properties.is_a?(Hash) ? ::AWSCDK::Redshift::CfnCluster::LoggingPropertiesProperty.new(**logging_properties.transform_keys(&:to_sym)) : logging_properties
  Jsii::Type.check_type(@logging_properties, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19yZWRzaGlmdC5DZm5DbHVzdGVyLkxvZ2dpbmdQcm9wZXJ0aWVzUHJvcGVydHkifV19fQ==")), "loggingProperties") unless @logging_properties.nil?
  @maintenance_track_name = maintenance_track_name
  Jsii::Type.check_type(@maintenance_track_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "maintenanceTrackName") unless @maintenance_track_name.nil?
  @manage_master_password = manage_master_password
  Jsii::Type.check_type(@manage_master_password, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "manageMasterPassword") unless @manage_master_password.nil?
  @manual_snapshot_retention_period = manual_snapshot_retention_period
  Jsii::Type.check_type(@manual_snapshot_retention_period, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "manualSnapshotRetentionPeriod") unless @manual_snapshot_retention_period.nil?
  @master_password_secret_kms_key_id = master_password_secret_kms_key_id
  Jsii::Type.check_type(@master_password_secret_kms_key_id, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19rbXMuSUtleVJlZiJ9XX19")), "masterPasswordSecretKmsKeyId") unless @master_password_secret_kms_key_id.nil?
  @master_user_password = master_user_password
  Jsii::Type.check_type(@master_user_password, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "masterUserPassword") unless @master_user_password.nil?
  @multi_az = multi_az
  Jsii::Type.check_type(@multi_az, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "multiAz") unless @multi_az.nil?
  @namespace_resource_policy = namespace_resource_policy
  Jsii::Type.check_type(@namespace_resource_policy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "namespaceResourcePolicy") unless @namespace_resource_policy.nil?
  @number_of_nodes = number_of_nodes
  Jsii::Type.check_type(@number_of_nodes, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "numberOfNodes") unless @number_of_nodes.nil?
  @owner_account = 
  Jsii::Type.check_type(@owner_account, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ownerAccount") unless @owner_account.nil?
  @port = port
  Jsii::Type.check_type(@port, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "port") unless @port.nil?
  @preferred_maintenance_window = preferred_maintenance_window
  Jsii::Type.check_type(@preferred_maintenance_window, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "preferredMaintenanceWindow") unless @preferred_maintenance_window.nil?
  @publicly_accessible = publicly_accessible
  Jsii::Type.check_type(@publicly_accessible, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "publiclyAccessible") unless @publicly_accessible.nil?
  @resource_action = resource_action
  Jsii::Type.check_type(@resource_action, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "resourceAction") unless @resource_action.nil?
  @revision_target = revision_target
  Jsii::Type.check_type(@revision_target, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "revisionTarget") unless @revision_target.nil?
  @rotate_encryption_key = rotate_encryption_key
  Jsii::Type.check_type(@rotate_encryption_key, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "rotateEncryptionKey") unless @rotate_encryption_key.nil?
  @snapshot_cluster_identifier = snapshot_cluster_identifier
  Jsii::Type.check_type(@snapshot_cluster_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "snapshotClusterIdentifier") unless @snapshot_cluster_identifier.nil?
  @snapshot_copy_grant_name = snapshot_copy_grant_name
  Jsii::Type.check_type(@snapshot_copy_grant_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "snapshotCopyGrantName") unless @snapshot_copy_grant_name.nil?
  @snapshot_copy_manual = snapshot_copy_manual
  Jsii::Type.check_type(@snapshot_copy_manual, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "snapshotCopyManual") unless @snapshot_copy_manual.nil?
  @snapshot_copy_retention_period = snapshot_copy_retention_period
  Jsii::Type.check_type(@snapshot_copy_retention_period, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "snapshotCopyRetentionPeriod") unless @snapshot_copy_retention_period.nil?
  @snapshot_identifier = snapshot_identifier
  Jsii::Type.check_type(@snapshot_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "snapshotIdentifier") unless @snapshot_identifier.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
  @vpc_security_group_ids = vpc_security_group_ids
  Jsii::Type.check_type(@vpc_security_group_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InVuaW9uIjp7InR5cGVzIjpbeyJwcmltaXRpdmUiOiJzdHJpbmcifSx7ImZxbiI6ImF3cy1jZGstbGliLmludGVyZmFjZXMuYXdzX2VjMi5JU2VjdXJpdHlHcm91cFJlZiJ9XX19LCJraW5kIjoiYXJyYXkifX0=")), "vpcSecurityGroupIds") unless @vpc_security_group_ids.nil?
end

Instance Attribute Details

#allow_version_upgradeBoolean, ... (readonly)

If true , major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster.

When a new major version of the Amazon Redshift engine is released, you can request that the service automatically apply upgrades during the maintenance window to the Amazon Redshift engine that is running on your cluster.

Default: true



225
226
227
# File 'redshift/cfn_cluster_props.rb', line 225

def allow_version_upgrade
  @allow_version_upgrade
end

#aqua_configuration_statusString? (readonly)

This parameter is retired.

It does not set the AQUA configuration status. Amazon Redshift automatically determines whether to use AQUA (Advanced Query Accelerator).



232
233
234
# File 'redshift/cfn_cluster_props.rb', line 232

def aqua_configuration_status
  @aqua_configuration_status
end

#automated_snapshot_retention_periodNumeric? (readonly)

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 in the Amazon Redshift API Reference .

Default: 1

Constraints: Must be a value from 0 to 35.



243
244
245
# File 'redshift/cfn_cluster_props.rb', line 243

def automated_snapshot_retention_period
  @automated_snapshot_retention_period
end

#availability_zoneString? (readonly)

The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster.

For example, if you have several EC2 instances running in a specific Availability Zone, then you might want the cluster to be provisioned in the same zone in order to decrease network latency.

Default: A random, system-chosen Availability Zone in the region that is specified by the endpoint.

Example: us-east-2d

Constraint: The specified Availability Zone must be in the same region as the current endpoint.



256
257
258
# File 'redshift/cfn_cluster_props.rb', line 256

def availability_zone
  @availability_zone
end

#availability_zone_relocationBoolean, ... (readonly)

The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is created.



261
262
263
# File 'redshift/cfn_cluster_props.rb', line 261

def availability_zone_relocation
  @availability_zone_relocation
end

#availability_zone_relocation_statusString? (readonly)

Describes the status of the Availability Zone relocation operation.



266
267
268
# File 'redshift/cfn_cluster_props.rb', line 266

def availability_zone_relocation_status
  @availability_zone_relocation_status
end

#classicBoolean, ... (readonly)

A boolean value indicating whether the resize operation is using the classic resize process.

If you don't provide this parameter or set the value to false , the resize type is elastic.



273
274
275
# File 'redshift/cfn_cluster_props.rb', line 273

def classic
  @classic
end

#cluster_identifierString? (readonly)

A unique identifier for the cluster.

You use this identifier to refer to the cluster for any subsequent cluster operations such as deleting or modifying. The identifier also appears in the Amazon Redshift console.

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 .

Example: myexamplecluster



290
291
292
# File 'redshift/cfn_cluster_props.rb', line 290

def cluster_identifier
  @cluster_identifier
end

#cluster_parameter_group_nameString, ... (readonly)

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.


303
304
305
# File 'redshift/cfn_cluster_props.rb', line 303

def cluster_parameter_group_name
  @cluster_parameter_group_name
end

#cluster_security_groupsArray<String, AWSCDK::Interfaces::AWSEC2::ISecurityGroupRef, AWSCDK::Interfaces::AWSRedshift::IClusterSecurityGroupRef>? (readonly)

A list of security groups to be associated with this cluster.

Default: The default cluster security group for Amazon Redshift.



310
311
312
# File 'redshift/cfn_cluster_props.rb', line 310

def cluster_security_groups
  @cluster_security_groups
end

#cluster_subnet_group_nameString, ... (readonly)

The name of a cluster subnet group to be associated with this cluster.

If this parameter is not provided the resulting cluster will be deployed outside virtual private cloud (VPC).



317
318
319
# File 'redshift/cfn_cluster_props.rb', line 317

def cluster_subnet_group_name
  @cluster_subnet_group_name
end

#cluster_typeString (readonly)

The type of the cluster. When cluster type is specified as.

  • single-node , the NumberOfNodes parameter is not required.
  • multi-node , the NumberOfNodes parameter is required.

Valid Values: multi-node | single-node

Default: multi-node



179
180
181
# File 'redshift/cfn_cluster_props.rb', line 179

def cluster_type
  @cluster_type
end

#cluster_versionString? (readonly)

The version of the Amazon Redshift engine software that you want to deploy on the cluster.

The version selected runs on all the nodes in the cluster.

Constraints: Only version 1.0 is currently available.

Example: 1.0



328
329
330
# File 'redshift/cfn_cluster_props.rb', line 328

def cluster_version
  @cluster_version
end

#db_nameString (readonly)

The name of the first database to be created when the cluster is created.

To create additional databases after the cluster is created, connect to the cluster with a SQL client and use SQL commands to create a database. For more information, go to Create a Database in the Amazon Redshift Database Developer Guide.

Default: dev

Constraints:

  • Must contain 1 to 64 alphanumeric characters.
  • Must contain only lowercase letters.
  • Cannot be a word that is reserved by the service. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.


194
195
196
# File 'redshift/cfn_cluster_props.rb', line 194

def db_name
  @db_name
end

#defer_maintenanceBoolean, ... (readonly)

A Boolean indicating whether to enable the deferred maintenance window.



333
334
335
# File 'redshift/cfn_cluster_props.rb', line 333

def defer_maintenance
  @defer_maintenance
end

#defer_maintenance_durationNumeric? (readonly)

An integer indicating the duration of the maintenance window in days.

If you specify a duration, you can't specify an end time. The duration must be 45 days or less.



340
341
342
# File 'redshift/cfn_cluster_props.rb', line 340

def defer_maintenance_duration
  @defer_maintenance_duration
end

#defer_maintenance_end_timeString? (readonly)

A timestamp for the end of the time period when we defer maintenance.



345
346
347
# File 'redshift/cfn_cluster_props.rb', line 345

def defer_maintenance_end_time
  @defer_maintenance_end_time
end

#defer_maintenance_start_timeString? (readonly)

A timestamp indicating the start time for the deferred maintenance window.



350
351
352
# File 'redshift/cfn_cluster_props.rb', line 350

def defer_maintenance_start_time
  @defer_maintenance_start_time
end

#destination_regionString? (readonly)

The destination region that snapshots are automatically copied to when cross-region snapshot copy is enabled.



355
356
357
# File 'redshift/cfn_cluster_props.rb', line 355

def destination_region
  @destination_region
end

#elastic_ipString, ... (readonly)

The Elastic IP (EIP) address for the cluster.

Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. Don't specify the Elastic IP address for a publicly accessible cluster with availability zone relocation turned on. For more information about provisioning clusters in EC2-VPC, go to Supported Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.



362
363
364
# File 'redshift/cfn_cluster_props.rb', line 362

def elastic_ip
  @elastic_ip
end

#encryptedBoolean, ... (readonly)

If true , the data in the cluster is encrypted at rest.

If you set the value on this parameter to false , the request will fail.

Default: true



371
372
373
# File 'redshift/cfn_cluster_props.rb', line 371

def encrypted
  @encrypted
end

#endpointAWSCDK::IResolvable, ... (readonly)

The connection endpoint.



376
377
378
# File 'redshift/cfn_cluster_props.rb', line 376

def endpoint
  @endpoint
end

#enhanced_vpc_routingBoolean, ... (readonly)

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



387
388
389
# File 'redshift/cfn_cluster_props.rb', line 387

def enhanced_vpc_routing
  @enhanced_vpc_routing
end

#hsm_client_certificate_identifierString? (readonly)

Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM.



392
393
394
# File 'redshift/cfn_cluster_props.rb', line 392

def hsm_client_certificate_identifier
  @hsm_client_certificate_identifier
end

#hsm_configuration_identifierString? (readonly)

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.



397
398
399
# File 'redshift/cfn_cluster_props.rb', line 397

def hsm_configuration_identifier
  @hsm_configuration_identifier
end

#iam_rolesArray<String, AWSCDK::Interfaces::AWSIAM::IRoleRef>? (readonly)

A list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS 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 .



406
407
408
# File 'redshift/cfn_cluster_props.rb', line 406

def iam_roles
  @iam_roles
end

#kms_key_idString, ... (readonly)

The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the cluster.



411
412
413
# File 'redshift/cfn_cluster_props.rb', line 411

def kms_key_id
  @kms_key_id
end

#logging_propertiesAWSCDK::IResolvable, ... (readonly)

Specifies logging information, such as queries and connection attempts, for the specified Amazon Redshift cluster.



416
417
418
# File 'redshift/cfn_cluster_props.rb', line 416

def logging_properties
  @logging_properties
end

#maintenance_track_nameString? (readonly)

An optional parameter for the name of the maintenance track for the cluster.

If you don't provide a maintenance track name, the cluster is assigned to the current track.



423
424
425
# File 'redshift/cfn_cluster_props.rb', line 423

def maintenance_track_name
  @maintenance_track_name
end

#manage_master_passwordBoolean, ... (readonly)

If true , Amazon Redshift uses AWS Secrets Manager to manage this cluster's admin credentials.

You can't use MasterUserPassword if ManageMasterPassword is true. If ManageMasterPassword is false or not set, Amazon Redshift uses MasterUserPassword for the admin user account's password.



430
431
432
# File 'redshift/cfn_cluster_props.rb', line 430

def manage_master_password
  @manage_master_password
end

#manual_snapshot_retention_periodNumeric? (readonly)

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.



439
440
441
# File 'redshift/cfn_cluster_props.rb', line 439

def manual_snapshot_retention_period
  @manual_snapshot_retention_period
end

#master_password_secret_kms_key_idString, ... (readonly)

The ID of the AWS Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret.

You can only use this parameter if ManageMasterPassword is true.



446
447
448
# File 'redshift/cfn_cluster_props.rb', line 446

def master_password_secret_kms_key_id
  @master_password_secret_kms_key_id
end

#master_user_passwordString? (readonly)

The password associated with the admin user account for the cluster that is being created.

You can't use MasterUserPassword if ManageMasterPassword is true .

Constraints:

  • Must be between 8 and 64 characters in length.
  • Must contain at least one uppercase letter.
  • Must contain at least one lowercase letter.
  • Must contain one number.
  • Can be any printable ASCII character (ASCII code 33-126) except ' (single quote), " (double quote), \ , / , or @ .


461
462
463
# File 'redshift/cfn_cluster_props.rb', line 461

def master_user_password
  @master_user_password
end

#master_usernameString (readonly)

The user name associated with the admin user account for the cluster that is being created.

Constraints:

  • Must be 1 - 128 alphanumeric characters or hyphens. The user name can't be PUBLIC .
  • Must contain only lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen.
  • The first character must be a letter.
  • Must not contain a colon (:) or a slash (/).
  • Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.


207
208
209
# File 'redshift/cfn_cluster_props.rb', line 207

def master_username
  @master_username
end

#multi_azBoolean, ... (readonly)

A boolean indicating whether Amazon Redshift should deploy the cluster in two Availability Zones.

The default is false.



468
469
470
# File 'redshift/cfn_cluster_props.rb', line 468

def multi_az
  @multi_az
end

#namespace_resource_policyObject? (readonly)

The policy that is attached to a resource.



473
474
475
# File 'redshift/cfn_cluster_props.rb', line 473

def namespace_resource_policy
  @namespace_resource_policy
end

#node_typeString (readonly)

The node type to be provisioned for the cluster.

For information about node types, go to Working with Clusters in the Amazon Redshift Cluster Management Guide .

Valid Values: dc2.large | dc2.8xlarge | ra3.large | ra3.xlplus | ra3.4xlarge | ra3.16xlarge



216
217
218
# File 'redshift/cfn_cluster_props.rb', line 216

def node_type
  @node_type
end

#number_of_nodesNumeric? (readonly)

The number of compute nodes in the cluster.

This parameter is required when the ClusterType parameter is specified as multi-node .

For information about determining how many nodes you need, go to Working with Clusters in the Amazon Redshift Cluster Management Guide .

If you don't specify this parameter, you get a single-node cluster. When requesting a multi-node cluster, you must specify the number of nodes that you want in the cluster.

Default: 1

Constraints: Value must be at least 1 and no more than 100.



488
489
490
# File 'redshift/cfn_cluster_props.rb', line 488

def number_of_nodes
  @number_of_nodes
end

#owner_accountString? (readonly)

The AWS 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.



495
496
497
# File 'redshift/cfn_cluster_props.rb', line 495

def 
  @owner_account
end

#portNumeric? (readonly)

The port number on which the cluster accepts incoming connections.

The cluster is accessible only via the JDBC and ODBC connection strings. Part of the connection string requires the port on which the cluster will listen for incoming connections.

Default: 5439

Valid Values:

  • For clusters with ra3 nodes - Select a port within the ranges 5431-5455 or 8191-8215 . (If you have an existing cluster with ra3 nodes, it isn't required that you change the port to these ranges.)
  • For clusters with dc2 nodes - Select a port within the range 1150-65535 .


509
510
511
# File 'redshift/cfn_cluster_props.rb', line 509

def port
  @port
end

#preferred_maintenance_windowString? (readonly)

The weekly time range (in UTC) during which automated cluster maintenance can occur.

Format: ddd:hh24:mi-ddd:hh24:mi

Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week. 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.



522
523
524
# File 'redshift/cfn_cluster_props.rb', line 522

def preferred_maintenance_window
  @preferred_maintenance_window
end

#publicly_accessibleBoolean, ... (readonly)

If true , the cluster can be accessed from a public network.

Default: false



529
530
531
# File 'redshift/cfn_cluster_props.rb', line 529

def publicly_accessible
  @publicly_accessible
end

#resource_actionString? (readonly)

The Amazon Redshift operation to be performed.

Supported operations are pause-cluster , resume-cluster , and failover-primary-compute .



536
537
538
# File 'redshift/cfn_cluster_props.rb', line 536

def resource_action
  @resource_action
end

#revision_targetString? (readonly)

Describes a RevisionTarget object.



541
542
543
# File 'redshift/cfn_cluster_props.rb', line 541

def revision_target
  @revision_target
end

#rotate_encryption_keyBoolean, ... (readonly)

Rotates the encryption keys for a cluster.



546
547
548
# File 'redshift/cfn_cluster_props.rb', line 546

def rotate_encryption_key
  @rotate_encryption_key
end

#snapshot_cluster_identifierString? (readonly)

The name of the cluster the source snapshot was created from.

This parameter is required if your user or role has a policy containing a snapshot resource element that specifies anything other than * for the cluster name.



553
554
555
# File 'redshift/cfn_cluster_props.rb', line 553

def snapshot_cluster_identifier
  @snapshot_cluster_identifier
end

#snapshot_copy_grant_nameString? (readonly)

The name of the snapshot copy grant.



558
559
560
# File 'redshift/cfn_cluster_props.rb', line 558

def snapshot_copy_grant_name
  @snapshot_copy_grant_name
end

#snapshot_copy_manualBoolean, ... (readonly)

Indicates whether to apply the snapshot retention period to newly copied manual snapshots instead of automated snapshots.



563
564
565
# File 'redshift/cfn_cluster_props.rb', line 563

def snapshot_copy_manual
  @snapshot_copy_manual
end

#snapshot_copy_retention_periodNumeric? (readonly)

The number of days to retain automated snapshots in the destination AWS Region after they are copied from the source AWS Region .

By default, this only changes the retention period of copied automated snapshots.

If you decrease the retention period for automated snapshots that are copied to a destination AWS Region , Amazon Redshift deletes any existing automated snapshots that were copied to the destination AWS Region and that fall outside of the new retention period.

Constraints: Must be at least 1 and no more than 35 for automated snapshots.

If you specify the manual option, only newly copied manual snapshots will have the new retention period.

If you specify the value of -1 newly copied manual snapshots are retained indefinitely.

Constraints: The number of days must be either -1 or an integer between 1 and 3,653 for manual snapshots.



580
581
582
# File 'redshift/cfn_cluster_props.rb', line 580

def snapshot_copy_retention_period
  @snapshot_copy_retention_period
end

#snapshot_identifierString? (readonly)

The name of the snapshot from which to create the new cluster.

This parameter isn't case sensitive. You must specify this parameter or snapshot_arn , but not both.

Example: my-snapshot-id



589
590
591
# File 'redshift/cfn_cluster_props.rb', line 589

def snapshot_identifier
  @snapshot_identifier
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

A list of tag instances.



594
595
596
# File 'redshift/cfn_cluster_props.rb', line 594

def tags
  @tags
end

#vpc_security_group_idsArray<String, AWSCDK::Interfaces::AWSEC2::ISecurityGroupRef>? (readonly)

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.



601
602
603
# File 'redshift/cfn_cluster_props.rb', line 601

def vpc_security_group_ids
  @vpc_security_group_ids
end

Class Method Details

.jsii_propertiesObject



603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
# File 'redshift/cfn_cluster_props.rb', line 603

def self.jsii_properties
  {
    :cluster_type => "clusterType",
    :db_name => "dbName",
    :master_username => "masterUsername",
    :node_type => "nodeType",
    :allow_version_upgrade => "allowVersionUpgrade",
    :aqua_configuration_status => "aquaConfigurationStatus",
    :automated_snapshot_retention_period => "automatedSnapshotRetentionPeriod",
    :availability_zone => "availabilityZone",
    :availability_zone_relocation => "availabilityZoneRelocation",
    :availability_zone_relocation_status => "availabilityZoneRelocationStatus",
    :classic => "classic",
    :cluster_identifier => "clusterIdentifier",
    :cluster_parameter_group_name => "clusterParameterGroupName",
    :cluster_security_groups => "clusterSecurityGroups",
    :cluster_subnet_group_name => "clusterSubnetGroupName",
    :cluster_version => "clusterVersion",
    :defer_maintenance => "deferMaintenance",
    :defer_maintenance_duration => "deferMaintenanceDuration",
    :defer_maintenance_end_time => "deferMaintenanceEndTime",
    :defer_maintenance_start_time => "deferMaintenanceStartTime",
    :destination_region => "destinationRegion",
    :elastic_ip => "elasticIp",
    :encrypted => "encrypted",
    :endpoint => "endpoint",
    :enhanced_vpc_routing => "enhancedVpcRouting",
    :hsm_client_certificate_identifier => "hsmClientCertificateIdentifier",
    :hsm_configuration_identifier => "hsmConfigurationIdentifier",
    :iam_roles => "iamRoles",
    :kms_key_id => "kmsKeyId",
    :logging_properties => "loggingProperties",
    :maintenance_track_name => "maintenanceTrackName",
    :manage_master_password => "manageMasterPassword",
    :manual_snapshot_retention_period => "manualSnapshotRetentionPeriod",
    :master_password_secret_kms_key_id => "masterPasswordSecretKmsKeyId",
    :master_user_password => "masterUserPassword",
    :multi_az => "multiAz",
    :namespace_resource_policy => "namespaceResourcePolicy",
    :number_of_nodes => "numberOfNodes",
    :owner_account => "ownerAccount",
    :port => "port",
    :preferred_maintenance_window => "preferredMaintenanceWindow",
    :publicly_accessible => "publiclyAccessible",
    :resource_action => "resourceAction",
    :revision_target => "revisionTarget",
    :rotate_encryption_key => "rotateEncryptionKey",
    :snapshot_cluster_identifier => "snapshotClusterIdentifier",
    :snapshot_copy_grant_name => "snapshotCopyGrantName",
    :snapshot_copy_manual => "snapshotCopyManual",
    :snapshot_copy_retention_period => "snapshotCopyRetentionPeriod",
    :snapshot_identifier => "snapshotIdentifier",
    :tags => "tags",
    :vpc_security_group_ids => "vpcSecurityGroupIds",
  }
end

Instance Method Details

#to_jsiiObject



660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
# File 'redshift/cfn_cluster_props.rb', line 660

def to_jsii
  result = {}
  result.merge!({
    "clusterType" => @cluster_type,
    "dbName" => @db_name,
    "masterUsername" => @master_username,
    "nodeType" => @node_type,
    "allowVersionUpgrade" => @allow_version_upgrade,
    "aquaConfigurationStatus" => @aqua_configuration_status,
    "automatedSnapshotRetentionPeriod" => @automated_snapshot_retention_period,
    "availabilityZone" => @availability_zone,
    "availabilityZoneRelocation" => @availability_zone_relocation,
    "availabilityZoneRelocationStatus" => @availability_zone_relocation_status,
    "classic" => @classic,
    "clusterIdentifier" => @cluster_identifier,
    "clusterParameterGroupName" => @cluster_parameter_group_name,
    "clusterSecurityGroups" => @cluster_security_groups,
    "clusterSubnetGroupName" => @cluster_subnet_group_name,
    "clusterVersion" => @cluster_version,
    "deferMaintenance" => @defer_maintenance,
    "deferMaintenanceDuration" => @defer_maintenance_duration,
    "deferMaintenanceEndTime" => @defer_maintenance_end_time,
    "deferMaintenanceStartTime" => @defer_maintenance_start_time,
    "destinationRegion" => @destination_region,
    "elasticIp" => @elastic_ip,
    "encrypted" => @encrypted,
    "endpoint" => @endpoint,
    "enhancedVpcRouting" => @enhanced_vpc_routing,
    "hsmClientCertificateIdentifier" => @hsm_client_certificate_identifier,
    "hsmConfigurationIdentifier" => @hsm_configuration_identifier,
    "iamRoles" => @iam_roles,
    "kmsKeyId" => @kms_key_id,
    "loggingProperties" => @logging_properties,
    "maintenanceTrackName" => @maintenance_track_name,
    "manageMasterPassword" => @manage_master_password,
    "manualSnapshotRetentionPeriod" => @manual_snapshot_retention_period,
    "masterPasswordSecretKmsKeyId" => @master_password_secret_kms_key_id,
    "masterUserPassword" => @master_user_password,
    "multiAz" => @multi_az,
    "namespaceResourcePolicy" => @namespace_resource_policy,
    "numberOfNodes" => @number_of_nodes,
    "ownerAccount" => @owner_account,
    "port" => @port,
    "preferredMaintenanceWindow" => @preferred_maintenance_window,
    "publiclyAccessible" => @publicly_accessible,
    "resourceAction" => @resource_action,
    "revisionTarget" => @revision_target,
    "rotateEncryptionKey" => @rotate_encryption_key,
    "snapshotClusterIdentifier" => @snapshot_cluster_identifier,
    "snapshotCopyGrantName" => @snapshot_copy_grant_name,
    "snapshotCopyManual" => @snapshot_copy_manual,
    "snapshotCopyRetentionPeriod" => @snapshot_copy_retention_period,
    "snapshotIdentifier" => @snapshot_identifier,
    "tags" => @tags,
    "vpcSecurityGroupIds" => @vpc_security_group_ids,
  })
  result.compact
end