Class: AWSCDK::Redshift::CfnCluster

Inherits:
CfnResource
  • Object
show all
Includes:
IInspectable, ITaggable, Interfaces::AWSRedshift::IClusterRef
Defined in:
redshift/cfn_cluster.rb

Overview

Specifies a cluster. A cluster is a fully managed data warehouse that consists of a set of compute nodes.

To create a cluster in Virtual Private Cloud (VPC), you must provide a cluster subnet group name. The cluster subnet group identifies the subnets of your VPC that Amazon Redshift uses when creating the cluster. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide .

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(scope, id, props) ⇒ CfnCluster

Create a new AWS::Redshift::Cluster.

Parameters:

  • scope (Constructs::Construct)

    Scope in which this resource is defined.

  • id (String)

    Construct identifier for this resource (unique in its scope).

  • props (AWSCDK::Redshift::CfnClusterProps)

    Resource properties.



20
21
22
23
24
25
26
# File 'redshift/cfn_cluster.rb', line 20

def initialize(scope, id, props)
  props = props.is_a?(Hash) ? ::AWSCDK::Redshift::CfnClusterProps.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope")
  Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id")
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmVkc2hpZnQuQ2ZuQ2x1c3RlclByb3BzIn0=")), "props")
  Jsii::Object.instance_method(:initialize).bind(self).call(scope, id, props)
end

Class Method Details

.CFN_RESOURCE_TYPE_NAMEString

The CloudFormation resource type name for this resource class.

Returns:

  • (String)


230
231
232
# File 'redshift/cfn_cluster.rb', line 230

def self.CFN_RESOURCE_TYPE_NAME()
  Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_redshift.CfnCluster", "CFN_RESOURCE_TYPE_NAME")
end

.is_cfn_cluster(x) ⇒ Boolean

Checks whether the given object is a CfnCluster.

Parameters:

  • x (Object)

Returns:

  • (Boolean)


132
133
134
135
# File 'redshift/cfn_cluster.rb', line 132

def self.is_cfn_cluster(x)
  Jsii::Type.check_type(x, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "x")
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_redshift.CfnCluster", "isCfnCluster", [x])
end

.jsii_overridable_methodsObject



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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
# File 'redshift/cfn_cluster.rb', line 28

def self.jsii_overridable_methods
  {
    :node => { kind: :property, name: "node", is_optional: false },
    :creation_stack => { kind: :property, name: "creationStack", is_optional: false },
    :logical_id => { kind: :property, name: "logicalId", is_optional: false },
    :stack => { kind: :property, name: "stack", is_optional: false },
    :ref => { kind: :property, name: "ref", is_optional: false },
    :cfn_options => { kind: :property, name: "cfnOptions", is_optional: false },
    :cfn_properties => { kind: :property, name: "cfnProperties", is_optional: false },
    :cfn_property_names => { kind: :property, name: "cfnPropertyNames", is_optional: false },
    :cfn_resource_type => { kind: :property, name: "cfnResourceType", is_optional: false },
    :env => { kind: :property, name: "env", is_optional: false },
    :updated_properites => { kind: :property, name: "updatedProperites", is_optional: false },
    :updated_properties => { kind: :property, name: "updatedProperties", is_optional: false },
    :attr_cluster_namespace_arn => { kind: :property, name: "attrClusterNamespaceArn", is_optional: false },
    :attr_defer_maintenance_identifier => { kind: :property, name: "attrDeferMaintenanceIdentifier", is_optional: false },
    :attr_endpoint_address => { kind: :property, name: "attrEndpointAddress", is_optional: false },
    :attr_endpoint_port => { kind: :property, name: "attrEndpointPort", is_optional: false },
    :attr_id => { kind: :property, name: "attrId", is_optional: false },
    :attr_master_password_secret_arn => { kind: :property, name: "attrMasterPasswordSecretArn", is_optional: false },
    :cluster_ref => { kind: :property, name: "clusterRef", is_optional: false },
    :tags => { kind: :property, name: "tags", is_optional: false },
    :cluster_type => { kind: :property, name: "clusterType", is_optional: false },
    :db_name => { kind: :property, name: "dbName", is_optional: false },
    :master_username => { kind: :property, name: "masterUsername", is_optional: false },
    :namespace_resource_policy => { kind: :property, name: "namespaceResourcePolicy", is_optional: false },
    :node_type => { kind: :property, name: "nodeType", is_optional: false },
    :allow_version_upgrade => { kind: :property, name: "allowVersionUpgrade", is_optional: true },
    :aqua_configuration_status => { kind: :property, name: "aquaConfigurationStatus", is_optional: true },
    :automated_snapshot_retention_period => { kind: :property, name: "automatedSnapshotRetentionPeriod", is_optional: true },
    :availability_zone => { kind: :property, name: "availabilityZone", is_optional: true },
    :availability_zone_relocation => { kind: :property, name: "availabilityZoneRelocation", is_optional: true },
    :availability_zone_relocation_status => { kind: :property, name: "availabilityZoneRelocationStatus", is_optional: true },
    :classic => { kind: :property, name: "classic", is_optional: true },
    :cluster_identifier => { kind: :property, name: "clusterIdentifier", is_optional: true },
    :cluster_parameter_group_name => { kind: :property, name: "clusterParameterGroupName", is_optional: true },
    :cluster_security_groups => { kind: :property, name: "clusterSecurityGroups", is_optional: true },
    :cluster_subnet_group_name => { kind: :property, name: "clusterSubnetGroupName", is_optional: true },
    :cluster_version => { kind: :property, name: "clusterVersion", is_optional: true },
    :defer_maintenance => { kind: :property, name: "deferMaintenance", is_optional: true },
    :defer_maintenance_duration => { kind: :property, name: "deferMaintenanceDuration", is_optional: true },
    :defer_maintenance_end_time => { kind: :property, name: "deferMaintenanceEndTime", is_optional: true },
    :defer_maintenance_start_time => { kind: :property, name: "deferMaintenanceStartTime", is_optional: true },
    :destination_region => { kind: :property, name: "destinationRegion", is_optional: true },
    :elastic_ip => { kind: :property, name: "elasticIp", is_optional: true },
    :encrypted => { kind: :property, name: "encrypted", is_optional: true },
    :endpoint => { kind: :property, name: "endpoint", is_optional: true },
    :enhanced_vpc_routing => { kind: :property, name: "enhancedVpcRouting", is_optional: true },
    :hsm_client_certificate_identifier => { kind: :property, name: "hsmClientCertificateIdentifier", is_optional: true },
    :hsm_configuration_identifier => { kind: :property, name: "hsmConfigurationIdentifier", is_optional: true },
    :iam_roles => { kind: :property, name: "iamRoles", is_optional: true },
    :kms_key_id => { kind: :property, name: "kmsKeyId", is_optional: true },
    :logging_properties => { kind: :property, name: "loggingProperties", is_optional: true },
    :maintenance_track_name => { kind: :property, name: "maintenanceTrackName", is_optional: true },
    :manage_master_password => { kind: :property, name: "manageMasterPassword", is_optional: true },
    :manual_snapshot_retention_period => { kind: :property, name: "manualSnapshotRetentionPeriod", is_optional: true },
    :master_password_secret_kms_key_id => { kind: :property, name: "masterPasswordSecretKmsKeyId", is_optional: true },
    :master_user_password => { kind: :property, name: "masterUserPassword", is_optional: true },
    :multi_az => { kind: :property, name: "multiAz", is_optional: true },
    :number_of_nodes => { kind: :property, name: "numberOfNodes", is_optional: true },
    :owner_account => { kind: :property, name: "ownerAccount", is_optional: true },
    :port => { kind: :property, name: "port", is_optional: true },
    :preferred_maintenance_window => { kind: :property, name: "preferredMaintenanceWindow", is_optional: true },
    :publicly_accessible => { kind: :property, name: "publiclyAccessible", is_optional: true },
    :resource_action => { kind: :property, name: "resourceAction", is_optional: true },
    :revision_target => { kind: :property, name: "revisionTarget", is_optional: true },
    :rotate_encryption_key => { kind: :property, name: "rotateEncryptionKey", is_optional: true },
    :snapshot_cluster_identifier => { kind: :property, name: "snapshotClusterIdentifier", is_optional: true },
    :snapshot_copy_grant_name => { kind: :property, name: "snapshotCopyGrantName", is_optional: true },
    :snapshot_copy_manual => { kind: :property, name: "snapshotCopyManual", is_optional: true },
    :snapshot_copy_retention_period => { kind: :property, name: "snapshotCopyRetentionPeriod", is_optional: true },
    :snapshot_identifier => { kind: :property, name: "snapshotIdentifier", is_optional: true },
    :tags_raw => { kind: :property, name: "tagsRaw", is_optional: true },
    :vpc_security_group_ids => { kind: :property, name: "vpcSecurityGroupIds", is_optional: true },
    :to_string => { kind: :method, name: "toString", is_optional: false },
    :with => { kind: :method, name: "with", is_optional: false },
    :override_logical_id => { kind: :method, name: "overrideLogicalId", is_optional: false },
    :add_deletion_override => { kind: :method, name: "addDeletionOverride", is_optional: false },
    :add_dependency => { kind: :method, name: "addDependency", is_optional: false },
    :add_depends_on => { kind: :method, name: "addDependsOn", is_optional: false },
    :add_metadata => { kind: :method, name: "addMetadata", is_optional: false },
    :add_override => { kind: :method, name: "addOverride", is_optional: false },
    :add_property_deletion_override => { kind: :method, name: "addPropertyDeletionOverride", is_optional: false },
    :add_property_override => { kind: :method, name: "addPropertyOverride", is_optional: false },
    :apply_cross_stack_reference_strength => { kind: :method, name: "applyCrossStackReferenceStrength", is_optional: false },
    :apply_removal_policy => { kind: :method, name: "applyRemovalPolicy", is_optional: false },
    :cfn_property_name => { kind: :method, name: "cfnPropertyName", is_optional: false },
    :get_att => { kind: :method, name: "getAtt", is_optional: false },
    :get_metadata => { kind: :method, name: "getMetadata", is_optional: false },
    :obtain_dependencies => { kind: :method, name: "obtainDependencies", is_optional: false },
    :obtain_resource_dependencies => { kind: :method, name: "obtainResourceDependencies", is_optional: false },
    :remove_dependency => { kind: :method, name: "removeDependency", is_optional: false },
    :render_properties => { kind: :method, name: "renderProperties", is_optional: false },
    :replace_dependency => { kind: :method, name: "replaceDependency", is_optional: false },
    :should_synthesize => { kind: :method, name: "shouldSynthesize", is_optional: false },
    :validate_properties => { kind: :method, name: "validateProperties", is_optional: false },
    :inspect => { kind: :method, name: "inspect", is_optional: false },
  }
