Class: AWSCDK::MemoryDB::CfnMultiRegionClusterProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
memory_db/cfn_multi_region_cluster_props.rb

Overview

Properties for defining a CfnMultiRegionCluster.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(node_type:, description: nil, engine: nil, engine_version: nil, multi_region_cluster_name_suffix: nil, multi_region_parameter_group_name: nil, num_shards: nil, tags: nil, tls_enabled: nil, update_strategy: nil) ⇒ CfnMultiRegionClusterProps

Returns a new instance of CfnMultiRegionClusterProps.

Parameters:

  • node_type (String)

    The node type used by the multi-Region cluster.

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

    The description of the multi-Region cluster.

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

    The name of the engine used by the multi-Region cluster.

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

    The version of the engine used by the multi-Region cluster.

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

    A suffix to be added to the Multi-Region cluster name.

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

    The name of the multi-Region parameter group associated with the cluster.

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

    The number of shards in the multi-Region cluster.

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

    A list of tags to be applied to the multi-Region cluster.

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

    Indiciates if the multi-Region cluster is TLS enabled.

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

    The strategy to use for the update operation.



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'memory_db/cfn_multi_region_cluster_props.rb', line 19

def initialize(node_type:, description: nil, engine: nil, engine_version: nil, multi_region_cluster_name_suffix: nil, multi_region_parameter_group_name: nil, num_shards: nil, tags: nil, tls_enabled: nil, update_strategy: nil)
  @node_type = node_type
  Jsii::Type.check_type(@node_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "nodeType")
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @engine = engine
  Jsii::Type.check_type(@engine, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "engine") unless @engine.nil?
  @engine_version = engine_version
  Jsii::Type.check_type(@engine_version, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "engineVersion") unless @engine_version.nil?
  @multi_region_cluster_name_suffix = multi_region_cluster_name_suffix
  Jsii::Type.check_type(@multi_region_cluster_name_suffix, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "multiRegionClusterNameSuffix") unless @multi_region_cluster_name_suffix.nil?
  @multi_region_parameter_group_name = multi_region_parameter_group_name
  Jsii::Type.check_type(@multi_region_parameter_group_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "multiRegionParameterGroupName") unless @multi_region_parameter_group_name.nil?
  @num_shards = num_shards
  Jsii::Type.check_type(@num_shards, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "numShards") unless @num_shards.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?
  @tls_enabled = tls_enabled
  Jsii::Type.check_type(@tls_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "tlsEnabled") unless @tls_enabled.nil?
  @update_strategy = update_strategy
  Jsii::Type.check_type(@update_strategy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "updateStrategy") unless @update_strategy.nil?
end

Instance Attribute Details

#descriptionString? (readonly)

The description of the multi-Region cluster.



51
52
53
# File 'memory_db/cfn_multi_region_cluster_props.rb', line 51

def description
  @description
end

#engineString? (readonly)

The name of the engine used by the multi-Region cluster.



56
57
58
# File 'memory_db/cfn_multi_region_cluster_props.rb', line 56

def engine
  @engine
end

#engine_versionString? (readonly)

The version of the engine used by the multi-Region cluster.



61
62
63
# File 'memory_db/cfn_multi_region_cluster_props.rb', line 61

def engine_version
  @engine_version
end

#multi_region_cluster_name_suffixString? (readonly)

A suffix to be added to the Multi-Region cluster name.

Amazon MemoryDB automatically applies a prefix to the Multi-Region cluster Name when it is created. Each Amazon Region has its own prefix. For instance, a Multi-Region cluster Name created in the US-West-1 region will begin with "virxk", along with the suffix name you provide. The suffix guarantees uniqueness of the Multi-Region cluster name across multiple regions.



68
69
70
# File 'memory_db/cfn_multi_region_cluster_props.rb', line 68

def multi_region_cluster_name_suffix
  @multi_region_cluster_name_suffix
end

#multi_region_parameter_group_nameString? (readonly)

The name of the multi-Region parameter group associated with the cluster.



73
74
75
# File 'memory_db/cfn_multi_region_cluster_props.rb', line 73

def multi_region_parameter_group_name
  @multi_region_parameter_group_name
end

#node_typeString (readonly)

The node type used by the multi-Region cluster.



46
47
48
# File 'memory_db/cfn_multi_region_cluster_props.rb', line 46

def node_type
  @node_type
end

#num_shardsNumeric? (readonly)

The number of shards in the multi-Region cluster.



78
79
80
# File 'memory_db/cfn_multi_region_cluster_props.rb', line 78

def num_shards
  @num_shards
end

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

A list of tags to be applied to the multi-Region cluster.



83
84
85
# File 'memory_db/cfn_multi_region_cluster_props.rb', line 83

def tags
  @tags
end

#tls_enabledBoolean, ... (readonly)

Indiciates if the multi-Region cluster is TLS enabled.



88
89
90
# File 'memory_db/cfn_multi_region_cluster_props.rb', line 88

def tls_enabled
  @tls_enabled
end

#update_strategyString? (readonly)

The strategy to use for the update operation.

Supported values are "coordinated" or "uncoordinated".



95
96
97
# File 'memory_db/cfn_multi_region_cluster_props.rb', line 95

def update_strategy
  @update_strategy
end

Class Method Details

.jsii_propertiesObject



97
98
99
100
101
102
103
104
105
106
107
108
109
110
# File 'memory_db/cfn_multi_region_cluster_props.rb', line 97

def self.jsii_properties
  {
    :node_type => "nodeType",
    :description => "description",
    :engine => "engine",
    :engine_version => "engineVersion",
    :multi_region_cluster_name_suffix => "multiRegionClusterNameSuffix",
    :multi_region_parameter_group_name => "multiRegionParameterGroupName",
    :num_shards => "numShards",
    :tags => "tags",
    :tls_enabled => "tlsEnabled",
    :update_strategy => "updateStrategy",
  }
end

Instance Method Details

#to_jsiiObject



112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# File 'memory_db/cfn_multi_region_cluster_props.rb', line 112

def to_jsii
  result = {}
  result.merge!({
    "nodeType" => @node_type,
    "description" => @description,
    "engine" => @engine,
    "engineVersion" => @engine_version,
    "multiRegionClusterNameSuffix" => @multi_region_cluster_name_suffix,
    "multiRegionParameterGroupName" => @multi_region_parameter_group_name,
    "numShards" => @num_shards,
    "tags" => @tags,
    "tlsEnabled" => @tls_enabled,
    "updateStrategy" => @update_strategy,
  })
  result.compact
end