Class: AWSCDK::OpenSearchService::CfnDomain::ClusterConfigProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
open_search_service/cfn_domain.rb

Overview

The cluster configuration for the OpenSearch Service domain.

You can specify options such as the instance type and the number of instances. For more information, see Creating and managing Amazon OpenSearch Service domains in the Amazon OpenSearch Service Developer Guide .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(cold_storage_options: nil, dedicated_master_count: nil, dedicated_master_enabled: nil, dedicated_master_type: nil, instance_count: nil, instance_type: nil, multi_az_with_standby_enabled: nil, node_options: nil, warm_count: nil, warm_enabled: nil, warm_type: nil, zone_awareness_config: nil, zone_awareness_enabled: nil) ⇒ ClusterConfigProperty

Returns a new instance of ClusterConfigProperty.

Parameters:



1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
# File 'open_search_service/cfn_domain.rb', line 1170

def initialize(cold_storage_options: nil, dedicated_master_count: nil, dedicated_master_enabled: nil, dedicated_master_type: nil, instance_count: nil, instance_type: nil, multi_az_with_standby_enabled: nil, node_options: nil, warm_count: nil, warm_enabled: nil, warm_type: nil, zone_awareness_config: nil, zone_awareness_enabled: nil)
  @cold_storage_options = cold_storage_options.is_a?(Hash) ? ::AWSCDK::OpenSearchService::CfnDomain::ColdStorageOptionsProperty.new(**cold_storage_options.transform_keys(&:to_sym)) : cold_storage_options
  Jsii::Type.check_type(@cold_storage_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19vcGVuc2VhcmNoc2VydmljZS5DZm5Eb21haW4uQ29sZFN0b3JhZ2VPcHRpb25zUHJvcGVydHkifV19fQ==")), "coldStorageOptions") unless @cold_storage_options.nil?
  @dedicated_master_count = dedicated_master_count
  Jsii::Type.check_type(@dedicated_master_count, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "dedicatedMasterCount") unless @dedicated_master_count.nil?
  @dedicated_master_enabled = dedicated_master_enabled
  Jsii::Type.check_type(@dedicated_master_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "dedicatedMasterEnabled") unless @dedicated_master_enabled.nil?
  @dedicated_master_type = dedicated_master_type
  Jsii::Type.check_type(@dedicated_master_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dedicatedMasterType") unless @dedicated_master_type.nil?
  @instance_count = instance_count
  Jsii::Type.check_type(@instance_count, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "instanceCount") unless @instance_count.nil?
  @instance_type = instance_type
  Jsii::Type.check_type(@instance_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "instanceType") unless @instance_type.nil?
  @multi_az_with_standby_enabled = multi_az_with_standby_enabled
  Jsii::Type.check_type(@multi_az_with_standby_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "multiAzWithStandbyEnabled") unless @multi_az_with_standby_enabled.nil?
  @node_options = node_options
  Jsii::Type.check_type(@node_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfb3BlbnNlYXJjaHNlcnZpY2UuQ2ZuRG9tYWluLk5vZGVPcHRpb25Qcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "nodeOptions") unless @node_options.nil?
  @warm_count = warm_count
  Jsii::Type.check_type(@warm_count, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "warmCount") unless @warm_count.nil?
  @warm_enabled = warm_enabled
  Jsii::Type.check_type(@warm_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "warmEnabled") unless @warm_enabled.nil?
  @warm_type = warm_type
  Jsii::Type.check_type(@warm_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "warmType") unless @warm_type.nil?
  @zone_awareness_config = zone_awareness_config.is_a?(Hash) ? ::AWSCDK::OpenSearchService::CfnDomain::ZoneAwarenessConfigProperty.new(**zone_awareness_config.transform_keys(&:to_sym)) : zone_awareness_config
  Jsii::Type.check_type(@zone_awareness_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19vcGVuc2VhcmNoc2VydmljZS5DZm5Eb21haW4uWm9uZUF3YXJlbmVzc0NvbmZpZ1Byb3BlcnR5In1dfX0=")), "zoneAwarenessConfig") unless @zone_awareness_config.nil?
  @zone_awareness_enabled = zone_awareness_enabled
  Jsii::Type.check_type(@zone_awareness_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "zoneAwarenessEnabled") unless @zone_awareness_enabled.nil?
end

Instance Attribute Details

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

Container for cold storage configuration options.



1203
1204
1205
# File 'open_search_service/cfn_domain.rb', line 1203

def cold_storage_options
  @cold_storage_options
end

#dedicated_master_countNumeric? (readonly)

The number of instances to use for the master node.

If you specify this property, you must specify true for the DedicatedMasterEnabled property.



1210
1211
1212
# File 'open_search_service/cfn_domain.rb', line 1210

def dedicated_master_count
  @dedicated_master_count
end

#dedicated_master_enabledBoolean, ... (readonly)

Indicates whether to use a dedicated master node for the OpenSearch Service domain.

A dedicated master node is a cluster node that performs cluster management tasks, but doesn't hold data or respond to data upload requests. Dedicated master nodes offload cluster management tasks to increase the stability of your search clusters. See Dedicated master nodes in Amazon OpenSearch Service .



1217
1218
1219
# File 'open_search_service/cfn_domain.rb', line 1217

def dedicated_master_enabled
  @dedicated_master_enabled
end

#dedicated_master_typeString? (readonly)

The hardware configuration of the computer that hosts the dedicated master node, such as m3.medium.search . If you specify this property, you must specify true for the DedicatedMasterEnabled property. For valid values, see Supported instance types in Amazon OpenSearch Service .



1222
1223
1224
# File 'open_search_service/cfn_domain.rb', line 1222

def dedicated_master_type
  @dedicated_master_type
end

#instance_countNumeric? (readonly)

The number of data nodes (instances) to use in the OpenSearch Service domain.



1227
1228
1229
# File 'open_search_service/cfn_domain.rb', line 1227

def instance_count
  @instance_count
end

#instance_typeString? (readonly)

The instance type for your data nodes, such as m3.medium.search . For valid values, see Supported instance types in Amazon OpenSearch Service .



1232
1233
1234
# File 'open_search_service/cfn_domain.rb', line 1232

def instance_type
  @instance_type
end

#multi_az_with_standby_enabledBoolean, ... (readonly)

Indicates whether Multi-AZ with Standby deployment option is enabled.

For more information, see Multi-AZ with Standby .



1239
1240
1241
# File 'open_search_service/cfn_domain.rb', line 1239

def multi_az_with_standby_enabled
  @multi_az_with_standby_enabled
end

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

List of node options for the domain.



1244
1245
1246
# File 'open_search_service/cfn_domain.rb', line 1244

def node_options
  @node_options
end

#warm_countNumeric? (readonly)

The number of warm nodes in the cluster.



1249
1250
1251
# File 'open_search_service/cfn_domain.rb', line 1249

def warm_count
  @warm_count
end

#warm_enabledBoolean, ... (readonly)

Whether to enable UltraWarm storage for the cluster.

See UltraWarm storage for Amazon OpenSearch Service .



1256
1257
1258
# File 'open_search_service/cfn_domain.rb', line 1256

def warm_enabled
  @warm_enabled
end

#warm_typeString? (readonly)

The instance type for the cluster's warm nodes.



1261
1262
1263
# File 'open_search_service/cfn_domain.rb', line 1261

def warm_type
  @warm_type
end

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

Specifies zone awareness configuration options.

Only use if ZoneAwarenessEnabled is true .



1268
1269
1270
# File 'open_search_service/cfn_domain.rb', line 1268

def zone_awareness_config
  @zone_awareness_config
end

#zone_awareness_enabledBoolean, ... (readonly)

Indicates whether to enable zone awareness for the OpenSearch Service domain.

When you enable zone awareness, OpenSearch Service allocates the nodes and replica index shards that belong to a cluster across two Availability Zones (AZs) in the same region to prevent data loss and minimize downtime in the event of node or data center failure. Don't enable zone awareness if your cluster has no replica index shards or is a single-node cluster. For more information, see Configuring a multi-AZ domain in Amazon OpenSearch Service .



1275
1276
1277
# File 'open_search_service/cfn_domain.rb', line 1275

def zone_awareness_enabled
  @zone_awareness_enabled
end

Class Method Details

.jsii_propertiesObject



1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
# File 'open_search_service/cfn_domain.rb', line 1277

def self.jsii_properties
  {
    :cold_storage_options => "coldStorageOptions",
    :dedicated_master_count => "dedicatedMasterCount",
    :dedicated_master_enabled => "dedicatedMasterEnabled",
    :dedicated_master_type => "dedicatedMasterType",
    :instance_count => "instanceCount",
    :instance_type => "instanceType",
    :multi_az_with_standby_enabled => "multiAzWithStandbyEnabled",
    :node_options => "nodeOptions",
    :warm_count => "warmCount",
    :warm_enabled => "warmEnabled",
    :warm_type => "warmType",
    :zone_awareness_config => "zoneAwarenessConfig",
    :zone_awareness_enabled => "zoneAwarenessEnabled",
  }
end

Instance Method Details

#to_jsiiObject



1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
# File 'open_search_service/cfn_domain.rb', line 1295

def to_jsii
  result = {}
  result.merge!({
    "coldStorageOptions" => @cold_storage_options,
    "dedicatedMasterCount" => @dedicated_master_count,
    "dedicatedMasterEnabled" => @dedicated_master_enabled,
    "dedicatedMasterType" => @dedicated_master_type,
    "instanceCount" => @instance_count,
    "instanceType" => @instance_type,
    "multiAzWithStandbyEnabled" => @multi_az_with_standby_enabled,
    "nodeOptions" => @node_options,
    "warmCount" => @warm_count,
    "warmEnabled" => @warm_enabled,
    "warmType" => @warm_type,
    "zoneAwarenessConfig" => @zone_awareness_config,
    "zoneAwarenessEnabled" => @zone_awareness_enabled,
  })
  result.compact
end