end

Instance Method Details

#add_deletion_override(path) ⇒ void

This method returns an undefined value.

Syntactic sugar for addOverride(path, undefined).

Parameters:

  • path (String)

    The path of the value to delete.



957
958
959
960
# File 'redshift/cfn_cluster.rb', line 957

def add_deletion_override(path)
  Jsii::Type.check_type(path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "path")
  jsii_call_method("addDeletionOverride", [path])
end

#add_dependency(target) ⇒ void

This method returns an undefined value.

Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

This can be used for resources across stacks (or nested stack) boundaries and the dependency will automatically be transferred to the relevant scope.

Parameters:



969
970
971
972
# File 'redshift/cfn_cluster.rb', line 969

def add_dependency(target)
  Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "target")
  jsii_call_method("addDependency", [target])
end

#add_depends_on(target) ⇒ void

Deprecated.

use addDependency

This method returns an undefined value.

Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

Parameters:



979
980
981
982
# File 'redshift/cfn_cluster.rb', line 979

def add_depends_on(target)
  Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "target")
  jsii_call_method("addDependsOn", [target])
end

#add_metadata(key, value) ⇒ void

This method returns an undefined value.

Add a value to the CloudFormation Resource Metadata.



990
991
992
993
994
# File 'redshift/cfn_cluster.rb', line 990

def (key, value)
  Jsii::Type.check_type(key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "key")
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "value")
  jsii_call_method("addMetadata", [key, value])
end

#add_override(path, value) ⇒ void

This method returns an undefined value.

Adds an override to the synthesized CloudFormation resource.

To add a property override, either use add_property_override or prefix path with "Properties." (i.e. Properties.TopicName).

If the override is nested, separate each nested level using a dot (.) in the path parameter. If there is an array as part of the nesting, specify the index in the path.

To include a literal . in the property name, prefix with a \. In most programming languages you will need to write this as "\\." because the \ itself will need to be escaped.

For example,

# Example automatically generated from non-compiling source. May contain errors.
cfn_resource.add_override("Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes", ["myattribute"])
cfn_resource.add_override("Properties.GlobalSecondaryIndexes.1.ProjectionType", "INCLUDE")

would add the overrides

"Properties": {
  "GlobalSecondaryIndexes": [
    {
      "Projection": {
        "NonKeyAttributes": [ "myattribute" ]
        ...
      }
      ...
    },
    {
      "ProjectionType": "INCLUDE"
      ...
    },
  ]
  ...
}

