NAME
   Net::EC2::Tiny - Basic EC2 client

VERSION
   version 0.03

SYNOPSIS
     use 5.014;
     use Net::EC2::Tiny;

     my $ec2 = Net::EC2::Tiny->new(
           AWSAccessKey => $ENV{AWS_ACCESS_KEY},
           AWSSecretKey => $ENV{AWS_SECRET_KEY}',
           region       => $ENV{AWS_REGION},
           debug        => 1,
     );

     # We are essentially encoding 'raw' EC2 API calls with a v2
     # signature and turning XML responses into Perl data structures

     my $xml = $ec2->send(
           Action       => 'DescribeRegions',
         'RegionName.1' => 'us-east-1',
     );

     # prints ec2.us-east-1.amazonaws.com
     say $xml->{regionInfo}->{item}->[0]->{regionEndpoint};

OVERVIEW
   This module is intended to be a quick-n-dirty glue layer between a
   script and some Amazon EC2 API calls
   <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/OperationList-que
   ry.html>. Normally I'd use something like bash and curl for this, but
   Amazon's API signature requirements demand a little bit more than bash
   and curl doesn't support Amazon's signature schema.

   All errors are fatal and reported via croak.

   If you want to do "serious" development with the EC2 API, you probably
   ought to use something like Net::Amazon::EC2 or VM::EC2.

ATTRIBUTES
 AWSAccessKey
   This is the Amazon API access code. Required at object construction
   time.

 AWSSecretKey
   This is the Amazon API secret key. Required at object construction time.

 debug
   Set this to a true value if you want debugging information. Defaults to
   false.

 version
   This is the AWS EC2 API version. Defaults to 2012-07-20.

 region
   This is the EC2 region to which to make calls. Defaults to 'us-east-1'

 base_url
   This is the base URL used by the module to send encoded requests to.
   Defaults to "https://ec2.us-east-1.amazonaws.com" This attribute uses
   the region attribute automatically.

 ua
   The user agent object which sends requests. Defaults to HTTP::Tiny

METHODS
 send
   This method expects key/value pair list with a required 'Action' key set
   to a valid EC2 API call. Subsequent parameters in the list must be
   appropriate parameters for the specified Action.

   The request will be signed with a valid v2 signature and submitted to
   AWS. The XML response will be turned into a Perl data structure using
   XML::Simple and returned.

SUPPORT
   Please report any bugs or feature requests to "bug-net-ec2-tiny at
   rt.cpan.org", or through the web interface at
   <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Net-EC2-Tiny>. I will be
   notified, and then you'll automatically be notified of progress on your
   bug as I make changes.

   Or, if you wish, you may report bugs/features on Github's Issue Tracker.
   <https://github.com/mrallen1/Net-EC2-Tiny/issues>

SEE ALSO
   This library is pretty useless without the EC2 API docs.

   *   EC2 API docs
       <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/OperationList
       -query.html>

AUTHOR
   Mark Allen <[email protected]>

COPYRIGHT AND LICENSE
   This software is copyright (c) 2013 by Mark Allen.

   This is free software; you can redistribute it and/or modify it under
   the same terms as the Perl 5 programming language system itself.