class ElasticsearchService

Collect ElasticSearch resources

Public Instance Methods

collect() click to toggle source

Returns an array of resources.

# File lib/aws_recon/collectors/elasticsearch.rb, line 10
def collect
  resources = []

  #
  # list_domain_names
  #
  @client.list_domain_names.each_with_index do |response, page|
    log(response.context.operation_name, page)

    response.domain_names.each do |domain|
      log(response.context.operation_name, 'describe_elasticsearch_domain', page)

      # describe_elasticsearch_domains
      struct = OpenStruct.new(@client.describe_elasticsearch_domain({ domain_name: domain.domain_name }).domain_status.to_h)
      struct.type = 'domain'
      struct.access_policies = struct.access_policies&.parse_policy

      resources.push(struct.to_h)
    end
  end

  resources
end