The value argument to add_override will not be processed or translated in any way. Pass raw JSON values in here with the correct capitalization for CloudFormation. If you pass CDK classes or structs, they will be rendered with lowercased key names, and CloudFormation will reject the template.

Parameters:

  • path (String)
    • The path of the property, you can use dot notation to override values in complex types.
  • value (Object)
    • The value.


1047
1048
1049
1050
1051
# File 'redshift/cfn_cluster.rb', line 1047

def add_override(path, value)
  Jsii::Type.check_type(path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "path")
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "value")
  jsii_call_method("addOverride", [path, value])
end

#add_property_deletion_override(property_path) ⇒ void

This method returns an undefined value.

Adds an override that deletes the value of a property from the resource definition.

Parameters:

  • property_path (String)

    The path to the property.



1057
1058
1059
1060
# File 'redshift/cfn_cluster.rb', line 1057

def add_property_deletion_override(property_path)
  Jsii::Type.check_type(property_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "propertyPath")
  jsii_call_method("addPropertyDeletionOverride", [property_path])
end

#add_property_override(property_path, value) ⇒ void

This method returns an undefined value.

Adds an override to a resource property.

Syntactic sugar for addOverride("Properties.<...>", value).

Parameters:

  • property_path (String)

    The path of the property.

  • value (Object)

    The value.



1069
1070
1071
1072
1073
# File 'redshift/cfn_cluster.rb', line 1069

def add_property_override(property_path, value)
  Jsii::Type.check_type(property_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "propertyPath")
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "value")
  jsii_call_method("addPropertyOverride", [property_path, value])
end

#allow_version_upgradeBoolean, ...

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

Returns:



357
358
359
# File 'redshift/cfn_cluster.rb', line 357

def allow_version_upgrade()
  jsii_get_property("allowVersionUpgrade")
end

#allow_version_upgrade=(value) ⇒ Object



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

def allow_version_upgrade=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "allowVersionUpgrade") unless value.nil?
  jsii_set_property("allowVersionUpgrade", value)
end

#apply_cross_stack_reference_strength(strength) ⇒ void

This method returns an undefined value.

Sets the cross-stack reference strength for this resource.

When set, any cross-stack reference to this resource will use the specified strength instead of the global default from the consuming stack's context.

Parameters:



1082
1083
1084
1085
# File 'redshift/cfn_cluster.rb', line 1082

def apply_cross_stack_reference_strength(strength)
  Jsii::Type.check_type(strength, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZWZlcmVuY2VTdHJlbmd0aCJ9")), "strength")
  jsii_call_method("applyCrossStackReferenceStrength", [strength])
end

#apply_removal_policy(policy = nil, options = nil) ⇒ void

This method returns an undefined value.

Sets the deletion policy of the resource based on the removal policy specified.

The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.

The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN). In some cases, a snapshot can be taken of the resource prior to deletion (RemovalPolicy.SNAPSHOT). A list of resources that support this policy can be found in the following link:



1104
1105
1106
1107
1108
1109
# File 'redshift/cfn_cluster.rb', line 1104

def apply_removal_policy(policy = nil, options = nil)
  Jsii::Type.check_type(policy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZW1vdmFsUG9saWN5In0=")), "policy") unless policy.nil?
  options = options.is_a?(Hash) ? ::AWSCDK::RemovalPolicyOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZW1vdmFsUG9saWN5T3B0aW9ucyJ9")), "options") unless options.nil?
  jsii_call_method("applyRemovalPolicy", [policy, options])
end

#aqua_configuration_statusString?

This parameter is retired.

Returns:

  • (String, nil)


369
370
371
# File 'redshift/cfn_cluster.rb', line 369

def aqua_configuration_status()
  jsii_get_property("aquaConfigurationStatus")
end

#aqua_configuration_status=(value) ⇒ Object



373
374
375
376
# File 'redshift/cfn_cluster.rb', line 373

def aqua_configuration_status=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "aquaConfigurationStatus") unless value.nil?
  jsii_set_property("aquaConfigurationStatus", value)
end

#attr_cluster_namespace_arnString

The namespace Amazon Resource Name (ARN) of the cluster.

Returns:

  • (String)


237
238
239
# File 'redshift/cfn_cluster.rb', line 237

def attr_cluster_namespace_arn()
  jsii_get_property("attrClusterNamespaceArn")
end

#attr_defer_maintenance_identifierString

A unique identifier for the maintenance window.

Returns:

  • (String)


244
245
246
# File 'redshift/cfn_cluster.rb', line 244

def attr_defer_maintenance_identifier()
  jsii_get_property("attrDeferMaintenanceIdentifier")
end

#attr_endpoint_addressString

The connection endpoint for the Amazon Redshift cluster.

For example: examplecluster.cg034hpkmmjt.us-east-1.redshift.amazonaws.com .

Returns:

  • (String)


253
254
255
# File 'redshift/cfn_cluster.rb', line 253

def attr_endpoint_address()
  jsii_get_property("attrEndpointAddress")
end

#attr_endpoint_portString

The port number on which the Amazon Redshift cluster accepts connections.

For example: 5439 .

Returns:

  • (String)


262
263
264
# File 'redshift/cfn_cluster.rb', line 262

def attr_endpoint_port()
  jsii_get_property("attrEndpointPort")
end

#attr_idString

Returns:

  • (String)


267
268
269
# File 'redshift/cfn_cluster.rb', line 267

def attr_id()
  jsii_get_property("attrId")
end

#attr_master_password_secret_arnString

The Amazon Resource Name (ARN) for the cluster's admin user credentials secret.

Returns:

  • (String)


274
275
276
# File 'redshift/cfn_cluster.rb', line 274

def attr_master_password_secret_arn()
  jsii_get_property("attrMasterPasswordSecretArn")
end

#automated_snapshot_retention_periodNumeric?

The number of days that automated snapshots are retained.

Returns:

  • (Numeric, nil)


381
382
383
# File 'redshift/cfn_cluster.rb', line 381

def automated_snapshot_retention_period()
  jsii_get_property("automatedSnapshotRetentionPeriod")
end

#automated_snapshot_retention_period=(value) ⇒ Object



385
386
387
388
# File 'redshift/cfn_cluster.rb', line 385

def automated_snapshot_retention_period=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "automatedSnapshotRetentionPeriod") unless value.nil?
  jsii_set_property("automatedSnapshotRetentionPeriod", value)
end

#availability_zoneString?

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

Returns:

  • (String, nil)


393
394
395
# File 'redshift/cfn_cluster.rb', line 393

def availability_zone()
  jsii_get_property("availabilityZone")
end

#availability_zone=(value) ⇒ Object



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

