Class: AWSCDK::Elasticsearch::CfnDomain::EBSOptionsProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
elasticsearch/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 .

The AWS::Elasticsearch::Domain resource is being replaced by the AWS::OpenSearchService::Domain resource. While the legacy Elasticsearch resource and options are still supported, we recommend modifying your existing Cloudformation templates to use the new OpenSearch Service resource, which supports both OpenSearch and Elasticsearch. For more information about the service rename, see New resource types 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, 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.

  • 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, such as standard, gp2, or io1.



1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
# File 'elasticsearch/cfn_domain.rb', line 1029

def initialize(ebs_enabled: nil, iops: 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?
  @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.



1044
1045
1046
# File 'elasticsearch/cfn_domain.rb', line 1044

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 provisioned IOPS EBS volume types.



1051
1052
1053
# File 'elasticsearch/cfn_domain.rb', line 1051

def iops
  @iops
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 .



1058
1059
1060
# File 'elasticsearch/cfn_domain.rb', line 1058

def volume_size
  @volume_size
end

#volume_typeString? (readonly)

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

For more information about each type, see Amazon EBS volume types in the Amazon EC2 User Guide for Linux Instances .



1065
1066
1067
# File 'elasticsearch/cfn_domain.rb', line 1065

def volume_type
  @volume_type
end

Class Method Details

.jsii_propertiesObject



1067
1068
1069
1070
1071
1072
1073
1074
# File 'elasticsearch/cfn_domain.rb', line 1067

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

Instance Method Details

#to_jsiiObject



1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
# File 'elasticsearch/cfn_domain.rb', line 1076

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