You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::ElasticsearchService::Client

Inherits:
Seahorse::Client::Base show all
Defined in:
(unknown)

Overview

An API client for Amazon Elasticsearch Service. To construct a client, you need to configure a :region and :credentials.

elasticsearchservice = Aws::ElasticsearchService::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

See #initialize for a full list of supported configuration options.

Region

You can configure a default region in the following locations:

  • ENV['AWS_REGION']
  • Aws.config[:region]

Go here for a list of supported regions.

Credentials

Default credentials are loaded automatically from the following locations:

  • ENV['AWS_ACCESS_KEY_ID'] and ENV['AWS_SECRET_ACCESS_KEY']
  • Aws.config[:credentials]
  • The shared credentials ini file at ~/.aws/credentials (more information)
  • From an instance profile when running on EC2

You can also construct a credentials object from one of the following classes:

Alternatively, you configure credentials with :access_key_id and :secret_access_key:

# load credentials from disk
creds = YAML.load(File.read('/path/to/secrets'))

Aws::ElasticsearchService::Client.new(
  access_key_id: creds['access_key_id'],
  secret_access_key: creds['secret_access_key']
)

Always load your credentials from outside your application. Avoid configuring credentials statically and never commit them to source control.

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

Constructor collapse

API Operations collapse

Instance Method Summary collapse

Methods inherited from Seahorse::Client::Base

add_plugin, api, #build_request, clear_plugins, define, new, #operation, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options = {}) ⇒ Aws::ElasticsearchService::Client

Constructs an API client.

