Amazon-EC2

 view release on metacpan or  search on metacpan

lib/Amazon/EC2.pm  view on Meta::CPAN

package Amazon::EC2;

use strict;
use warnings;

use parent qw/Amazon::API/;

use Amazon::Credentials;
use JSON qw/from_json to_json/;
use Scalar::Util qw/reftype/;
use XML::Simple;
use Data::Dumper;

=pod

=head1 NAME

C<Amazon::EC2>

=head1 SYNOPSIS

 use strict;
 use warnings;
 
 use Amazon::EC2;
 use Amazon::Credentials;
 use Data::Dumper;
 
 my $ec2 = new Amazon::EC2({credentials => new Amazon::Credentials});
 
 my $result = $ec2->DescribeInstances();
 
 print Dumper($result);

=head1 DESCRIPTION

Perl interface to the Amazon EC2 API

=head1 METHODS

See the Amazon EC2 API documentation for method
arguments. L</http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Welcome.html>

=cut


=pod

=head2 new

 new( options )

=over 5

=item region

AWS region.  default: us-east-1

=item credentials

An C<Amazon::Credentials> object.  You can specify your credentials
using this object or by setting your access keys and optional token
directly.

=item aws_secret_access_key

Your AWS secret access key.

=item aws_access_key_id

Your AWS access key id.

=item token

Optional token if your credentials were temporary (from the role or assumed role).

=back

I<Note that if no credentials are given, the constructor will behave as if you had done:>

 new Amazon::EC2({credentials => new Amazon::Credentials});

I<...which will use your default credentials. See C<Amazon::Credentials>.>

=cut

my @API_METHODS = qw/AcceptReservedInstancesExchangeQuote
		     AcceptVpcEndpointConnections
		     AcceptVpcPeeringConnection
		     AllocateAddress
		     AllocateHosts
		     AssignIpv6Addresses
		     AssignPrivateIpAddresses
		     AssociateAddress
		     AssociateDhcpOptions
		     AssociateIamInstanceProfile
		     AssociateRouteTable
		     AssociateSubnetCidrBlock
		     AssociateVpcCidrBlock
		     AttachClassicLinkVpc
		     AttachInternetGateway
		     AttachNetworkInterface
		     AttachVolume
		     AttachVpnGateway
		     AuthorizeSecurityGroupEgress
		     AuthorizeSecurityGroupIngress
		     BundleInstance
		     CancelBundleTask
		     CancelConversionTask
		     CancelExportTask
		     CancelImportTask
		     CancelReservedInstancesListing
		     CancelSpotFleetRequests
		     CancelSpotInstanceRequests
		     ConfirmProductInstance
		     CopyFpgaImage
		     CopyImage
		     CopySnapshot
		     CreateCustomerGateway
		     CreateDefaultSubnet
		     CreateDefaultVpc
		     CreateDhcpOptions
		     CreateEgressOnlyInternetGateway
		     CreateFlowLogs
		     CreateFpgaImage
		     CreateImage
		     CreateInstanceExportTask
		     CreateInternetGateway
		     CreateKeyPair
		     CreateLaunchTemplate
		     CreateLaunchTemplateVersion
		     CreateNatGateway
		     CreateNetworkAcl
		     CreateNetworkAclEntry
		     CreateNetworkInterface
		     CreateNetworkInterfacePermission
		     CreatePlacementGroup
		     CreateReservedInstancesListing
		     CreateRoute
		     CreateRouteTable
		     CreateSecurityGroup
		     CreateSnapshot
		     CreateSpotDatafeedSubscription



( run in 1.025 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )