NAME

Search::Elasticsearch::Cxn::AmazonES - A Cxn implementation to connect to Amazon ES clusters

VERSION

version 0.01

DESCRIPTION

Provides a Cxn class that is able to connect to Elasticsearch clusters provisioned by the Amazon Web Services Elasticsearch (ES) service. It uses HTTP::Tiny to perform the requests, signing them with AWS v4 signatures.

This backend is based on the implmentation of the Search::Elasticsearch::Cxn::HTTPTiny module, only adding the ability to sign requests with AWS credentials.

See Paws::ES for information provisioning and modifying Amazon ES clusters via the administrative API

SYNOPSIS

use Search::ElasticSearch;

my $c = Search::Elasticsearch->new(
  nodes  => [ 'es_endpoint' ],
  cxn    => 'AmazonES',
  region => 'eu-west-1',
  credentials => $creds
);

CONFIGURATION

region

Region where the ES cluster is provisioned

credentials

Any object that has methods access_key, secret_key and session_token.

session_token must return undef if there is no session token.

With this distribution, you can find Search::Elasticsearch::Cxn::AmazonES::Credentials, which will help you instance an object with those methods, but you can really pass in any object you want. One that may be interesting are Paws credential objects. The same objects that Paws uses to authenticate can be used with Search::Elasticsearch. See the examples directory for code that uses this capability to integrate with Paws.

my $paws = Paws->new;
my $c = Search::Elasticsearch->new(
  ...
  credentials => $paws->config->credentials,
  ...
);

Inherited configuration

See Search::Elasticsearch::Cxn::HTTPTiny for inherited configurations

SSL/TLS

See Search::Elasticsearch::Cxn::HTTPTiny for SSL information

SEE ALSO

AUTHOR

Original HTTP Cxn code by Clinton Gormley <drtech@cpan.org>

Adapted to AmazonES by Jose Luis Martinez Torres <joseluis.martinez@capside.com>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2016 by CAPSiDE

Original code by Elasticsearch BV.

LICENSE

Apache 2.0 License