Options Hash (options):

  • :access_key_id (String)

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :convert_params (Boolean) — default: true

    When true, an attempt is made to coerce request parameters into the required types. See Plugins::ParamConverter for more details.

  • :credentials (required, Credentials)

    Your AWS credentials. The following locations will be searched in order for credentials:

    • :access_key_id, :secret_access_key, and :session_token options
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
    • HOME/.aws/credentials shared credentials file
    • EC2 instance profile credentials See Plugins::RequestSigner for more details.
  • :endpoint (String)

    A default endpoint is constructed from the :region. See Plugins::RegionalEndpoint for more details.

  • :http_continue_timeout (Float) — default: 1

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_idle_timeout (Integer) — default: 5

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_open_timeout (Integer) — default: 15

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_proxy (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_read_timeout (Integer) — default: 60

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_wire_trace (Boolean) — default: false

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the logger at. See Plugins::Logging for more details.

  • :log_formatter (Logging::LogFormatter)

    The log formatter. Defaults to Seahorse::Client::Logging::Formatter.default. See Plugins::Logging for more details.

  • :logger (Logger) — default: nil

    The Logger instance to send log messages to. If this option is not set, logging will be disabled. See Plugins::Logging for more details.

  • :profile (String)

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used. See Plugins::RequestSigner for more details.

  • :raise_response_errors (Boolean) — default: true

    When true, response errors are raised. See Seahorse::Client::Plugins::RaiseResponseErrors for more details.

  • :region (required, String)

    The AWS region to connect to. The region is used to construct the client endpoint. Defaults to ENV['AWS_REGION']. Also checks AMAZON_REGION and AWS_DEFAULT_REGION. See Plugins::RegionalEndpoint for more details.

  • :retry_limit (Integer) — default: 3

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors and auth errors from expired credentials. See Plugins::RetryErrors for more details.

  • :secret_access_key (String)

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :session_token (String)

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :ssl_ca_bundle (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_ca_directory (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_ca_store (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_verify_peer (Boolean) — default: true

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :stub_responses (Boolean) — default: false

    Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify the response data to return or errors to raise by calling ClientStubs#stub_responses. See ClientStubs for more information.

    Please note When response stubbing is enabled, no HTTP requests are made, and retries are disabled. See Plugins::StubResponses for more details.

  • :validate_params (Boolean) — default: true

    When true, request parameters are validated before sending the request. See Plugins::ParamValidator for more details.

Instance Method Details

#add_tags(options = {}) ⇒ Struct

Attaches tags to an existing Elasticsearch domain. Tags are a set of case-sensitive key value pairs. An Elasticsearch domain may have up to 10 tags. See Tagging Amazon Elasticsearch Service Domains for more information.

Examples:

Request syntax with placeholder values


resp = client.add_tags({
  arn: "ARN", # required
  tag_list: [ # required
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
})

Options Hash (options):

  • :arn (required, String)

    Specify the ARN for which you want to add the tags.

  • :tag_list (required, Array<Types::Tag>)

    List of Tag that need to be added for the Elasticsearch domain.

Returns:

  • (Struct)

    Returns an empty response.

#create_elasticsearch_domain(options = {}) ⇒ Types::CreateElasticsearchDomainResponse

Creates a new Elasticsearch domain. For more information, see Creating Elasticsearch Domains in the Amazon Elasticsearch Service Developer Guide.

Examples:

Request syntax with placeholder values


resp = client.create_elasticsearch_domain({
  domain_name: "DomainName", # required
  elasticsearch_version: "ElasticsearchVersionString",
  elasticsearch_cluster_config: {
    instance_type: "m3.medium.elasticsearch", # accepts m3.medium.elasticsearch, m3.large.elasticsearch, m3.xlarge.elasticsearch, m3.2xlarge.elasticsearch, m4.large.elasticsearch, m4.xlarge.elasticsearch, m4.2xlarge.elasticsearch, m4.4xlarge.elasticsearch, m4.10xlarge.elasticsearch, t2.micro.elasticsearch, t2.small.elasticsearch, t2.medium.elasticsearch, r3.large.elasticsearch, r3.xlarge.elasticsearch, r3.2xlarge.elasticsearch, r3.4xlarge.elasticsearch, r3.8xlarge.elasticsearch, i2.xlarge.elasticsearch, i2.2xlarge.elasticsearch, d2.xlarge.elasticsearch, d2.2xlarge.elasticsearch, d2.4xlarge.elasticsearch, d2.8xlarge.elasticsearch, c4.large.elasticsearch, c4.xlarge.elasticsearch, c4.2xlarge.elasticsearch, c4.4xlarge.elasticsearch, c4.8xlarge.elasticsearch, r4.large.elasticsearch, r4.xlarge.elasticsearch, r4.2xlarge.elasticsearch, r4.4xlarge.elasticsearch, r4.8xlarge.elasticsearch, r4.16xlarge.elasticsearch, i3.large.elasticsearch, i3.xlarge.elasticsearch, i3.2xlarge.elasticsearch, i3.4xlarge.elasticsearch, i3.8xlarge.elasticsearch, i3.16xlarge.elasticsearch
    instance_count: 1,
    dedicated_master_enabled: false,
    zone_awareness_enabled: false,
    dedicated_master_type: "m3.medium.elasticsearch", # accepts m3.medium.elasticsearch, m3.large.elasticsearch, m3.xlarge.elasticsearch, m3.2xlarge.elasticsearch, m4.large.elasticsearch, m4.xlarge.elasticsearch, m4.2xlarge.elasticsearch, m4.4xlarge.elasticsearch, m4.10xlarge.elasticsearch, t2.micro.elasticsearch, t2.small.elasticsearch, t2.medium.elasticsearch, r3.large.elasticsearch, r3.xlarge.elasticsearch, r3.2xlarge.elasticsearch, r3.4xlarge.elasticsearch, r3.8xlarge.elasticsearch, i2.xlarge.elasticsearch, i2.2xlarge.elasticsearch, d2.xlarge.elasticsearch, d2.2xlarge.elasticsearch, d2.4xlarge.elasticsearch, d2.8xlarge.elasticsearch, c4.large.elasticsearch, c4.xlarge.elasticsearch, c4.2xlarge.elasticsearch, c4.4xlarge.elasticsearch, c4.8xlarge.elasticsearch, r4.large.elasticsearch, r4.xlarge.elasticsearch, r4.2xlarge.elasticsearch, r4.4xlarge.elasticsearch, r4.8xlarge.elasticsearch, r4.16xlarge.elasticsearch, i3.large.elasticsearch, i3.xlarge.elasticsearch, i3.2xlarge.elasticsearch, i3.4xlarge.elasticsearch, i3.8xlarge.elasticsearch, i3.16xlarge.elasticsearch
    dedicated_master_count: 1,
  },
  ebs_options: {
    ebs_enabled: false,
    volume_type: "standard", # accepts standard, gp2, io1
    volume_size: 1,
    iops: 1,
  },
  access_policies: "PolicyDocument",
  snapshot_options: {
    automated_snapshot_start_hour: 1,
  },
  vpc_options: {
    subnet_ids: ["String"],
    security_group_ids: ["String"],
  },
  encryption_at_rest_options: {
    enabled: false,
    kms_key_id: "KmsKeyId",
  },
  advanced_options: {
    "String" => "String",
  },
  log_publishing_options: {
    "INDEX_SLOW_LOGS" => {
      cloud_watch_logs_log_group_arn: "CloudWatchLogsLogGroupArn",
      enabled: false,
    },
  },
})

Response structure


resp.domain_status.domain_id #=> String
resp.domain_status.domain_name #=> String
resp.domain_status.arn #=> String
resp.domain_status.created #=> true/false
resp.domain_status.deleted #=> true/false
resp.domain_status.endpoint #=> String
resp.domain_status.endpoints #=> Hash
resp.domain_status.endpoints["String"] #=> String
resp.domain_status.processing #=> true/false
resp.domain_status.elasticsearch_version #=> String
resp.domain_status.elasticsearch_cluster_config.instance_type #=> String, one of "m3.medium.elasticsearch", "m3.large.elasticsearch", "m3.xlarge.elasticsearch", "m3.2xlarge.elasticsearch", "m4.large.elasticsearch", "m4.xlarge.elasticsearch", "m4.2xlarge.elasticsearch", "m4.4xlarge.elasticsearch", "m4.10xlarge.elasticsearch", "t2.micro.elasticsearch", "t2.small.elasticsearch", "t2.medium.elasticsearch", "r3.large.elasticsearch", "r3.xlarge.elasticsearch", "r3.2xlarge.elasticsearch", "r3.4xlarge.elasticsearch", "r3.8xlarge.elasticsearch", "i2.xlarge.elasticsearch", "i2.2xlarge.elasticsearch", "d2.xlarge.elasticsearch", "d2.2xlarge.elasticsearch", "d2.4xlarge.elasticsearch", "d2.8xlarge.elasticsearch", "c4.large.elasticsearch", "c4.xlarge.elasticsearch", "c4.2xlarge.elasticsearch", "c4.4xlarge.elasticsearch", "c4.8xlarge.elasticsearch", "r4.large.elasticsearch", "r4.xlarge.elasticsearch", "r4.2xlarge.elasticsearch", "r4.4xlarge.elasticsearch", "r4.8xlarge.elasticsearch", "r4.16xlarge.elasticsearch", "i3.large.elasticsearch", "i3.xlarge.elasticsearch", "i3.2xlarge.elasticsearch", "i3.4xlarge.elasticsearch", "i3.8xlarge.elasticsearch", "i3.16xlarge.elasticsearch"
resp.domain_status.elasticsearch_cluster_config.instance_count #=> Integer
resp.domain_status.elasticsearch_cluster_config.dedicated_master_enabled #=> true/false
resp.domain_status.elasticsearch_cluster_config.zone_awareness_enabled #=> true/false
resp.domain_status.elasticsearch_cluster_config.dedicated_master_type #=> String, one of "m3.medium.elasticsearch", "m3.large.elasticsearch", "m3.xlarge.elasticsearch", "m3.2xlarge.elasticsearch", "m4.large.elasticsearch", "m4.xlarge.elasticsearch", "m4.2xlarge.elasticsearch", "m4.4xlarge.elasticsearch", "m4.10xlarge.elasticsearch", "t2.micro.elasticsearch", "t2.small.elasticsearch", "t2.medium.elasticsearch", "r3.large.elasticsearch", "r3.xlarge.elasticsearch", "r3.2xlarge.elasticsearch", "r3.4xlarge.elasticsearch", "r3.8xlarge.elasticsearch", "i2.xlarge.elasticsearch", "i2.2xlarge.elasticsearch", "d2.xlarge.elasticsearch", "d2.2xlarge.elasticsearch", "d2.4xlarge.elasticsearch", "d2.8xlarge.elasticsearch", "c4.large.elasticsearch", "c4.xlarge.elasticsearch", "c4.2xlarge.elasticsearch", "c4.4xlarge.elasticsearch", "c4.8xlarge.elasticsearch", "r4.large.elasticsearch", "r4.xlarge.elasticsearch", "r4.2xlarge.elasticsearch", "r4.4xlarge.elasticsearch", "r4.8xlarge.elasticsearch", "r4.16xlarge.elasticsearch", "i3.large.elasticsearch", "i3.xlarge.elasticsearch", "i3.2xlarge.elasticsearch", "i3.4xlarge.elasticsearch", "i3.8xlarge.elasticsearch", "i3.16xlarge.elasticsearch"
resp.domain_status.elasticsearch_cluster_config.dedicated_master_count #=> Integer
resp.domain_status.ebs_options.ebs_enabled #=> true/false
resp.domain_status.ebs_options.volume_type #=> String, one of "standard", "gp2", "io1"
resp.domain_status.ebs_options.volume_size #=> Integer
resp.domain_status.ebs_options.iops #=> Integer
resp.domain_status.access_policies #=> String
resp.domain_status.snapshot_options.automated_snapshot_start_hour #=> Integer
resp.domain_status.vpc_options.vpc_id #=> String
resp.domain_status.vpc_options.subnet_ids #=> Array
resp.domain_status.vpc_options.subnet_ids[0] #=> String
resp.domain_status.vpc_options.availability_zones #=> Array
resp.domain_status.vpc_options.availability_zones[0] #=> String
resp.domain_status.vpc_options.security_group_ids #=> Array
resp.domain_status.vpc_options.security_group_ids[0] #=> String
resp.domain_status.encryption_at_rest_options.enabled #=> true/false
resp.domain_status.encryption_at_rest_options.kms_key_id #=> String
resp.domain_status.advanced_options #=> Hash
resp.domain_status.advanced_options["String"] #=> String
resp.domain_status.log_publishing_options #=> Hash
resp.domain_status.log_publishing_options["LogType"].cloud_watch_logs_log_group_arn #=> String
resp.domain_status.log_publishing_options["LogType"].enabled #=> true/false

Options Hash (options):

  • :domain_name (required, String)

    The name of the Elasticsearch domain that you are creating. Domain names are unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

  • :elasticsearch_version (String)

    String of format X.Y to specify version for the Elasticsearch domain eg. \"1.5\" or \"2.3\". For more information, see Creating Elasticsearch Domainstarget="_blank" in the Amazon Elasticsearch Service Developer Guide.

  • :elasticsearch_cluster_config (Types::ElasticsearchClusterConfig)

    Configuration options for an Elasticsearch domain. Specifies the instance type and number of instances in the domain cluster.

  • :ebs_options (Types::EBSOptions)

    Options to enable, disable and specify the type and size of EBS storage volumes.

  • :access_policies (String)

    IAM access policy as a JSON-formatted string.

  • :snapshot_options (Types::SnapshotOptions)

    Option to set time, in UTC format, of the daily automated snapshot. Default value is 0 hours.

  • :vpc_options (Types::VPCOptions)

    Options to specify the subnets and security groups for VPC endpoint. For more information, see Creating a VPCtarget="_blank" in VPC Endpoints for Amazon Elasticsearch Service Domains

  • :encryption_at_rest_options (Types::EncryptionAtRestOptions)

    Specifies the Encryption At Rest Options.

  • :advanced_options (Hash<String,String>)

    Option to allow references to indices in an HTTP request body. Must be false when configuring access to individual sub-resources. By default, the value is true. See Configuration Advanced Optionstarget="_blank" for more information.

  • :log_publishing_options (Hash<String,Types::LogPublishingOption>)

    Map of LogType and LogPublishingOption, each containing options to publish a given type of Elasticsearch log.

Returns:

#delete_elasticsearch_domain(options = {}) ⇒ Types::DeleteElasticsearchDomainResponse

Permanently deletes the specified Elasticsearch domain and all of its data. Once a domain is deleted, it cannot be recovered.

Examples:

Request syntax with placeholder values


resp = client.delete_elasticsearch_domain({
  domain_name: "DomainName", # required
})

Response structure


resp.domain_status.domain_id #=> String
resp.domain_status.domain_name #=> String
resp.domain_status.arn #=> String
resp.domain_status.created #=> true/false
resp.domain_status.deleted #=> true/false
resp.domain_status.endpoint #=> String
resp.domain_status.endpoints #=> Hash
resp.domain_status.endpoints["String"] #=> String
resp.domain_status.processing #=> true/false
resp.domain_status.elasticsearch_version #=> String
resp.domain_status.elasticsearch_cluster_config.instance_type #=> String, one of "m3.medium.elasticsearch", "m3.large.elasticsearch", "m3.xlarge.elasticsearch", "m3.2xlarge.elasticsearch", "m4.large.elasticsearch", "m4.xlarge.elasticsearch", "m4.2xlarge.elasticsearch", "m4.4xlarge.elasticsearch", "m4.10xlarge.elasticsearch", "t2.micro.elasticsearch", "t2.small.elasticsearch", "t2.medium.elasticsearch", "r3.large.elasticsearch", "r3.xlarge.elasticsearch", "r3.2xlarge.elasticsearch", "r3.4xlarge.elasticsearch", "r3.8xlarge.elasticsearch", "i2.xlarge.elasticsearch", "i2.2xlarge.elasticsearch", "d2.xlarge.elasticsearch", "d2.2xlarge.elasticsearch", "d2.4xlarge.elasticsearch", "d2.8xlarge.elasticsearch", "c4.large.elasticsearch", "c4.xlarge.elasticsearch", "c4.2xlarge.elasticsearch", "c4.4xlarge.elasticsearch", "c4.8xlarge.elasticsearch", "r4.large.elasticsearch", "r4.xlarge.elasticsearch", "r4.2xlarge.elasticsearch", "r4.4xlarge.elasticsearch", "r4.8xlarge.elasticsearch", "r4.16xlarge.elasticsearch", "i3.large.elasticsearch", "i3.xlarge.elasticsearch", "i3.2xlarge.elasticsearch", "i3.4xlarge.elasticsearch", "i3.8xlarge.elasticsearch", "i3.16xlarge.elasticsearch"
resp.domain_status.elasticsearch_cluster_config.instance_count #=> Integer
resp.domain_status.elasticsearch_cluster_config.dedicated_master_enabled #=> true/false
resp.domain_status.elasticsearch_cluster_config.zone_awareness_enabled #=> true/false
resp.domain_status.elasticsearch_cluster_config.dedicated_master_type #=> String, one of "m3.medium.elasticsearch", "m3.large.elasticsearch", "m3.xlarge.elasticsearch", "m3.2xlarge.elasticsearch", "m4.large.elasticsearch", "m4.xlarge.elasticsearch", "m4.2xlarge.elasticsearch", "m4.4xlarge.elasticsearch", "m4.10xlarge.elasticsearch", "t2.micro.elasticsearch", "t2.small.elasticsearch", "t2.medium.elasticsearch", "r3.large.elasticsearch", "r3.xlarge.elasticsearch", "r3.2xlarge.elasticsearch", "r3.4xlarge.elasticsearch", "r3.8xlarge.elasticsearch", "i2.xlarge.elasticsearch", "i2.2xlarge.elasticsearch", "d2.xlarge.elasticsearch", "d2.2xlarge.elasticsearch", "d2.4xlarge.elasticsearch", "d2.8xlarge.elasticsearch", "c4.large.elasticsearch", "c4.xlarge.elasticsearch", "c4.2xlarge.elasticsearch", "c4.4xlarge.elasticsearch", "c4.8xlarge.elasticsearch", "r4.large.elasticsearch", "r4.xlarge.elasticsearch", "r4.2xlarge.elasticsearch", "r4.4xlarge.elasticsearch", "r4.8xlarge.elasticsearch", "r4.16xlarge.elasticsearch", "i3.large.elasticsearch", "i3.xlarge.elasticsearch", "i3.2xlarge.elasticsearch", "i3.4xlarge.elasticsearch", "i3.8xlarge.elasticsearch", "i3.16xlarge.elasticsearch"
resp.domain_status.elasticsearch_cluster_config.dedicated_master_count #=> Integer
resp.domain_status.ebs_options.ebs_enabled #=> true/false
resp.domain_status.ebs_options.volume_type #=> String, one of "standard", "gp2", "io1"
resp.domain_status.ebs_options.volume_size #=> Integer
resp.domain_status.ebs_options.iops #=> Integer
resp.domain_status.access_policies #=> String
resp.domain_status.snapshot_options.automated_snapshot_start_hour #=> Integer
resp.domain_status.vpc_options.vpc_id #=> String
resp.domain_status.vpc_options.subnet_ids #=> Array
resp.domain_status.vpc_options.subnet_ids[0] #=> String
resp.domain_status.vpc_options.availability_zones #=> Array
resp.domain_status.vpc_options.availability_zones[0] #=> String
resp.domain_status.vpc_options.security_group_ids #=> Array
resp.domain_status.vpc_options.security_group_ids[0] #=> String
resp.domain_status.encryption_at_rest_options.enabled #=> true/false
resp.domain_status.encryption_at_rest_options.kms_key_id #=> String
resp.domain_status.advanced_options #=> Hash
resp.domain_status.advanced_options["String"] #=> String
resp.domain_status.log_publishing_options #=> Hash
resp.domain_status.log_publishing_options["LogType"].cloud_watch_logs_log_group_arn #=> String
resp.domain_status.log_publishing_options["LogType"].enabled #=> true/false

Options Hash (options):

  • :domain_name (required, String)

    The name of the Elasticsearch domain that you want to permanently delete.

Returns:

#delete_elasticsearch_service_role(options = {}) ⇒ Struct

Deletes the service-linked role that Elasticsearch Service uses to manage and maintain VPC domains. Role deletion will fail if any existing VPC domains use the role. You must delete any such Elasticsearch domains before deleting the role. See Deleting Elasticsearch Service Role in VPC Endpoints for Amazon Elasticsearch Service Domains.

Examples:

Request syntax with placeholder values


resp = client.delete_elasticsearch_service_role()

Returns:

  • (Struct)

    Returns an empty response.

#describe_elasticsearch_domain(options = {}) ⇒ Types::DescribeElasticsearchDomainResponse

Returns domain configuration information about the specified Elasticsearch domain, including the domain ID, domain endpoint, and domain ARN.

Examples:

Request syntax with placeholder values


resp = client.describe_elasticsearch_domain({
  domain_name: "DomainName", # required
})

Response structure


resp.domain_status.domain_id #=> String
resp.domain_status.domain_name #=> String
resp.domain_status.arn #=> String
resp.domain_status.created #=> true/false
resp.domain_status.deleted #=> true/false
resp.domain_status.endpoint #=> String
resp.domain_status.endpoints #=> Hash
resp.domain_status.endpoints["String"] #=> String
resp.domain_status.processing #=> true/false
resp.domain_status.elasticsearch_version #=> String
resp.domain_status.elasticsearch_cluster_config.instance_type #=> String, one of "m3.medium.elasticsearch", "m3.large.elasticsearch", "m3.xlarge.elasticsearch", "m3.2xlarge.elasticsearch", "m4.large.elasticsearch", "m4.xlarge.elasticsearch", "m4.2xlarge.elasticsearch", "m4.4xlarge.elasticsearch", "m4.10xlarge.elasticsearch", "t2.micro.elasticsearch", "t2.small.elasticsearch", "t2.medium.elasticsearch", "r3.large.elasticsearch", "r3.xlarge.elasticsearch", "r3.2xlarge.elasticsearch", "r3.4xlarge.elasticsearch", "r3.8xlarge.elasticsearch", "i2.xlarge.elasticsearch", "i2.2xlarge.elasticsearch", "d2.xlarge.elasticsearch", "d2.2xlarge.elasticsearch", "d2.4xlarge.elasticsearch", "d2.8xlarge.elasticsearch", "c4.large.elasticsearch", "c4.xlarge.elasticsearch", "c4.2xlarge.elasticsearch", "c4.4xlarge.elasticsearch", "c4.8xlarge.elasticsearch", "r4.large.elasticsearch", "r4.xlarge.elasticsearch", "r4.2xlarge.elasticsearch", "r4.4xlarge.elasticsearch", "r4.8xlarge.elasticsearch", "r4.16xlarge.elasticsearch", "i3.large.elasticsearch", "i3.xlarge.elasticsearch", "i3.2xlarge.elasticsearch", "i3.4xlarge.elasticsearch", "i3.8xlarge.elasticsearch", "i3.16xlarge.elasticsearch"
resp.domain_status.elasticsearch_cluster_config.instance_count #=> Integer
resp.domain_status.elasticsearch_cluster_config.dedicated_master_enabled #=> true/false
resp.domain_status.elasticsearch_cluster_config.zone_awareness_enabled #=> true/false
resp.domain_status.elasticsearch_cluster_config.dedicated_master_type #=> String, one of "m3.medium.elasticsearch", "m3.large.elasticsearch", "m3.xlarge.elasticsearch", "m3.2xlarge.elasticsearch", "m4.large.elasticsearch", "m4.xlarge.elasticsearch", "m4.2xlarge.elasticsearch", "m4.4xlarge.elasticsearch", "m4.10xlarge.elasticsearch", "t2.micro.elasticsearch", "t2.small.elasticsearch", "t2.medium.elasticsearch", "r3.large.elasticsearch", "r3.xlarge.elasticsearch", "r3.2xlarge.elasticsearch", "r3.4xlarge.elasticsearch", "r3.8xlarge.elasticsearch", "i2.xlarge.elasticsearch", "i2.2xlarge.elasticsearch", "d2.xlarge.elasticsearch", "d2.2xlarge.elasticsearch", "d2.4xlarge.elasticsearch", "d2.8xlarge.elasticsearch", "c4.large.elasticsearch", "c4.xlarge.elasticsearch", "c4.2xlarge.elasticsearch", "c4.4xlarge.elasticsearch", "c4.8xlarge.elasticsearch", "r4.large.elasticsearch", "r4.xlarge.elasticsearch", "r4.2xlarge.elasticsearch", "r4.4xlarge.elasticsearch", "r4.8xlarge.elasticsearch", "r4.16xlarge.elasticsearch", "i3.large.elasticsearch", "i3.xlarge.elasticsearch", "i3.2xlarge.elasticsearch", "i3.4xlarge.elasticsearch", "i3.8xlarge.elasticsearch", "i3.16xlarge.elasticsearch"
resp.domain_status.elasticsearch_cluster_config.dedicated_master_count #=> Integer
resp.domain_status.ebs_options.ebs_enabled #=> true/false
resp.domain_status.ebs_options.volume_type #=> String, one of "standard", "gp2", "io1"
resp.domain_status.ebs_options.volume_size #=> Integer
resp.domain_status.ebs_options.iops #=> Integer
resp.domain_status.access_policies #=> String
resp.domain_status.snapshot_options.automated_snapshot_start_hour #=> Integer
resp.domain_status.vpc_options.vpc_id #=> String
resp.domain_status.vpc_options.subnet_ids #=> Array
resp.domain_status.vpc_options.subnet_ids[0] #=> String
resp.domain_status.vpc_options.availability_zones #=> Array
resp.domain_status.vpc_options.availability_zones[0] #=> String
resp.domain_status.vpc_options.security_group_ids #=> Array
resp.domain_status.vpc_options.security_group_ids[0] #=> String
resp.domain_status.encryption_at_rest_options.enabled #=> true/false
resp.domain_status.encryption_at_rest_options.kms_key_id #=> String
resp.domain_status.advanced_options #=> Hash
resp.domain_status.advanced_options["String"] #=> String
resp.domain_status.log_publishing_options #=> Hash
resp.domain_status.log_publishing_options["LogType"].cloud_watch_logs_log_group_arn #=> String
resp.domain_status.log_publishing_options["LogType"].enabled #=> true/false

Options Hash (options):

  • :domain_name (required, String)

    The name of the Elasticsearch domain for which you want information.

Returns:

#describe_elasticsearch_domain_config(options = {}) ⇒ Types::DescribeElasticsearchDomainConfigResponse

Provides cluster configuration information about the specified Elasticsearch domain, such as the state, creation date, update version, and update date for cluster options.

Examples:

Request syntax with placeholder values


resp = client.describe_elasticsearch_domain_config({
  domain_name: "DomainName", # required
})

Response structure


resp.domain_config.elasticsearch_version.options #=> String
resp.domain_config.elasticsearch_version.status.creation_date #=> Time
resp.domain_config.elasticsearch_version.status.update_date #=> Time
resp.domain_config.elasticsearch_version.status.update_version #=> Integer
resp.domain_config.elasticsearch_version.status.state #=> String, one of "RequiresIndexDocuments", "Processing", "Active"
resp.domain_config.elasticsearch_version.status.pending_deletion #=> true/false
resp.domain_config.elasticsearch_cluster_config.options.instance_type #=> String, one of "m3.medium.elasticsearch", "m3.large.elasticsearch", "m3.xlarge.elasticsearch", "m3.2xlarge.elasticsearch", "m4.large.elasticsearch", "m4.xlarge.elasticsearch", "m4.2xlarge.elasticsearch", "m4.4xlarge.elasticsearch", "m4.10xlarge.elasticsearch", "t2.micro.elasticsearch", "t2.small.elasticsearch", "t2.medium.elasticsearch", "r3.large.elasticsearch", "r3.xlarge.elasticsearch", "r3.2xlarge.elasticsearch", "r3.4xlarge.elasticsearch", "r3.8xlarge.elasticsearch", "i2.xlarge.elasticsearch", "i2.2xlarge.elasticsearch", "d2.xlarge.elasticsearch", "d2.2xlarge.elasticsearch", "d2.4xlarge.elasticsearch", "d2.8xlarge.elasticsearch", "c4.large.elasticsearch", "c4.xlarge.elasticsearch", "c4.2xlarge.elasticsearch", "c4.4xlarge.elasticsearch", "c4.8xlarge.elasticsearch", "r4.large.elasticsearch", "r4.xlarge.elasticsearch", "r4.2xlarge.elasticsearch", "r4.4xlarge.elasticsearch", "r4.8xlarge.elasticsearch", "r4.16xlarge.elasticsearch", "i3.large.elasticsearch", "i3.xlarge.elasticsearch", "i3.2xlarge.elasticsearch", "i3.4xlarge.elasticsearch", "i3.8xlarge.elasticsearch", "i3.16xlarge.elasticsearch"
resp.domain_config.elasticsearch_cluster_config.options.instance_count #=> Integer
resp.domain_config.elasticsearch_cluster_config.options.dedicated_master_enabled #=> true/false
resp.domain_config.elasticsearch_cluster_config.options.zone_awareness_enabled #=> true/false
resp.domain_config.elasticsearch_cluster_config.options.dedicated_master_type #=> String, one of "m3.medium.elasticsearch", "m3.large.elasticsearch", "m3.xlarge.elasticsearch", "m3.2xlarge.elasticsearch", "m4.large.elasticsearch", "m4.xlarge.elasticsearch", "m4.2xlarge.elasticsearch", "m4.4xlarge.elasticsearch", "m4.10xlarge.elasticsearch", "t2.micro.elasticsearch", "t2.small.elasticsearch", "t2.medium.elasticsearch", "r3.large.elasticsearch", "r3.xlarge.elasticsearch", "r3.2xlarge.elasticsearch", "r3.4xlarge.elasticsearch", "r3.8xlarge.elasticsearch", "i2.xlarge.elasticsearch", "i2.2xlarge.elasticsearch", "d2.xlarge.elasticsearch", "d2.2xlarge.elasticsearch", "d2.4xlarge.elasticsearch", "d2.8xlarge.elasticsearch", "c4.large.elasticsearch", "c4.xlarge.elasticsearch", "c4.2xlarge.elasticsearch", "c4.4xlarge.elasticsearch", "c4.8xlarge.elasticsearch", "r4.large.elasticsearch", "r4.xlarge.elasticsearch", "r4.2xlarge.elasticsearch", "r4.4xlarge.elasticsearch", "r4.8xlarge.elasticsearch", "r4.16xlarge.elasticsearch", "i3.large.elasticsearch", "i3.xlarge.elasticsearch", "i3.2xlarge.elasticsearch", "i3.4xlarge.elasticsearch", "i3.8xlarge.elasticsearch", "i3.16xlarge.elasticsearch"
resp.domain_config.elasticsearch_cluster_config.options.dedicated_master_count #=> Integer
resp.domain_config.elasticsearch_cluster_config.status.creation_date #=> Time
resp.domain_config.elasticsearch_cluster_config.status.update_date #=> Time
resp.domain_config.elasticsearch_cluster_config.status.update_version #=> Integer
resp.domain_config.elasticsearch_cluster_config.status.state #=> String, one of "RequiresIndexDocuments", "Processing", "Active"
resp.domain_config.elasticsearch_cluster_config.status.pending_deletion #=> true/false
resp.domain_config.ebs_options.options.ebs_enabled #=> true/false
resp.domain_config.ebs_options.options.volume_type #=> String, one of "standard", "gp2", "io1"
resp.domain_config.ebs_options.options.volume_size #=> Integer
resp.domain_config.ebs_options.options.iops #=> Integer
resp.domain_config.ebs_options.status.creation_date #=> Time
resp.domain_config.ebs_options.status.update_date #=> Time
resp.domain_config.ebs_options.status.update_version #=> Integer
resp.domain_config.ebs_options.status.state #=> String, one of "RequiresIndexDocuments", "Processing", "Active"
resp.domain_config.ebs_options.status.pending_deletion #=> true/false
resp.domain_config.access_policies.options #=> String
resp.domain_config.access_policies.status.creation_date #=> Time
resp.domain_config.access_policies.status.update_date #=> Time
resp.domain_config.access_policies.status.update_version #=> Integer
resp.domain_config.access_policies.status.state #=> String, one of "RequiresIndexDocuments", "Processing", "Active"
resp.domain_config.access_policies.status.pending_deletion #=> true/false
resp.domain_config.snapshot_options.options.automated_snapshot_start_hour #=> Integer
resp.domain_config.snapshot_options.status.creation_date #=> Time
resp.domain_config.snapshot_options.status.update_date #=> Time
resp.domain_config.snapshot_options.status.update_version #=> Integer
resp.domain_config.snapshot_options.status.state #=> String, one of "RequiresIndexDocuments", "Processing", "Active"
resp.domain_config.snapshot_options.status.pending_deletion #=> true/false
resp.domain_config.vpc_options.options.vpc_id #=> String
resp.domain_config.vpc_options.options.subnet_ids #=> Array
resp.domain_config.vpc_options.options.subnet_ids[0] #=> String
resp.domain_config.vpc_options.options.availability_zones #=> Array
resp.domain_config.vpc_options.options.availability_zones[0] #=> String
resp.domain_config.vpc_options.options.security_group_ids #=> Array
resp.domain_config.vpc_options.options.security_group_ids[0] #=> String
resp.domain_config.vpc_options.status.creation_date #=> Time
resp.domain_config.vpc_options.status.update_date #=> Time
resp.domain_config.vpc_options.status.update_version #=> Integer
resp.domain_config.vpc_options.status.state #=> String, one of "RequiresIndexDocuments", "Processing", "Active"
resp.domain_config.vpc_options.status.pending_deletion #=> true/false
resp.domain_config.encryption_at_rest_options.options.enabled #=> true/false
resp.domain_config.encryption_at_rest_options.options.kms_key_id #=> String
resp.domain_config.encryption_at_rest_options.status.creation_date #=> Time
resp.domain_config.encryption_at_rest_options.status.update_date #=> Time
resp.domain_config.encryption_at_rest_options.status.update_version #=> Integer
resp.domain_config.encryption_at_rest_options.status.state #=> String, one of "RequiresIndexDocuments", "Processing", "Active"
resp.domain_config.encryption_at_rest_options.status.pending_deletion #=> true/false
resp.domain_config.advanced_options.options #=> Hash
resp.domain_config.advanced_options.options["String"] #=> String
resp.domain_config.advanced_options.status.creation_date #=> Time
resp.domain_config.advanced_options.status.update_date #=> Time
resp.domain_config.advanced_options.status.update_version #=> Integer
resp.domain_config.advanced_options.status.state #=> String, one of "RequiresIndexDocuments", "Processing", "Active"
resp.domain_config.advanced_options.status.pending_deletion #=> true/false
resp.domain_config.log_publishing_options.options #=> Hash
resp.domain_config.log_publishing_options.options["LogType"].cloud_watch_logs_log_group_arn #=> String
resp.domain_config.log_publishing_options.options["LogType"].enabled #=> true/false
resp.domain_config.log_publishing_options.status.creation_date #=> Time
resp.domain_config.log_publishing_options.status.update_date #=> Time
resp.domain_config.log_publishing_options.status.update_version #=> Integer
resp.domain_config.log_publishing_options.status.state #=> String, one of "RequiresIndexDocuments", "Processing", "Active"
resp.domain_config.log_publishing_options.status.pending_deletion #=> true/false

Options Hash (options):

  • :domain_name (required, String)

    The Elasticsearch domain that you want to get information about.

Returns:

#describe_elasticsearch_domains(options = {}) ⇒ Types::DescribeElasticsearchDomainsResponse

Returns domain configuration information about the specified Elasticsearch domains, including the domain ID, domain endpoint, and domain ARN.

Examples:

Request syntax with placeholder values


resp = client.describe_elasticsearch_domains({
  domain_names: ["DomainName"], # required
})

Response structure


resp.domain_status_list #=> Array
resp.domain_status_list[0].domain_id #=> String
resp.domain_status_list[0].domain_name #=> String
resp.domain_status_list[0].arn #=> String
resp.domain_status_list[0].created #=> true/false
resp.domain_status_list[0].deleted #=> true/false
resp.domain_status_list[0].endpoint #=> String
resp.domain_status_list[0].endpoints #=> Hash
resp.domain_status_list[0].endpoints["String"] #=> String
resp.domain_status_list[0].processing #=> true/false
resp.domain_status_list[0].elasticsearch_version #=> String
resp.domain_status_list[0].elasticsearch_cluster_config.instance_type #=> String, one of "m3.medium.elasticsearch", "m3.large.elasticsearch", "m3.xlarge.elasticsearch", "m3.2xlarge.elasticsearch", "m4.large.elasticsearch", "m4.xlarge.elasticsearch", "m4.2xlarge.elasticsearch", "m4.4xlarge.elasticsearch", "m4.10xlarge.elasticsearch", "t2.micro.elasticsearch", "t2.small.elasticsearch", "t2.medium.elasticsearch", "r3.large.elasticsearch", "r3.xlarge.elasticsearch", "r3.2xlarge.elasticsearch", "r3.4xlarge.elasticsearch", "r3.8xlarge.elasticsearch", "i2.xlarge.elasticsearch", "i2.2xlarge.elasticsearch", "d2.xlarge.elasticsearch", "d2.2xlarge.elasticsearch", "d2.4xlarge.elasticsearch", "d2.8xlarge.elasticsearch", "c4.large.elasticsearch", "c4.xlarge.elasticsearch", "c4.2xlarge.elasticsearch", "c4.4xlarge.elasticsearch", "c4.8xlarge.elasticsearch", "r4.large.elasticsearch", "r4.xlarge.elasticsearch", "r4.2xlarge.elasticsearch", "r4.4xlarge.elasticsearch", "r4.8xlarge.elasticsearch", "r4.16xlarge.elasticsearch", "i3.large.elasticsearch", "i3.xlarge.elasticsearch", "i3.2xlarge.elasticsearch", "i3.4xlarge.elasticsearch", "i3.8xlarge.elasticsearch", "i3.16xlarge.elasticsearch"
resp.domain_status_list[0].elasticsearch_cluster_config.instance_count #=> Integer
resp.domain_status_list[0].elasticsearch_cluster_config.dedicated_master_enabled #=> true/false
resp.domain_status_list[0].elasticsearch_cluster_config.zone_awareness_enabled #=> true/false
resp.domain_status_list[0].elasticsearch_cluster_config.dedicated_master_type #=> String, one of "m3.medium.elasticsearch", "m3.large.elasticsearch", "m3.xlarge.elasticsearch", "m3.2xlarge.elasticsearch", "m4.large.elasticsearch", "m4.xlarge.elasticsearch", "m4.2xlarge.elasticsearch", "m4.4xlarge.elasticsearch", "m4.10xlarge.elasticsearch", "t2.micro.elasticsearch", "t2.small.elasticsearch", "t2.medium.elasticsearch", "r3.large.elasticsearch", "r3.xlarge.elasticsearch", "r3.2xlarge.elasticsearch", "r3.4xlarge.elasticsearch", "r3.8xlarge.elasticsearch", "i2.xlarge.elasticsearch", "i2.2xlarge.elasticsearch", "d2.xlarge.elasticsearch", "d2.2xlarge.elasticsearch", "d2.4xlarge.elasticsearch", "d2.8xlarge.elasticsearch", "c4.large.elasticsearch", "c4.xlarge.elasticsearch", "c4.2xlarge.elasticsearch", "c4.4xlarge.elasticsearch", "c4.8xlarge.elasticsearch", "r4.large.elasticsearch", "r4.xlarge.elasticsearch", "r4.2xlarge.elasticsearch", "r4.4xlarge.elasticsearch", "r4.8xlarge.elasticsearch", "r4.16xlarge.elasticsearch", "i3.large.elasticsearch", "i3.xlarge.elasticsearch", "i3.2xlarge.elasticsearch", "i3.4xlarge.elasticsearch", "i3.8xlarge.elasticsearch", "i3.16xlarge.elasticsearch"
resp.domain_status_list[0].elasticsearch_cluster_config.dedicated_master_count #=> Integer
resp.domain_status_list[0].ebs_options.ebs_enabled #=> true/false
resp.domain_status_list[0].ebs_options.volume_type #=> String, one of "standard", "gp2", "io1"
resp.domain_status_list[0].ebs_options.volume_size #=> Integer
resp.domain_status_list[0].ebs_options.iops #=> Integer
resp.domain_status_list[0].access_policies #=> String
resp.domain_status_list[0].snapshot_options.automated_snapshot_start_hour #=> Integer
resp.domain_status_list[0].vpc_options.vpc_id #=> String
resp.domain_status_list[0].vpc_options.subnet_ids #=> Array
resp.domain_status_list[0].vpc_options.subnet_ids[0] #=> String
resp.domain_status_list[0].vpc_options.availability_zones #=> Array
resp.domain_status_list[0].vpc_options.availability_zones[0] #=> String
resp.domain_status_list[0].vpc_options.security_group_ids #=> Array
resp.domain_status_list[0].vpc_options.security_group_ids[0] #=> String
resp.domain_status_list[0].encryption_at_rest_options.enabled #=> true/false
resp.domain_status_list[0].encryption_at_rest_options.kms_key_id #=> String
resp.domain_status_list[0].advanced_options #=> Hash
resp.domain_status_list[0].advanced_options["String"] #=> String
resp.domain_status_list[0].log_publishing_options #=> Hash
resp.domain_status_list[0].log_publishing_options["LogType"].cloud_watch_logs_log_group_arn #=> String
resp.domain_status_list[0].log_publishing_options["LogType"].enabled #=> true/false

Options Hash (options):

  • :domain_names (required, Array<String>)

    The Elasticsearch domains for which you want information.

Returns:

#describe_elasticsearch_instance_type_limits(options = {}) ⇒ Types::DescribeElasticsearchInstanceTypeLimitsResponse

Describe Elasticsearch Limits for a given InstanceType and ElasticsearchVersion. When modifying existing Domain, specify the DomainName to know what Limits are supported for modifying.

Examples:

Request syntax with placeholder values


resp = client.describe_elasticsearch_instance_type_limits({
  domain_name: "DomainName",
  instance_type: "m3.medium.elasticsearch", # required, accepts m3.medium.elasticsearch, m3.large.elasticsearch, m3.xlarge.elasticsearch, m3.2xlarge.elasticsearch, m4.large.elasticsearch, m4.xlarge.elasticsearch, m4.2xlarge.elasticsearch, m4.4xlarge.elasticsearch, m4.10xlarge.elasticsearch, t2.micro.elasticsearch, t2.small.elasticsearch, t2.medium.elasticsearch, r3.large.elasticsearch, r3.xlarge.elasticsearch, r3.2xlarge.elasticsearch, r3.4xlarge.elasticsearch, r3.8xlarge.elasticsearch, i2.xlarge.elasticsearch, i2.2xlarge.elasticsearch, d2.xlarge.elasticsearch, d2.2xlarge.elasticsearch, d2.4xlarge.elasticsearch, d2.8xlarge.elasticsearch, c4.large.elasticsearch, c4.xlarge.elasticsearch, c4.2xlarge.elasticsearch, c4.4xlarge.elasticsearch, c4.8xlarge.elasticsearch, r4.large.elasticsearch, r4.xlarge.elasticsearch, r4.2xlarge.elasticsearch, r4.4xlarge.elasticsearch, r4.8xlarge.elasticsearch, r4.16xlarge.elasticsearch, i3.large.elasticsearch, i3.xlarge.elasticsearch, i3.2xlarge.elasticsearch, i3.4xlarge.elasticsearch, i3.8xlarge.elasticsearch, i3.16xlarge.elasticsearch
  elasticsearch_version: "ElasticsearchVersionString", # required
})

Response structure


resp.limits_by_role #=> Hash
resp.limits_by_role["InstanceRole"].storage_types #=> Array
resp.limits_by_role["InstanceRole"].storage_types[0].storage_type_name #=> String
resp.limits_by_role["InstanceRole"].storage_types[0].storage_sub_type_name #=> String
resp.limits_by_role["InstanceRole"].storage_types[0].storage_type_limits #=> Array
resp.limits_by_role["InstanceRole"].storage_types[0].storage_type_limits[0].limit_name #=> String
resp.limits_by_role["InstanceRole"].storage_types[0].storage_type_limits[0].limit_values #=> Array
resp.limits_by_role["InstanceRole"].storage_types[0].storage_type_limits[0].limit_values[0] #=> String
resp.limits_by_role["InstanceRole"].instance_limits.instance_count_limits.minimum_instance_count #=> Integer
resp.limits_by_role["InstanceRole"].instance_limits.instance_count_limits.maximum_instance_count #=> Integer
resp.limits_by_role["InstanceRole"].additional_limits #=> Array
resp.limits_by_role["InstanceRole"].additional_limits[0].limit_name #=> String
resp.limits_by_role["InstanceRole"].additional_limits[0].limit_values #=> Array
resp.limits_by_role["InstanceRole"].additional_limits[0].limit_values[0] #=> String

Options Hash (options):

  • :domain_name (String)

    DomainName represents the name of the Domain that we are trying to modify. This should be present only if we are querying for Elasticsearch Limits for existing domain.

  • :instance_type (required, String)

    The instance type for an Elasticsearch cluster for which Elasticsearch Limits are needed.

  • :elasticsearch_version (required, String)

    Version of Elasticsearch for which Limits are needed.

Returns:

#list_domain_names(options = {}) ⇒ Types::ListDomainNamesResponse

Returns the name of all Elasticsearch domains owned by the current user's account.

Examples:

Request syntax with placeholder values


resp = client.list_domain_names()

Response structure


resp.domain_names #=> Array
resp.domain_names[0].domain_name #=> String

Returns:

#list_elasticsearch_instance_types(options = {}) ⇒ Types::ListElasticsearchInstanceTypesResponse

List all Elasticsearch instance types that are supported for given ElasticsearchVersion

Examples:

Request syntax with placeholder values


resp = client.list_elasticsearch_instance_types({
  elasticsearch_version: "ElasticsearchVersionString", # required
  domain_name: "DomainName",
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.elasticsearch_instance_types #=> Array
resp.elasticsearch_instance_types[0] #=> String, one of "m3.medium.elasticsearch", "m3.large.elasticsearch", "m3.xlarge.elasticsearch", "m3.2xlarge.elasticsearch", "m4.large.elasticsearch", "m4.xlarge.elasticsearch", "m4.2xlarge.elasticsearch", "m4.4xlarge.elasticsearch", "m4.10xlarge.elasticsearch", "t2.micro.elasticsearch", "t2.small.elasticsearch", "t2.medium.elasticsearch", "r3.large.elasticsearch", "r3.xlarge.elasticsearch", "r3.2xlarge.elasticsearch", "r3.4xlarge.elasticsearch", "r3.8xlarge.elasticsearch", "i2.xlarge.elasticsearch", "i2.2xlarge.elasticsearch", "d2.xlarge.elasticsearch", "d2.2xlarge.elasticsearch", "d2.4xlarge.elasticsearch", "d2.8xlarge.elasticsearch", "c4.large.elasticsearch", "c4.xlarge.elasticsearch", "c4.2xlarge.elasticsearch", "c4.4xlarge.elasticsearch", "c4.8xlarge.elasticsearch", "r4.large.elasticsearch", "r4.xlarge.elasticsearch", "r4.2xlarge.elasticsearch", "r4.4xlarge.elasticsearch", "r4.8xlarge.elasticsearch", "r4.16xlarge.elasticsearch", "i3.large.elasticsearch", "i3.xlarge.elasticsearch", "i3.2xlarge.elasticsearch", "i3.4xlarge.elasticsearch", "i3.8xlarge.elasticsearch", "i3.16xlarge.elasticsearch"
resp.next_token #=> String

Options Hash (options):

  • :elasticsearch_version (required, String)

    Version of Elasticsearch for which list of supported elasticsearch instance types are needed.

  • :domain_name (String)

    DomainName represents the name of the Domain that we are trying to modify. This should be present only if we are querying for list of available Elasticsearch instance types when modifying existing domain.

  • :max_results (Integer)

    Set this value to limit the number of results returned. Value provided must be greater than 30 else it wont be honored.

  • :next_token (String)

    NextToken should be sent in case if earlier API call produced result containing NextToken. It is used for pagination.

Returns:

#list_elasticsearch_versions(options = {}) ⇒ Types::ListElasticsearchVersionsResponse

List all supported Elasticsearch versions

Examples:

Request syntax with placeholder values


resp = client.list_elasticsearch_versions({
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.elasticsearch_versions #=> Array
resp.elasticsearch_versions[0] #=> String
resp.next_token #=> String

Options Hash (options):

  • :max_results (Integer)

    Set this value to limit the number of results returned. Value provided must be greater than 10 else it wont be honored.

  • :next_token (String)

    Paginated APIs accepts NextToken input to returns next page results and provides a NextToken output in the response which can be used by the client to retrieve more results.

Returns:

#list_tags(options = {}) ⇒ Types::ListTagsResponse

Returns all tags for the given Elasticsearch domain.

Examples:

Request syntax with placeholder values


resp = client.list_tags({
  arn: "ARN", # required
})

Response structure


resp.tag_list #=> Array
resp.tag_list[0].key #=> String
resp.tag_list[0].value #=> String

Options Hash (options):

  • :arn (required, String)

    Specify the ARN for the Elasticsearch domain to which the tags are attached that you want to view.

Returns:

#remove_tags(options = {}) ⇒ Struct

Removes the specified set of tags from the specified Elasticsearch domain.

Examples:

Request syntax with placeholder values


resp = client.remove_tags({
  arn: "ARN", # required
  tag_keys: ["String"], # required
})

Options Hash (options):

  • :arn (required, String)

    Specifies the ARN for the Elasticsearch domain from which you want to delete the specified tags.

  • :tag_keys (required, Array<String>)

    Specifies the TagKey list which you want to remove from the Elasticsearch domain.

Returns:

  • (Struct)

    Returns an empty response.

#update_elasticsearch_domain_config(options = {}) ⇒ Types::UpdateElasticsearchDomainConfigResponse

Modifies the cluster configuration of the specified Elasticsearch domain, setting as setting the instance type and the number of instances.

Examples:

Request syntax with placeholder values


resp = client.update_elasticsearch_domain_config({
  domain_name: "DomainName", # required
  elasticsearch_cluster_config: {
    instance_type: "m3.medium.elasticsearch", # accepts m3.medium.elasticsearch, m3.large.elasticsearch, m3.xlarge.elasticsearch, m3.2xlarge.elasticsearch, m4.large.elasticsearch, m4.xlarge.elasticsearch, m4.2xlarge.elasticsearch, m4.4xlarge.elasticsearch, m4.10xlarge.elasticsearch, t2.micro.elasticsearch, t2.small.elasticsearch, t2.medium.elasticsearch, r3.large.elasticsearch, r3.xlarge.elasticsearch, r3.2xlarge.elasticsearch, r3.4xlarge.elasticsearch, r3.8xlarge.elasticsearch, i2.xlarge.elasticsearch, i2.2xlarge.elasticsearch, d2.xlarge.elasticsearch, d2.2xlarge.elasticsearch, d2.4xlarge.elasticsearch, d2.8xlarge.elasticsearch, c4.large.elasticsearch, c4.xlarge.elasticsearch, c4.2xlarge.elasticsearch, c4.4xlarge.elasticsearch, c4.8xlarge.elasticsearch, r4.large.elasticsearch, r4.xlarge.elasticsearch, r4.2xlarge.elasticsearch, r4.4xlarge.elasticsearch, r4.8xlarge.elasticsearch, r4.16xlarge.elasticsearch, i3.large.elasticsearch, i3.xlarge.elasticsearch, i3.2xlarge.elasticsearch, i3.4xlarge.elasticsearch, i3.8xlarge.elasticsearch, i3.16xlarge.elasticsearch
    instance_count: 1,
    dedicated_master_enabled: false,
    zone_awareness_enabled: false,
    dedicated_master_type: "m3.medium.elasticsearch", # accepts m3.medium.elasticsearch, m3.large.elasticsearch, m3.xlarge.elasticsearch, m3.2xlarge.elasticsearch, m4.large.elasticsearch, m4.xlarge.elasticsearch, m4.2xlarge.elasticsearch, m4.4xlarge.elasticsearch, m4.10xlarge.elasticsearch, t2.micro.elasticsearch, t2.small.elasticsearch, t2.medium.elasticsearch, r3.large.elasticsearch, r3.xlarge.elasticsearch, r3.2xlarge.elasticsearch, r3.4xlarge.elasticsearch, r3.8xlarge.elasticsearch, i2.xlarge.elasticsearch, i2.2xlarge.elasticsearch, d2.xlarge.elasticsearch, d2.2xlarge.elasticsearch, d2.4xlarge.elasticsearch, d2.8xlarge.elasticsearch, c4.large.elasticsearch, c4.xlarge.elasticsearch, c4.2xlarge.elasticsearch, c4.4xlarge.elasticsearch, c4.8xlarge.elasticsearch, r4.large.elasticsearch, r4.xlarge.elasticsearch, r4.2xlarge.elasticsearch, r4.4xlarge.elasticsearch, r4.8xlarge.elasticsearch, r4.16xlarge.elasticsearch, i3.large.elasticsearch, i3.xlarge.elasticsearch, i3.2xlarge.elasticsearch, i3.4xlarge.elasticsearch, i3.8xlarge.elasticsearch, i3.16xlarge.elasticsearch
    dedicated_master_count: 1,
  },
  ebs_options: {
    ebs_enabled: false,
    volume_type: "standard", # accepts standard, gp2, io1
    volume_size: 1,
    iops: 1,
  },
  snapshot_options: {
    automated_snapshot_start_hour: 1,
  },
  vpc_options: {
    subnet_ids: ["String"],
    security_group_ids: ["String"],
  },
  advanced_options: {
    "String" => "String",
  },
  access_policies: "PolicyDocument",
  log_publishing_options: {
    "INDEX_SLOW_LOGS" => {
      cloud_watch_logs_log_group_arn: "CloudWatchLogsLogGroupArn",
      enabled: false,
    },
  },
})

Response structure


resp.domain_config.elasticsearch_version.options #=> String
resp.domain_config.elasticsearch_version.status.creation_date #=> Time
resp.domain_config.elasticsearch_version.status.update_date #=> Time
resp.domain_config.elasticsearch_version.status.update_version #=> Integer
resp.domain_config.elasticsearch_version.status.state #=> String, one of "RequiresIndexDocuments", "Processing", "Active"
resp.domain_config.elasticsearch_version.status.pending_deletion #=> true/false
resp.domain_config.elasticsearch_cluster_config.options.instance_type #=> String, one of "m3.medium.elasticsearch", "m3.large.elasticsearch", "m3.xlarge.elasticsearch", "m3.2xlarge.elasticsearch", "m4.large.elasticsearch", "m4.xlarge.elasticsearch", "m4.2xlarge.elasticsearch", "m4.4xlarge.elasticsearch", "m4.10xlarge.elasticsearch", "t2.micro.elasticsearch", "t2.small.elasticsearch", "t2.medium.elasticsearch", "r3.large.elasticsearch", "r3.xlarge.elasticsearch", "r3.2xlarge.elasticsearch", "r3.4xlarge.elasticsearch", "r3.8xlarge.elasticsearch", "i2.xlarge.elasticsearch", "i2.2xlarge.elasticsearch", "d2.xlarge.elasticsearch", "d2.2xlarge.elasticsearch", "d2.4xlarge.elasticsearch", "d2.8xlarge.elasticsearch", "c4.large.elasticsearch", "c4.xlarge.elasticsearch", "c4.2xlarge.elasticsearch", "c4.4xlarge.elasticsearch", "c4.8xlarge.elasticsearch", "r4.large.elasticsearch", "r4.xlarge.elasticsearch", "r4.2xlarge.elasticsearch", "r4.4xlarge.elasticsearch", "r4.8xlarge.elasticsearch", "r4.16xlarge.elasticsearch", "i3.large.elasticsearch", "i3.xlarge.elasticsearch", "i3.2xlarge.elasticsearch", "i3.4xlarge.elasticsearch", "i3.8xlarge.elasticsearch", "i3.16xlarge.elasticsearch"
resp.domain_config.elasticsearch_cluster_config.options.instance_count #=> Integer
resp.domain_config.elasticsearch_cluster_config.options.dedicated_master_enabled #=> true/false
resp.domain_config.elasticsearch_cluster_config.options.zone_awareness_enabled #=> true/false
resp.domain_config.elasticsearch_cluster_config.options.dedicated_master_type #=> String, one of "m3.medium.elasticsearch", "m3.large.elasticsearch", "m3.xlarge.elasticsearch", "m3.2xlarge.elasticsearch", "m4.large.elasticsearch", "m4.xlarge.elasticsearch", "m4.2xlarge.elasticsearch", "m4.4xlarge.elasticsearch", "m4.10xlarge.elasticsearch", "t2.micro.elasticsearch", "t2.small.elasticsearch", "t2.medium.elasticsearch", "r3.large.elasticsearch", "r3.xlarge.elasticsearch", "r3.2xlarge.elasticsearch", "r3.4xlarge.elasticsearch", "r3.8xlarge.elasticsearch", "i2.xlarge.elasticsearch", "i2.2xlarge.elasticsearch", "d2.xlarge.elasticsearch", "d2.2xlarge.elasticsearch", "d2.4xlarge.elasticsearch", "d2.8xlarge.elasticsearch", "c4.large.elasticsearch", "c4.xlarge.elasticsearch", "c4.2xlarge.elasticsearch", "c4.4xlarge.elasticsearch", "c4.8xlarge.elasticsearch", "r4.large.elasticsearch", "r4.xlarge.elasticsearch", "r4.2xlarge.elasticsearch", "r4.4xlarge.elasticsearch", "r4.8xlarge.elasticsearch", "r4.16xlarge.elasticsearch", "i3.large.elasticsearch", "i3.xlarge.elasticsearch", "i3.2xlarge.elasticsearch", "i3.4xlarge.elasticsearch", "i3.8xlarge.elasticsearch", "i3.16xlarge.elasticsearch"
resp.domain_config.elasticsearch_cluster_config.options.dedicated_master_count #=> Integer
resp.domain_config.elasticsearch_cluster_config.status.creation_date #=> Time
resp.domain_config.elasticsearch_cluster_config.status.update_date #=> Time
resp.domain_config.elasticsearch_cluster_config.status.update_version #=> Integer
resp.domain_config.elasticsearch_cluster_config.status.state #=> String, one of "RequiresIndexDocuments", "Processing", "Active"
resp.domain_config.elasticsearch_cluster_config.status.pending_deletion #=> true/false
resp.domain_config.ebs_options.options.ebs_enabled #=> true/false
resp.domain_config.ebs_options.options.volume_type #=> String, one of "standard", "gp2", "io1"
resp.domain_config.ebs_options.options.volume_size #=> Integer
resp.domain_config.ebs_options.options.iops #=> Integer
resp.domain_config.ebs_options.status.creation_date #=> Time
resp.domain_config.ebs_options.status.update_date #=> Time
resp.domain_config.ebs_options.status.update_version #=> Integer
resp.domain_config.ebs_options.status.state #=> String, one of "RequiresIndexDocuments", "Processing", "Active"
resp.domain_config.ebs_options.status.pending_deletion #=> true/false
resp.domain_config.access_policies.options #=> String
resp.domain_config.access_policies.status.creation_date #=> Time
resp.domain_config.access_policies.status.update_date #=> Time
resp.domain_config.access_policies.status.update_version #=> Integer
resp.domain_config.access_policies.status.state #=> String, one of "RequiresIndexDocuments", "Processing", "Active"
resp.domain_config.access_policies.status.pending_deletion #=> true/false
resp.domain_config.snapshot_options.options.automated_snapshot_start_hour #=> Integer
resp.domain_config.snapshot_options.status.creation_date #=> Time
resp.domain_config.snapshot_options.status.update_date #=> Time
resp.domain_config.snapshot_options.status.update_version #=> Integer
resp.domain_config.snapshot_options.status.state #=> String, one of "RequiresIndexDocuments", "Processing", "Active"
resp.domain_config.snapshot_options.status.pending_deletion #=> true/false
resp.domain_config.vpc_options.options.vpc_id #=> String
resp.domain_config.vpc_options.options.subnet_ids #=> Array
resp.domain_config.vpc_options.options.subnet_ids[0] #=> String
resp.domain_config.vpc_options.options.availability_zones #=> Array
resp.domain_config.vpc_options.options.availability_zones[0] #=> String
resp.domain_config.vpc_options.options.security_group_ids #=> Array
resp.domain_config.vpc_options.options.security_group_ids[0] #=> String
resp.domain_config.vpc_options.status.creation_date #=> Time
resp.domain_config.vpc_options.status.update_date #=> Time
resp.domain_config.vpc_options.status.update_version #=> Integer
resp.domain_config.vpc_options.status.state #=> String, one of "RequiresIndexDocuments", "Processing", "Active"
resp.domain_config.vpc_options.status.pending_deletion #=> true/false
resp.domain_config.encryption_at_rest_options.options.enabled #=> true/false
resp.domain_config.encryption_at_rest_options.options.kms_key_id #=> String
resp.domain_config.encryption_at_rest_options.status.creation_date #=> Time
resp.domain_config.encryption_at_rest_options.status.update_date #=> Time
resp.domain_config.encryption_at_rest_options.status.update_version #=> Integer
resp.domain_config.encryption_at_rest_options.status.state #=> String, one of "RequiresIndexDocuments", "Processing", "Active"
resp.domain_config.encryption_at_rest_options.status.pending_deletion #=> true/false
resp.domain_config.advanced_options.options #=> Hash
resp.domain_config.advanced_options.options["String"] #=> String
resp.domain_config.advanced_options.status.creation_date #=> Time
resp.domain_config.advanced_options.status.update_date #=> Time
resp.domain_config.advanced_options.status.update_version #=> Integer
resp.domain_config.advanced_options.status.state #=> String, one of "RequiresIndexDocuments", "Processing", "Active"
resp.domain_config.advanced_options.status.pending_deletion #=> true/false
resp.domain_config.log_publishing_options.options #=> Hash
resp.domain_config.log_publishing_options.options["LogType"].cloud_watch_logs_log_group_arn #=> String
resp.domain_config.log_publishing_options.options["LogType"].enabled #=> true/false
resp.domain_config.log_publishing_options.status.creation_date #=> Time
resp.domain_config.log_publishing_options.status.update_date #=> Time
resp.domain_config.log_publishing_options.status.update_version #=> Integer
resp.domain_config.log_publishing_options.status.state #=> String, one of "RequiresIndexDocuments", "Processing", "Active"
resp.domain_config.log_publishing_options.status.pending_deletion #=> true/false

Options Hash (options):

  • :domain_name (required, String)

    The name of the Elasticsearch domain that you are updating.

  • :elasticsearch_cluster_config (Types::ElasticsearchClusterConfig)

    The type and number of instances to instantiate for the domain cluster.

  • :ebs_options (Types::EBSOptions)

    Specify the type and size of the EBS volume that you want to use.

  • :snapshot_options (Types::SnapshotOptions)

    Option to set the time, in UTC format, for the daily automated snapshot. Default value is 0 hours.

  • :vpc_options (Types::VPCOptions)

    Options to specify the subnets and security groups for VPC endpoint. For more information, see Creating a VPCtarget="_blank" in VPC Endpoints for Amazon Elasticsearch Service Domains

  • :advanced_options (Hash<String,String>)

    Modifies the advanced option to allow references to indices in an HTTP request body. Must be false when configuring access to individual sub-resources. By default, the value is true. See Configuration Advanced Optionstarget="_blank" for more information.

  • :access_policies (String)

    IAM access policy as a JSON-formatted string.

  • :log_publishing_options (Hash<String,Types::LogPublishingOption>)

    Map of LogType and LogPublishingOption, each containing options to publish a given type of Elasticsearch log.

Returns:

#wait_until(waiter_name, params = {}) {|waiter| ... } ⇒ Boolean

Waiters polls an API operation until a resource enters a desired state.

Basic Usage

Waiters will poll until they are succesful, they fail by entering a terminal state, or until a maximum number of attempts are made.

# polls in a loop, sleeping between attempts client.waiter_until(waiter_name, params)

Configuration

You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. You configure waiters by passing a block to #wait_until:

# poll for ~25 seconds
client.wait_until(...) do |w|
  w.max_attempts = 5
  w.delay = 5
end

Callbacks

You can be notified before each polling attempt and before each delay. If you throw :success or :failure from these callbacks, it will terminate the waiter.

started_at = Time.now
client.wait_until(...) do |w|

  # disable max attempts
  w.max_attempts = nil

  # poll for 1 hour, instead of a number of attempts
  w.before_wait do |attempts, response|
    throw :failure if Time.now - started_at > 3600
  end

end

Handling Errors

When a waiter is successful, it returns true. When a waiter fails, it raises an error. All errors raised extend from Waiters::Errors::WaiterFailed.

begin
  client.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
  # resource did not enter the desired state in time
end

Parameters:

  • waiter_name (Symbol)

    The name of the waiter. See #waiter_names for a full list of supported waiters.

  • params (Hash) (defaults to: {})

    Additional request parameters. See the #waiter_names for a list of supported waiters and what request they call. The called request determines the list of accepted parameters.

Yield Parameters:

Returns:

  • (Boolean)

    Returns true if the waiter was successful.

Raises:

  • (Errors::FailureStateError)

    Raised when the waiter terminates because the waiter has entered a state that it will not transition out of, preventing success.

  • (Errors::TooManyAttemptsError)

    Raised when the configured maximum number of attempts have been made, and the waiter is not yet successful.

  • (Errors::UnexpectedError)

    Raised when an error is encounted while polling for a resource that is not expected.

  • (Errors::NoSuchWaiterError)

    Raised when you request to wait for an unknown state.

#waiter_namesArray<Symbol>

Returns the list of supported waiters. The following table lists the supported waiters and the client method they call:

Waiter NameClient MethodDefault Delay:Default Max Attempts:

Returns:

  • (Array<Symbol>)

    the list of supported waiters.