Class: AWSCDK::OpenSearchService::CfnDomain::EBSOptionsProperty

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

Overview

The configurations of Amazon Elastic Block Store (Amazon EBS) volumes that are attached to data nodes in the OpenSearch Service domain.

For more information, see EBS volume size limits in the Amazon OpenSearch Service Developer Guide .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ebs_enabled: nil, iops: nil, throughput: nil, volume_size: nil, volume_type: nil) ⇒ EBSOptionsProperty

Returns a new instance of EBSOptionsProperty.

Parameters:

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

    Specifies whether Amazon EBS volumes are attached to data nodes in the OpenSearch Service domain.

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

    The number of I/O operations per second (IOPS) that the volume supports.

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

    The throughput (in MiB/s) of the EBS volumes attached to data nodes.

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

    The size (in GiB) of the EBS volume for each data node.

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

    The EBS volume type to use with the OpenSearch Service domain.



1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
# File 'open_search_service/cfn_domain.rb', line 1551

def initialize(ebs_enabled: nil, iops: nil, throughput: nil, volume_size: nil, volume_type: nil)
  @ebs_enabled = ebs_enabled
  Jsii::Type.check_type(@ebs_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "ebsEnabled") unless @ebs_enabled.nil?
  @iops = iops
  Jsii::Type.check_type(@iops, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "iops") unless @iops.nil?
  @throughput = throughput
  Jsii::Type.check_type(@throughput, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "throughput") unless @throughput.nil?
  @volume_size = volume_size
  Jsii::Type.check_type(@volume_size, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "volumeSize") unless @volume_size.nil?
  @volume_type = volume_type
  Jsii::Type.check_type(@volume_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "volumeType") unless @volume_type.nil?
end

Instance Attribute Details

#ebs_enabledBoolean, ... (readonly)

Specifies whether Amazon EBS volumes are attached to data nodes in the OpenSearch Service domain.



1568
1569
1570
# File 'open_search_service/cfn_domain.rb', line 1568

def ebs_enabled
  @ebs_enabled
end

#iopsNumeric? (readonly)

The number of I/O operations per second (IOPS) that the volume supports.

This property applies only to the gp3 and provisioned IOPS EBS volume types.



1575
1576
1577
# File 'open_search_service/cfn_domain.rb', line 1575

def iops
  @iops
end

#throughputNumeric? (readonly)

The throughput (in MiB/s) of the EBS volumes attached to data nodes.

Applies only to the gp3 volume type.



1582
1583
1584
# File 'open_search_service/cfn_domain.rb', line 1582

def throughput
  @throughput
end

#volume_sizeNumeric? (readonly)

The size (in GiB) of the EBS volume for each data node.

The minimum and maximum size of an EBS volume depends on the EBS volume type and the instance type to which it is attached. For more information, see EBS volume size limits in the Amazon OpenSearch Service Developer Guide .



1589
1590
1591
# File 'open_search_service/cfn_domain.rb', line 1589

def volume_size
  @volume_size
end

#volume_typeString? (readonly)

The EBS volume type to use with the OpenSearch Service domain.

If you choose gp3 , you must also specify values for Iops and Throughput . For more information about each type, see Amazon EBS volume types in the Amazon EC2 User Guide for Linux Instances .



1596
1597
1598
# File 'open_search_service/cfn_domain.rb', line 1596

def volume_type
  @volume_type
end

Class Method Details

.jsii_propertiesObject



1598
1599
1600
1601
1602
1603
1604
1605
1606
# File 'open_search_service/cfn_domain.rb', line 1598

def self.jsii_properties
  {
    :ebs_enabled => "ebsEnabled",
    :iops => "iops",
    :throughput => "throughput",
    :volume_size => "volumeSize",
    :volume_type => "volumeType",
  }
end

Instance Method Details

#to_jsiiObject



1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
# File 'open_search_service/cfn_domain.rb', line 1608

def to_jsii
  result = {}
  result.merge!({
    "ebsEnabled" => @ebs_enabled,
    "iops" => @iops,
    "throughput" => @throughput,
    "volumeSize" => @volume_size,
    "volumeType" => @volume_type,
  })
  result.compact
end