def availability_zone=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "availabilityZone") unless value.nil?
  jsii_set_property("availabilityZone", value)
end

#availability_zone_relocationBoolean, ...

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

Returns:



405
406
407
# File 'redshift/cfn_cluster.rb', line 405

def availability_zone_relocation()
  jsii_get_property("availabilityZoneRelocation")
end

#availability_zone_relocation=(value) ⇒ Object



409
410
411
412
# File 'redshift/cfn_cluster.rb', line 409

def availability_zone_relocation=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "availabilityZoneRelocation") unless value.nil?
  jsii_set_property("availabilityZoneRelocation", value)
end

#availability_zone_relocation_statusString?

Describes the status of the Availability Zone relocation operation.

Returns:

  • (String, nil)


417
418
419
# File 'redshift/cfn_cluster.rb', line 417

def availability_zone_relocation_status()
  jsii_get_property("availabilityZoneRelocationStatus")
end

#availability_zone_relocation_status=(value) ⇒ Object



421
422
423
424
# File 'redshift/cfn_cluster.rb', line 421

def availability_zone_relocation_status=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "availabilityZoneRelocationStatus") unless value.nil?
  jsii_set_property("availabilityZoneRelocationStatus", value)
end

#cfn_optionsAWSCDK::ICfnResourceOptions

Options for this resource, such as condition, update policy etc.



183
184
185
# File 'redshift/cfn_cluster.rb', line 183

def cfn_options()
  jsii_get_property("cfnOptions")
end

#cfn_propertiesHash{String => Object}

Returns:

  • (Hash{String => Object})


188
189
190
# File 'redshift/cfn_cluster.rb', line 188

def cfn_properties()
  jsii_get_property("cfnProperties")
end

#cfn_property_name(cdk_property_name) ⇒ String?

Parameters:

  • cdk_property_name (String)

Returns:

  • (String, nil)


1113
1114
1115
1116
# File 'redshift/cfn_cluster.rb', line 1113

def cfn_property_name(cdk_property_name)
  Jsii::Type.check_type(cdk_property_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "cdkPropertyName")
  jsii_call_method("cfnPropertyName", [cdk_property_name])
end

#cfn_property_namesHash{String => String}

Returns:

  • (Hash{String => String})


193
194
195
# File 'redshift/cfn_cluster.rb', line 193

def cfn_property_names()
  jsii_get_property("cfnPropertyNames")
end

#cfn_resource_typeString

AWS resource type.

Returns:

  • (String)


200
201
202
# File 'redshift/cfn_cluster.rb', line 200

def cfn_resource_type()
  jsii_get_property("cfnResourceType")
end

#classicBoolean, ...

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

Returns:



429
430
431
# File 'redshift/cfn_cluster.rb', line 429

def classic()
  jsii_get_property("classic")
end

#classic=(value) ⇒ Object



433
434
435
436
# File 'redshift/cfn_cluster.rb', line 433

def classic=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "classic") unless value.nil?
  jsii_set_property("classic", value)
end

#cluster_identifierString?

A unique identifier for the cluster.

Returns:

  • (String, nil)


441
442
443
# File 'redshift/cfn_cluster.rb', line 441

def cluster_identifier()
  jsii_get_property("clusterIdentifier")
end

#cluster_identifier=(value) ⇒ Object



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

def cluster_identifier=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "clusterIdentifier") unless value.nil?
  jsii_set_property("clusterIdentifier", value)
end

#cluster_parameter_group_nameString?

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

Returns:

  • (String, nil)


453
454
455
# File 'redshift/cfn_cluster.rb', line 453

def cluster_parameter_group_name()
  jsii_get_property("clusterParameterGroupName")
end

#cluster_parameter_group_name=(value) ⇒ Object



457
458
459
460
# File 'redshift/cfn_cluster.rb', line 457

def cluster_parameter_group_name=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "clusterParameterGroupName") unless value.nil?
  jsii_set_property("clusterParameterGroupName", value)
end

#cluster_refAWSCDK::Interfaces::AWSRedshift::ClusterReference

A reference to a Cluster resource.



281
282
283
# File 'redshift/cfn_cluster.rb', line 281

def cluster_ref()
  jsii_get_property("clusterRef")
end

#cluster_security_groupsArray<String>?

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

Returns:

  • (Array<String>, nil)


465
466
467
# File 'redshift/cfn_cluster.rb', line 465

def cluster_security_groups()
  jsii_get_property("clusterSecurityGroups")
end

#cluster_security_groups=(value) ⇒ Object



469
470
471
472
# File 'redshift/cfn_cluster.rb', line 469

def cluster_security_groups=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "clusterSecurityGroups") unless value.nil?
  jsii_set_property("clusterSecurityGroups", value)
end

#cluster_subnet_group_nameString?

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

Returns:

  • (String, nil)


477
478
479
# File 'redshift/cfn_cluster.rb', line 477

def cluster_subnet_group_name()
  jsii_get_property("clusterSubnetGroupName")
end

#cluster_subnet_group_name=(value) ⇒ Object



481
482
483
484
# File 'redshift/cfn_cluster.rb', line 481

def cluster_subnet_group_name=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "clusterSubnetGroupName") unless value.nil?
  jsii_set_property("clusterSubnetGroupName", value)
end

#cluster_typeString

The type of the cluster.

When cluster type is specified as.

Returns:

  • (String)


297
298
299
# File 'redshift/cfn_cluster.rb', line 297

def cluster_type()
  jsii_get_property("clusterType")
end

#cluster_type=(value) ⇒ Object



301
302
303
304
# File 'redshift/cfn_cluster.rb', line 301

def cluster_type=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "clusterType")
  jsii_set_property("clusterType", value)
end

#cluster_versionString?

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

Returns:

  • (String, nil)


489
490
491
# File 'redshift/cfn_cluster.rb', line 489

def cluster_version()
  jsii_get_property("clusterVersion")
end

#cluster_version=(value) ⇒ Object



493
494
495
496
# File 'redshift/cfn_cluster.rb', line 493

def cluster_version=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "clusterVersion") unless value.nil?
  jsii_set_property("clusterVersion", value)
end

#creation_stackArray<String>

Returns:

  • (Array<String>)


145
146
147
# File 'redshift/cfn_cluster.rb', line 145

def creation_stack()
  jsii_get_property("creationStack")
end

#db_nameString

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

Returns:

  • (String)


309
310
311
# File 'redshift/cfn_cluster.rb', line 309

def db_name()
  jsii_get_property("dbName")
end

#db_name=(value) ⇒ Object



313
314
315
316
# File 'redshift/cfn_cluster.rb', line 313

def db_name=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dbName")
  jsii_set_property("dbName", value)
end

#defer_maintenanceBoolean, ...

