Class: AWSCDK::DSQL::CfnClusterProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
dsql/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(deletion_protection_enabled: nil, kms_encryption_key: nil, multi_region_properties: nil, policy_document: nil, tags: nil) ⇒ CfnClusterProps

Returns a new instance of CfnClusterProps.

Parameters:

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

    Whether deletion protection is enabled on this cluster.

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

    The KMS key that encrypts data on the cluster.

  • multi_region_properties (AWSCDK::IResolvable, AWSCDK::DSQL::CfnCluster::MultiRegionPropertiesProperty, nil) (defaults to: nil)

    Defines the structure for multi-Region cluster configurations, containing the witness Region and peered cluster settings.

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

    A resource-based policy document in JSON format.

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

    A map of key and value pairs this cluster is tagged with.



14
15
16
17
18
19
20
21
22
23
24
25
# File 'dsql/cfn_cluster_props.rb', line 14

def initialize(deletion_protection_enabled: nil, kms_encryption_key: nil, multi_region_properties: nil, policy_document: nil, tags: nil)
  @deletion_protection_enabled = deletion_protection_enabled
  Jsii::Type.check_type(@deletion_protection_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "deletionProtectionEnabled") unless @deletion_protection_enabled.nil?
  @kms_encryption_key = kms_encryption_key
  Jsii::Type.check_type(@kms_encryption_key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsEncryptionKey") unless @kms_encryption_key.nil?
  @multi_region_properties = multi_region_properties.is_a?(Hash) ? ::AWSCDK::DSQL::CfnCluster::MultiRegionPropertiesProperty.new(**multi_region_properties.transform_keys(&:to_sym)) : multi_region_properties
  Jsii::Type.check_type(@multi_region_properties, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kc3FsLkNmbkNsdXN0ZXIuTXVsdGlSZWdpb25Qcm9wZXJ0aWVzUHJvcGVydHkifV19fQ==")), "multiRegionProperties") unless @multi_region_properties.nil?
  @policy_document = policy_document
  Jsii::Type.check_type(@policy_document, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "policyDocument") unless @policy_document.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?
end

Instance Attribute Details

#deletion_protection_enabledBoolean, ... (readonly)

Whether deletion protection is enabled on this cluster.



31
32
33
# File 'dsql/cfn_cluster_props.rb', line 31

def deletion_protection_enabled
  @deletion_protection_enabled
end

#kms_encryption_keyString? (readonly)

The KMS key that encrypts data on the cluster.



36
37
38
# File 'dsql/cfn_cluster_props.rb', line 36

def kms_encryption_key
  @kms_encryption_key
end

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

Defines the structure for multi-Region cluster configurations, containing the witness Region and peered cluster settings.



41
42
43
# File 'dsql/cfn_cluster_props.rb', line 41

def multi_region_properties
  @multi_region_properties
end

#policy_documentString? (readonly)

A resource-based policy document in JSON format.

Length constraints: Minimum length of 1. Maximum length of 20480 characters (approximately 20KB).



48
49
50
# File 'dsql/cfn_cluster_props.rb', line 48

def policy_document
  @policy_document
end

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

A map of key and value pairs this cluster is tagged with.



53
54
55
# File 'dsql/cfn_cluster_props.rb', line 53

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



55
56
57
58
59
60
61
62
63
# File 'dsql/cfn_cluster_props.rb', line 55

def self.jsii_properties
  {
    :deletion_protection_enabled => "deletionProtectionEnabled",
    :kms_encryption_key => "kmsEncryptionKey",
    :multi_region_properties => "multiRegionProperties",
    :policy_document => "policyDocument",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



65
66
67
68
69
70
71
72
73
74
75
# File 'dsql/cfn_cluster_props.rb', line 65

def to_jsii
  result = {}
  result.merge!({
    "deletionProtectionEnabled" => @deletion_protection_enabled,
    "kmsEncryptionKey" => @kms_encryption_key,
    "multiRegionProperties" => @multi_region_properties,
    "policyDocument" => @policy_document,
    "tags" => @tags,
  })
  result.compact
end