Class: AWSCDK::OpenSearchService::EbsOptions

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

Overview

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

For more information, see Amazon EBS in the Amazon Elastic Compute Cloud Developer Guide.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(enabled: nil, iops: nil, throughput: nil, volume_size: nil, volume_type: nil) ⇒ EbsOptions

Returns a new instance of EbsOptions.

Parameters:

  • enabled (Boolean, nil) (defaults to: nil)

    Specifies whether Amazon EBS volumes are attached to data nodes in the Amazon 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 (AWSCDK::EC2::EbsDeviceVolumeType, nil) (defaults to: nil)

    The EBS volume type to use with the Amazon OpenSearch Service domain, such as standard, gp2, io1.



16
17
18
19
20
21
22
23
24
25
26
27
# File 'open_search_service/ebs_options.rb', line 16

def initialize(enabled: nil, iops: nil, throughput: nil, volume_size: nil, volume_type: nil)
  @enabled = enabled
  Jsii::Type.check_type(@enabled, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "enabled") unless @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("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkVic0RldmljZVZvbHVtZVR5cGUifQ==")), "volumeType") unless @volume_type.nil?
end

Instance Attribute Details

#enabledBoolean? (readonly)

Note:

Default: - true

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

Returns:

  • (Boolean, nil)


33
34
35
# File 'open_search_service/ebs_options.rb', line 33

def enabled
  @enabled
end

#iopsNumeric? (readonly)

Note:

Default: - iops are not set.

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

This property applies only to the gp3 and Provisioned IOPS (SSD) EBS volume type.

Returns:

  • (Numeric, nil)


41
42
43
# File 'open_search_service/ebs_options.rb', line 41

def iops
  @iops
end

#throughputNumeric? (readonly)

Note:

Default: - throughput is not set.

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

This property applies only to the gp3 volume type.

Returns:

  • (Numeric, nil)


48
49
50
# File 'open_search_service/ebs_options.rb', line 48

def throughput
  @throughput
end

#volume_sizeNumeric? (readonly)

Note:

Default: 10

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 valid values, see EBS volume size limits in the Amazon OpenSearch Service Developer Guide.

Returns:

  • (Numeric, nil)


59
60
61
# File 'open_search_service/ebs_options.rb', line 59

def volume_size
  @volume_size
end

#volume_typeAWSCDK::EC2::EbsDeviceVolumeType? (readonly)

Note:

Default: gp2

The EBS volume type to use with the Amazon OpenSearch Service domain, such as standard, gp2, io1.



64
65
66
# File 'open_search_service/ebs_options.rb', line 64

def volume_type
  @volume_type
end

Class Method Details

.jsii_propertiesObject



66
67
68
69
70
71
72
73
74
# File 'open_search_service/ebs_options.rb', line 66

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

Instance Method Details

#to_jsiiObject



76
77
78
79
80
81
82
83
84
85
86
# File 'open_search_service/ebs_options.rb', line 76

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