A Boolean indicating whether to enable the deferred maintenance window.

Returns:



501
502
503
# File 'redshift/cfn_cluster.rb', line 501

def defer_maintenance()
  jsii_get_property("deferMaintenance")
end

#defer_maintenance=(value) ⇒ Object



505
506
507
508
# File 'redshift/cfn_cluster.rb', line 505

def defer_maintenance=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "deferMaintenance") unless value.nil?
  jsii_set_property("deferMaintenance", value)
end

#defer_maintenance_durationNumeric?

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

Returns:

  • (Numeric, nil)


513
514
515
# File 'redshift/cfn_cluster.rb', line 513

def defer_maintenance_duration()
  jsii_get_property("deferMaintenanceDuration")
end

#defer_maintenance_duration=(value) ⇒ Object



517
518
519
520
# File 'redshift/cfn_cluster.rb', line 517

def defer_maintenance_duration=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "deferMaintenanceDuration") unless value.nil?
  jsii_set_property("deferMaintenanceDuration", value)
end

#defer_maintenance_end_timeString?

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

Returns:

  • (String, nil)


525
526
527
# File 'redshift/cfn_cluster.rb', line 525

def defer_maintenance_end_time()
  jsii_get_property("deferMaintenanceEndTime")
end

#defer_maintenance_end_time=(value) ⇒ Object



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

def defer_maintenance_end_time=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "deferMaintenanceEndTime") unless value.nil?
  jsii_set_property("deferMaintenanceEndTime", value)
end

#defer_maintenance_start_timeString?

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

Returns:

  • (String, nil)


537
538
539
# File 'redshift/cfn_cluster.rb', line 537

def defer_maintenance_start_time()
  jsii_get_property("deferMaintenanceStartTime")
end

#defer_maintenance_start_time=(value) ⇒ Object



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

def defer_maintenance_start_time=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "deferMaintenanceStartTime") unless value.nil?
  jsii_set_property("deferMaintenanceStartTime", value)
end

#destination_regionString?

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

Returns:

  • (String, nil)


549
550
551
# File 'redshift/cfn_cluster.rb', line 549

def destination_region()
  jsii_get_property("destinationRegion")
end

#destination_region=(value) ⇒ Object



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

def destination_region=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "destinationRegion") unless value.nil?
  jsii_set_property("destinationRegion", value)
end

#elastic_ipString?

The Elastic IP (EIP) address for the cluster.

Returns:

  • (String, nil)


561
562
563
# File 'redshift/cfn_cluster.rb', line 561

def elastic_ip()
  jsii_get_property("elasticIp")
end

#elastic_ip=(value) ⇒ Object



565
566
567
568
# File 'redshift/cfn_cluster.rb', line 565

def elastic_ip=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "elasticIp") unless value.nil?
  jsii_set_property("elasticIp", value)
end

#encryptedBoolean, ...

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

Returns:



573
574
575
# File 'redshift/cfn_cluster.rb', line 573

def encrypted()
  jsii_get_property("encrypted")
end

#encrypted=(value) ⇒ Object



577
578
579
580
# File 'redshift/cfn_cluster.rb', line 577

def encrypted=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "encrypted") unless value.nil?
  jsii_set_property("encrypted", value)
end

#endpointAWSCDK::IResolvable, ...

The connection endpoint.



585
586
587
# File 'redshift/cfn_cluster.rb', line 585

def endpoint()
  jsii_get_property("endpoint")
end

#endpoint=(value) ⇒ Object



589
590
591
592
593
# File 'redshift/cfn_cluster.rb', line 589

def endpoint=(value)
  value = value.is_a?(Hash) ? ::AWSCDK::Redshift::CfnCluster::EndpointProperty.new(**value.transform_keys(&:to_sym)) : value
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19yZWRzaGlmdC5DZm5DbHVzdGVyLkVuZHBvaW50UHJvcGVydHkifV19fQ==")), "endpoint") unless value.nil?
  jsii_set_property("endpoint", value)
end

#enhanced_vpc_routingBoolean, ...

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

Returns:



598
599
600
# File 'redshift/cfn_cluster.rb', line 598

def enhanced_vpc_routing()
  jsii_get_property("enhancedVpcRouting")
end

#enhanced_vpc_routing=(value) ⇒ Object



602
603
604
605
# File 'redshift/cfn_cluster.rb', line 602

def enhanced_vpc_routing=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "enhancedVpcRouting") unless value.nil?
  jsii_set_property("enhancedVpcRouting", value)
end

#envAWSCDK::Interfaces::ResourceEnvironment



205
206
207
# File 'redshift/cfn_cluster.rb', line 205

def env()
  jsii_get_property("env")
end

#get_att(attribute_name, type_hint = nil) ⇒ AWSCDK::Reference

Returns a token for an runtime attribute of this resource.

Ideally, use generated attribute accessors (e.g. resource.arn), but this can be used for future compatibility in case there is no generated attribute.

Parameters:

Returns:



1126
1127
1128
1129
1130
# File 'redshift/cfn_cluster.rb', line 1126

def get_att(attribute_name, type_hint = nil)
  Jsii::Type.check_type(attribute_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "attributeName")
  Jsii::Type.check_type(type_hint, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZXNvbHV0aW9uVHlwZUhpbnQifQ==")), "typeHint") unless type_hint.nil?
  jsii_call_method("getAtt", [attribute_name, type_hint])
end

#get_metadata(key) ⇒ Object

Retrieve a value value from the CloudFormation Resource Metadata.



1137
1138
1139
1140
# File 'redshift/cfn_cluster.rb', line 1137

def (key)
  Jsii::Type.check_type(key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "key")
  jsii_call_method("getMetadata", [key])
end

#hsm_client_certificate_identifierString?

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

Returns:

  • (String, nil)


610
611
612
# File 'redshift/cfn_cluster.rb', line 610

def hsm_client_certificate_identifier()
  jsii_get_property("hsmClientCertificateIdentifier")
end

#hsm_client_certificate_identifier=(value) ⇒ Object



614
615
616
617
# File 'redshift/cfn_cluster.rb', line 614

def hsm_client_certificate_identifier=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "hsmClientCertificateIdentifier") unless value.nil?
  jsii_set_property("hsmClientCertificateIdentifier", value)
end

#hsm_configuration_identifierString?

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.

Returns:

  • (String, nil)


622
623
624
# File 'redshift/cfn_cluster.rb', line 622

def hsm_configuration_identifier()
  jsii_get_property("hsmConfigurationIdentifier")
end

#hsm_configuration_identifier=(value) ⇒ Object



626
627
628
629
# File 'redshift/cfn_cluster.rb', line 626

