Class: AWSCDK::DSQL::CfnClusterProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::DSQL::CfnClusterProps
- Defined in:
- dsql/cfn_cluster_props.rb
Overview
Properties for defining a CfnCluster.
Instance Attribute Summary collapse
-
#deletion_protection_enabled ⇒ Boolean, ...
readonly
Whether deletion protection is enabled on this cluster.
-
#kms_encryption_key ⇒ String?
readonly
The KMS key that encrypts data on the cluster.
-
#multi_region_properties ⇒ AWSCDK::IResolvable, ...
readonly
Defines the structure for multi-Region cluster configurations, containing the witness Region and peered cluster settings.
-
#policy_document ⇒ String?
readonly
A resource-based policy document in JSON format.
-
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
A map of key and value pairs this cluster is tagged with.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(deletion_protection_enabled: nil, kms_encryption_key: nil, multi_region_properties: nil, policy_document: nil, tags: nil) ⇒ CfnClusterProps
constructor
A new instance of CfnClusterProps.
- #to_jsii ⇒ Object
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.
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 = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil? end |
Instance Attribute Details
#deletion_protection_enabled ⇒ Boolean, ... (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_key ⇒ String? (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_properties ⇒ AWSCDK::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_document ⇒ String? (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 |
#tags ⇒ Array<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 end |
Class Method Details
.jsii_properties ⇒ Object
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_jsii ⇒ Object
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 |