def hsm_configuration_identifier=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "hsmConfigurationIdentifier") unless value.nil?
  jsii_set_property("hsmConfigurationIdentifier", value)
end

#iam_rolesArray<String>?

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

Returns:

  • (Array<String>, nil)


634
635
636
# File 'redshift/cfn_cluster.rb', line 634

def iam_roles()
  jsii_get_property("iamRoles")
end

#iam_roles=(value) ⇒ Object



638
639
640
641
# File 'redshift/cfn_cluster.rb', line 638

def iam_roles=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "iamRoles") unless value.nil?
  jsii_set_property("iamRoles", value)
end

#inspect(inspector) ⇒ void

This method returns an undefined value.

Examines the CloudFormation resource and discloses attributes.

Parameters:



1207
1208
1209
1210
# File 'redshift/cfn_cluster.rb', line 1207

def inspect(inspector)
  Jsii::Type.check_type(inspector, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5UcmVlSW5zcGVjdG9yIn0=")), "inspector")
  jsii_call_method("inspect", [inspector])
end

#kms_key_idString?

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

Returns:

  • (String, nil)


646
647
648
# File 'redshift/cfn_cluster.rb', line 646

def kms_key_id()
  jsii_get_property("kmsKeyId")
end

#kms_key_id=(value) ⇒ Object



650
651
652
653
# File 'redshift/cfn_cluster.rb', line 650

def kms_key_id=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyId") unless value.nil?
  jsii_set_property("kmsKeyId", value)
end

#logging_propertiesAWSCDK::IResolvable, ...

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



658
659
660
# File 'redshift/cfn_cluster.rb', line 658

def logging_properties()
  jsii_get_property("loggingProperties")
end

#logging_properties=(value) ⇒ Object



662
663
664
665
666
# File 'redshift/cfn_cluster.rb', line 662

def logging_properties=(value)
  value = value.is_a?(Hash) ? ::AWSCDK::Redshift::CfnCluster::LoggingPropertiesProperty.new(**value.transform_keys(&:to_sym)) : value
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19yZWRzaGlmdC5DZm5DbHVzdGVyLkxvZ2dpbmdQcm9wZXJ0aWVzUHJvcGVydHkifV19fQ==")), "loggingProperties") unless value.nil?
  jsii_set_property("loggingProperties", value)
end

#logical_idString

The logical ID for this CloudFormation stack element.

The logical ID of the element is calculated from the path of the resource node in the construct tree.

To override this value, use override_logical_id(new_logical_id).

Returns:

  • (String)


157
158
159
# File 'redshift/cfn_cluster.rb', line 157

def logical_id()
  jsii_get_property("logicalId")
end

#maintenance_track_nameString?

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

Returns:

  • (String, nil)


671
672
673
# File 'redshift/cfn_cluster.rb', line 671

def maintenance_track_name()
  jsii_get_property("maintenanceTrackName")
end

#maintenance_track_name=(value) ⇒ Object



675
676
677
678
# File 'redshift/cfn_cluster.rb', line 675

def maintenance_track_name=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "maintenanceTrackName") unless value.nil?
  jsii_set_property("maintenanceTrackName", value)
end

#manage_master_passwordBoolean, ...

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

Returns:



683
684
685
# File 'redshift/cfn_cluster.rb', line 683

def manage_master_password()
  jsii_get_property("manageMasterPassword")
end

#manage_master_password=(value) ⇒ Object



687
688
689
690
# File 'redshift/cfn_cluster.rb', line 687

def manage_master_password=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "manageMasterPassword") unless value.nil?
  jsii_set_property("manageMasterPassword", value)
end

#manual_snapshot_retention_periodNumeric?

The default number of days to retain a manual snapshot.

Returns:

  • (Numeric, nil)


695
696
697
# File 'redshift/cfn_cluster.rb', line 695

def manual_snapshot_retention_period()
  jsii_get_property("manualSnapshotRetentionPeriod")
end

#manual_snapshot_retention_period=(value) ⇒ Object



699
700
701
702
# File 'redshift/cfn_cluster.rb', line 699

def manual_snapshot_retention_period=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "manualSnapshotRetentionPeriod") unless value.nil?
  jsii_set_property("manualSnapshotRetentionPeriod", value)
end

#master_password_secret_kms_key_idString?

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

Returns:

  • (String, nil)


707
708
709
# File 'redshift/cfn_cluster.rb', line 707

def master_password_secret_kms_key_id()
  jsii_get_property("masterPasswordSecretKmsKeyId")
end

#master_password_secret_kms_key_id=(value) ⇒ Object



711
712
713
714
# File 'redshift/cfn_cluster.rb', line 711

def master_password_secret_kms_key_id=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "masterPasswordSecretKmsKeyId") unless value.nil?
  jsii_set_property("masterPasswordSecretKmsKeyId", value)
end

#master_user_passwordString?

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

Returns:

  • (String, nil)


719
720
721
# File 'redshift/cfn_cluster.rb', line 719

def master_user_password()
  jsii_get_property("masterUserPassword")
end

#master_user_password=(value) ⇒ Object



723
724
725
726
# File 'redshift/cfn_cluster.rb', line 723

def master_user_password=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "masterUserPassword") unless value.nil?
  jsii_set_property("masterUserPassword", value)
end

#master_usernameString

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

Returns:

  • (String)


321
322
323
# File 'redshift/cfn_cluster.rb', line 321

def master_username()
  jsii_get_property("masterUsername")
end

#master_username=(value) ⇒ Object



325
326
327
328
# File 'redshift/cfn_cluster.rb', line 325

def master_username=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "masterUsername")
  jsii_set_property("masterUsername", value)
end

#multi_azBoolean, ...

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

Returns:



731
732
733
# File 'redshift/cfn_cluster.rb', line 731

def multi_az()
  jsii_get_property("multiAz")
end

#multi_az=(value) ⇒ Object



735
736
737
738
# File 'redshift/cfn_cluster.rb', line 735

def multi_az=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "multiAz") unless value.nil?
  jsii_set_property("multiAz", value)
end

#namespace_resource_policyObject

The policy that is attached to a resource.

Returns:

  • (Object)


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

def namespace_resource_policy()
  jsii_get_property("namespaceResourcePolicy")
end

#namespace_resource_policy=(value) ⇒ Object



337
338
339
340
# File 'redshift/cfn_cluster.rb', line 337

def namespace_resource_policy=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "namespaceResourcePolicy")
  jsii_set_property("namespaceResourcePolicy", value)
end

#nodeConstructs::Node

The tree node.

Returns:

  • (Constructs::Node)


140
141
142
# File 'redshift/cfn_cluster.rb', line 140

def node()
  jsii_get_property("node")
end

#node_typeString

The node type to be provisioned for the cluster.

Returns:

  • (String)


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

def node_type()
  jsii_get_property("nodeType")
end

#node_type=(value) ⇒ Object



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

def node_type=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "nodeType")
  jsii_set_property("nodeType", value)
end

#number_of_nodesNumeric?

The number of compute nodes in the cluster.

Returns:

  • (Numeric, nil)


743
744
745
# File 'redshift/cfn_cluster.rb', line 743

def number_of_nodes()
  jsii_get_property("numberOfNodes")
end

#number_of_nodes=(value) ⇒ Object



747
748
749
750
# File 'redshift/cfn_cluster.rb', line 747

def number_of_nodes=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "numberOfNodes") unless value.nil?
  jsii_set_property("numberOfNodes", value)
end

#obtain_dependenciesArray<AWSCDK::CfnResource, AWSCDK::Stack>

Retrieves an array of resources this resource depends on.

This assembles dependencies on resources across stacks (including nested stacks) automatically.

Returns:



1148
1149
1150
# File 'redshift/cfn_cluster.rb', line 1148

def obtain_dependencies()
  jsii_call_method("obtainDependencies", [])
end

#obtain_resource_dependenciesArray<AWSCDK::CfnResource>

Get a shallow copy of dependencies between this resource and other resources in the same stack.

Returns:



1155
1156
1157
# File 'redshift/cfn_cluster.rb', line 1155

def obtain_resource_dependencies()
  jsii_call_method("obtainResourceDependencies", [])
end

#override_logical_id(new_logical_id) ⇒ void

This method returns an undefined value.

Overrides the auto-generated logical ID with a specific ID.

Parameters:

  • new_logical_id (String)

    The new logical ID to use for this stack element.



948
949
950
951
# File 'redshift/cfn_cluster.rb', line 948

def override_logical_id(new_logical_id)
  Jsii::Type.check_type(new_logical_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "newLogicalId")
  jsii_call_method("overrideLogicalId", [new_logical_id])
end

#owner_accountString?

The AWS account used to create or copy the snapshot.

Returns:

  • (String, nil)


755
756
757
# File 'redshift/cfn_cluster.rb', line 755

def ()
  jsii_get_property("ownerAccount")
end

#owner_account=(value) ⇒ Object



759
760
761
762
# File 'redshift/cfn_cluster.rb', line 759

def owner_account=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ownerAccount") unless value.nil?
  jsii_set_property("ownerAccount", value)
end

#portNumeric?

The port number on which the cluster accepts incoming connections.

Returns:

  • (Numeric, nil)


767
768
769
# File 'redshift/cfn_cluster.rb', line 767

def port()
  jsii_get_property("port")
end

#port=(value) ⇒ Object



771
772
773
774
# File 'redshift/cfn_cluster.rb', line 771

def port=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "port") unless value.nil?
  jsii_set_property("port", value)
end

#preferred_maintenance_windowString?

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

Returns:

  • (String, nil)


779
780
781
# File 'redshift/cfn_cluster.rb', line 779

def preferred_maintenance_window()
  jsii_get_property("preferredMaintenanceWindow")
end

#preferred_maintenance_window=(value) ⇒ Object



783
784
785
786
# File 'redshift/cfn_cluster.rb', line 783

def preferred_maintenance_window=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "preferredMaintenanceWindow") unless value.nil?
  jsii_set_property("preferredMaintenanceWindow", value)
end

#publicly_accessibleBoolean, ...

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

Returns:



791
792
793
# File 'redshift/cfn_cluster.rb', line 791

def publicly_accessible()
  jsii_get_property("publiclyAccessible")
end

#publicly_accessible=(value) ⇒ Object



795
796
797
798
# File 'redshift/cfn_cluster.rb', line 795

def publicly_accessible=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "publiclyAccessible") unless value.nil?
  jsii_set_property("publiclyAccessible", value)
end

#refString

Return a string that will be resolved to a CloudFormation { Ref } for this element.

If, by any chance, the intrinsic reference of a resource is not a string, you could coerce it to an IResolvable through Lazy.any({ produce: resource.ref }).

Returns:

  • (String)


176
177
178
# File 'redshift/cfn_cluster.rb', line 176

def ref()
  jsii_get_property("ref")
end

#remove_dependency(target) ⇒ void

This method returns an undefined value.

Indicates that this resource no longer depends on another resource.

This can be used for resources across stacks (including nested stacks) and the dependency will automatically be removed from the relevant scope.

Parameters:



1166
1167
1168
1169
# File 'redshift/cfn_cluster.rb', line 1166

def remove_dependency(target)
  Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "target")
  jsii_call_method("removeDependency", [target])
end

#render_properties(props) ⇒ Hash{String => Object}

Parameters:

  • props (Hash{String => Object})

Returns:

  • (Hash{String => Object})


1173
1174
1175
1176
# File 'redshift/cfn_cluster.rb', line 1173

def render_properties(props)
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6ImFueSJ9LCJraW5kIjoibWFwIn19")), "props")
  jsii_call_method("renderProperties", [props])
end

#replace_dependency(target, new_target) ⇒ void

This method returns an undefined value.

Replaces one dependency with another.

Parameters:



1183
1184
1185
1186
1187
# File 'redshift/cfn_cluster.rb', line 1183

def replace_dependency(target, new_target)
  Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "target")
  Jsii::Type.check_type(new_target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "newTarget")
  jsii_call_method("replaceDependency", [target, new_target])
end

#resource_actionString?

The Amazon Redshift operation to be performed.

Returns:

  • (String, nil)


803
804
805
# File 'redshift/cfn_cluster.rb', line 803

def resource_action()
  jsii_get_property("resourceAction")
end

#resource_action=(value) ⇒ Object



807
808
809
810
# File 'redshift/cfn_cluster.rb', line 807

def resource_action=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "resourceAction") unless value.nil?
  jsii_set_property("resourceAction", value)
end

#revision_targetString?

Describes a RevisionTarget object.

Returns:

  • (String, nil)


815
816
817
# File 'redshift/cfn_cluster.rb', line 815

def revision_target()
  jsii_get_property("revisionTarget")
end

#revision_target=(value) ⇒ Object



819
820
821
822
# File 'redshift/cfn_cluster.rb', line 819

def revision_target=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "revisionTarget") unless value.nil?
  jsii_set_property("revisionTarget", value)
end

#rotate_encryption_keyBoolean, ...

Rotates the encryption keys for a cluster.

Returns:



827
828
829
# File 'redshift/cfn_cluster.rb', line 827

def rotate_encryption_key()
  jsii_get_property("rotateEncryptionKey")
end

#rotate_encryption_key=(value) ⇒ Object



831
832
833
834
# File 'redshift/cfn_cluster.rb', line 831

def rotate_encryption_key=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "rotateEncryptionKey") unless value.nil?
  jsii_set_property("rotateEncryptionKey", value)
end

#should_synthesizeBoolean

Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.

Returns:

  • (Boolean)

    true if the resource should be included or false is the resource should be omitted.



1192
1193
1194
# File 'redshift/cfn_cluster.rb', line 1192

def should_synthesize()
  jsii_call_method("shouldSynthesize", [])
end

#snapshot_cluster_identifierString?

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

Returns:

  • (String, nil)


839
840
841
# File 'redshift/cfn_cluster.rb', line 839

def snapshot_cluster_identifier()
  jsii_get_property("snapshotClusterIdentifier")
end

#snapshot_cluster_identifier=(value) ⇒ Object



843
844
845
846
# File 'redshift/cfn_cluster.rb', line 843

def snapshot_cluster_identifier=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "snapshotClusterIdentifier") unless value.nil?
  jsii_set_property("snapshotClusterIdentifier", value)
end

#snapshot_copy_grant_nameString?

The name of the snapshot copy grant.

Returns:

  • (String, nil)


851
852
853
# File 'redshift/cfn_cluster.rb', line 851

def snapshot_copy_grant_name()
  jsii_get_property("snapshotCopyGrantName")
end

#snapshot_copy_grant_name=(value) ⇒ Object



855
856
857
858
# File 'redshift/cfn_cluster.rb', line 855

def snapshot_copy_grant_name=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "snapshotCopyGrantName") unless value.nil?
  jsii_set_property("snapshotCopyGrantName", value)
end

#snapshot_copy_manualBoolean, ...

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

Returns:



863
864
865
# File 'redshift/cfn_cluster.rb', line 863

def snapshot_copy_manual()
  jsii_get_property("snapshotCopyManual")
end

#snapshot_copy_manual=(value) ⇒ Object



867
868
869
870
# File 'redshift/cfn_cluster.rb', line 867

def snapshot_copy_manual=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "snapshotCopyManual") unless value.nil?
  jsii_set_property("snapshotCopyManual", value)
end

#snapshot_copy_retention_periodNumeric?

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

Returns:

  • (Numeric, nil)


875
876
877
# File 'redshift/cfn_cluster.rb', line 875

def snapshot_copy_retention_period()
  jsii_get_property("snapshotCopyRetentionPeriod")
end

#snapshot_copy_retention_period=(value) ⇒ Object



879
880
881
882
# File 'redshift/cfn_cluster.rb', line 879

def snapshot_copy_retention_period=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "snapshotCopyRetentionPeriod") unless value.nil?
  jsii_set_property("snapshotCopyRetentionPeriod", value)
end

#snapshot_identifierString?

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

Returns:

  • (String, nil)


887
888
889
# File 'redshift/cfn_cluster.rb', line 887

def snapshot_identifier()
  jsii_get_property("snapshotIdentifier")
end

#snapshot_identifier=(value) ⇒ Object



891
892
893
894
# File 'redshift/cfn_cluster.rb', line 891

def snapshot_identifier=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "snapshotIdentifier") unless value.nil?
  jsii_set_property("snapshotIdentifier", value)
end

#stackAWSCDK::Stack

The stack in which this element is defined.

CfnElements must be defined within a stack scope (directly or indirectly).

Returns:



166
167
168
# File 'redshift/cfn_cluster.rb', line 166

def stack()
  jsii_get_property("stack")
end

#tagsAWSCDK::TagManager

Tag Manager which manages the tags for this resource.

Returns:



288
289
290
# File 'redshift/cfn_cluster.rb', line 288

def tags()
  jsii_get_property("tags")
end

#tags_rawArray<AWSCDK::CfnTag>?

A list of tag instances.

Returns:



899
900
901
# File 'redshift/cfn_cluster.rb', line 899

def tags_raw()
  jsii_get_property("tagsRaw")
end

#tags_raw=(value) ⇒ Object



903
904
905
906
907
# File 'redshift/cfn_cluster.rb', line 903

def tags_raw=(value)
  value = value.is_a?(Array) ? value.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : value
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tagsRaw") unless value.nil?
  jsii_set_property("tagsRaw", value)
end

#to_stringString

Returns a string representation of this construct.

Returns:

  • (String)

    a string representation of this resource



924
925
926
# File 'redshift/cfn_cluster.rb', line 924

def to_string()
  jsii_call_method("toString", [])
end

#updated_properitesHash{String => Object}

Deprecated.

use updatedProperties Return properties modified after initiation Resources that expose mutable properties should override this function to collect and return the properties object for this resource.

Deprecated.

Returns:

  • (Hash{String => Object})


213
214
215
# File 'redshift/cfn_cluster.rb', line 213

def updated_properites()
  jsii_get_property("updatedProperites")
end

#updated_propertiesHash{String => Object}

Return properties modified after initiation.

Resources that expose mutable properties should override this function to collect and return the properties object for this resource.

Returns:

  • (Hash{String => Object})


223
224
225
# File 'redshift/cfn_cluster.rb', line 223

def updated_properties()
  jsii_get_property("updatedProperties")
end

#validate_properties(_properties) ⇒ void

This method returns an undefined value.

Parameters:

  • _properties (Object)


1198
1199
1200
1201
# File 'redshift/cfn_cluster.rb', line 1198

def validate_properties(_properties)
  Jsii::Type.check_type(_properties, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "_properties")
  jsii_call_method("validateProperties", [_properties])
end

#vpc_security_group_idsArray<String>?

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

Returns:

  • (Array<String>, nil)


912
913
914
# File 'redshift/cfn_cluster.rb', line 912

def vpc_security_group_ids()
  jsii_get_property("vpcSecurityGroupIds")
end

#vpc_security_group_ids=(value) ⇒ Object



916
917
918
919
# File 'redshift/cfn_cluster.rb', line 916

def vpc_security_group_ids=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "vpcSecurityGroupIds") unless value.nil?
  jsii_set_property("vpcSecurityGroupIds", value)
end

#with(*mixins) ⇒ Constructs::IConstruct

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the start of the call, so constructs added by a mixin will not be visited. Use multiple with() calls if subsequent mixins should apply to added constructs.

Parameters:

  • mixins (Array<Constructs::IMixin>)

Returns:

  • (Constructs::IConstruct)


937
938
939
940
941
942
# File 'redshift/cfn_cluster.rb', line 937

def with(*mixins)
  mixins.each_with_index do |item, index|
    Jsii::Type.check_type(item, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLklNaXhpbiJ9")), "mixins[#{index}]")
  end
  jsii_call_method("with", [*mixins])
end