.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Net::Amazon::EC2 3pm" .TH Net::Amazon::EC2 3pm "2014-08-05" "perl v5.18.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Net::Amazon::EC2 \- Perl interface to the Amazon Elastic Compute Cloud (EC2) environment. .SH "VERSION" .IX Header "VERSION" This is Net::Amazon::EC2 version 0.29 .PP \&\s-1EC2\s0 Query \s-1API\s0 version: '2014\-06\-15' .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& use Net::Amazon::EC2; \& \& my $ec2 = Net::Amazon::EC2\->new( \& AWSAccessKeyId => \*(AqPUBLIC_KEY_HERE\*(Aq, \& SecretAccessKey => \*(AqSECRET_KEY_HERE\*(Aq \& ); \& \& # Start 1 new instance from AMI: ami\-XXXXXXXX \& my $instance = $ec2\->run_instances(ImageId => \*(Aqami\-XXXXXXXX\*(Aq, MinCount => 1, MaxCount => 1); \& \& my $running_instances = $ec2\->describe_instances; \& \& foreach my $reservation (@$running_instances) { \& foreach my $instance ($reservation\->instances_set) { \& print $instance\->instance_id . "\en"; \& } \& } \& \& my $instance_id = $instance\->instances_set\->[0]\->instance_id; \& \& print "$instance_id\en"; \& \& # Terminate instance \& \& my $result = $ec2\->terminate_instances(InstanceId => $instance_id); .Ve .PP If an error occurs while communicating with \s-1EC2,\s0 these methods will throw a Net::Amazon::EC2::Errors exception. .SH "DESCRIPTION" .IX Header "DESCRIPTION" This module is a Perl interface to Amazon's Elastic Compute Cloud. It uses the Query \s-1API\s0 to communicate with Amazon's Web Services framework. .SH "CLASS METHODS" .IX Header "CLASS METHODS" .SS "new(%params)" .IX Subsection "new(%params)" This is the constructor, it will return you a Net::Amazon::EC2 object to work with. It takes these parameters: .IP "AWSAccessKeyId (required, unless an \s-1IAM\s0 role is present)" 4 .IX Item "AWSAccessKeyId (required, unless an IAM role is present)" Your \s-1AWS\s0 access key. For information on \s-1IAM\s0 roles, see .IP "SecretAccessKey (required, unless an \s-1IAM\s0 role is present)" 4 .IX Item "SecretAccessKey (required, unless an IAM role is present)" Your secret key, \fB\s-1WARNING\s0!\fR don't give this out or someone will be able to use your account and incur charges on your behalf. .IP "SecurityToken (optional)" 4 .IX Item "SecurityToken (optional)" When using temporary credentials from \s-1STS\s0 the Security Token must be passed in along with the temporary AWSAccessKeyId and SecretAccessKey. The most common case is when using \s-1IAM\s0 credentials with the addition of \s-1MFA \s0(multi-factor authentication). See .IP "region (optional)" 4 .IX Item "region (optional)" The region to run the \s-1API\s0 requests through. Defaults to us\-east\-1. .IP "ssl (optional)" 4 .IX Item "ssl (optional)" If set to a true value, the base_url will use https:// instead of http://. Setting base_url explicitly will override this. Defaults to true as of 0.22. .IP "debug (optional)" 4 .IX Item "debug (optional)" A flag to turn on debugging. Among other useful things, it will make the failing api calls print a stack trace. It is turned off by default. .IP "return_errors (optional)" 4 .IX Item "return_errors (optional)" Previously, Net::Amazon::EC2 would return a Net::Amazon::EC2::Errors object when it encountered an error condition. As of 0.19, this object is thrown as an exception using croak or confess depending on if the debug flag is set. .Sp If you want/need the old behavior, set this attribute to a true value. .SH "OBJECT METHODS" .IX Header "OBJECT METHODS" .SS "\fIallocate_address()\fP" .IX Subsection "allocate_address()" Acquires an elastic \s-1IP\s0 address which can be associated with an EC2\-classic instance to create a movable static \s-1IP.\s0 Takes no arguments. .PP Returns the \s-1IP\s0 address obtained. .SS "\fIallocate_vpc_address()\fP" .IX Subsection "allocate_vpc_address()" Acquires an elastic \s-1IP\s0 address which can be associated with a \s-1VPC\s0 instance to create a movable static \s-1IP.\s0 Takes no arguments. .PP Returns the allocationId of the allocated address. .SS "associate_address(%params)" .IX Subsection "associate_address(%params)" Associates an elastic \s-1IP\s0 address with an instance. It takes the following arguments: .IP "InstanceId (required)" 4 .IX Item "InstanceId (required)" The instance id you wish to associate the \s-1IP\s0 address with .IP "PublicIp (optional)" 4 .IX Item "PublicIp (optional)" The \s-1IP\s0 address. Used for allocating addresses to EC2\-classic instances. .IP "AllocationId (optional)" 4 .IX Item "AllocationId (optional)" The allocation \s-1ID. \s0 Used for allocating address to \s-1VPC\s0 instances. .PP Returns true if the association succeeded. .SS "attach_volume(%params)" .IX Subsection "attach_volume(%params)" Attach a volume to an instance. .IP "VolumeId (required)" 4 .IX Item "VolumeId (required)" The volume id you wish to attach. .IP "InstanceId (required)" 4 .IX Item "InstanceId (required)" The instance id you wish to attach the volume to. .IP "Device (required)" 4 .IX Item "Device (required)" The device id you want the volume attached as. .PP Returns a Net::Amazon::EC2::Attachment object containing the resulting volume status. .SS "authorize_security_group_ingress(%params)" .IX Subsection "authorize_security_group_ingress(%params)" This method adds permissions to a security group. It takes the following parameters: .IP "GroupName (required)" 4 .IX Item "GroupName (required)" The name of the group to add security rules to. .IP "SourceSecurityGroupName (required when authorizing a user and group together)" 4 .IX Item "SourceSecurityGroupName (required when authorizing a user and group together)" Name of the group to add access for. .IP "SourceSecurityGroupOwnerId (required when authorizing a user and group together)" 4 .IX Item "SourceSecurityGroupOwnerId (required when authorizing a user and group together)" Owner of the group to add access for. .IP "IpProtocol (required when adding access for a \s-1CIDR\s0)" 4 .IX Item "IpProtocol (required when adding access for a CIDR)" \&\s-1IP\s0 Protocol of the rule you are adding access for (\s-1TCP, UDP,\s0 or \s-1ICMP\s0) .IP "FromPort (required when adding access for a \s-1CIDR\s0)" 4 .IX Item "FromPort (required when adding access for a CIDR)" Beginning of port range to add access for. .IP "ToPort (required when adding access for a \s-1CIDR\s0)" 4 .IX Item "ToPort (required when adding access for a CIDR)" End of port range to add access for. .IP "CidrIp (required when adding access for a \s-1CIDR\s0)" 4 .IX Item "CidrIp (required when adding access for a CIDR)" The \s-1CIDR IP\s0 space we are adding access for. .PP Adding a rule can be done in two ways: adding a source group name + source group owner id, or, \&\s-1CIDR IP\s0 range. Both methods allow \s-1IP\s0 protocol, from port and to port specifications. .PP Returns 1 if rule is added successfully. .SS "bundle_instance(%params)" .IX Subsection "bundle_instance(%params)" Bundles the Windows instance. This procedure is not applicable for Linux and \s-1UNIX\s0 instances. .PP \&\s-1NOTE NOTE NOTE\s0 This is not well tested as I don't run windows instances .IP "InstanceId (required)" 4 .IX Item "InstanceId (required)" The \s-1ID\s0 of the instance to bundle. .IP "Storage.S3.Bucket (required)" 4 .IX Item "Storage.S3.Bucket (required)" The bucket in which to store the \s-1AMI.\s0 You can specify a bucket that you already own or a new bucket that Amazon \s-1EC2\s0 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon \s-1EC2\s0 returns an error. .IP "Storage.S3.Prefix (required)" 4 .IX Item "Storage.S3.Prefix (required)" Specifies the beginning of the file name of the \s-1AMI.\s0 .IP "Storage.S3.AWSAccessKeyId (required)" 4 .IX Item "Storage.S3.AWSAccessKeyId (required)" The Access Key \s-1ID\s0 of the owner of the Amazon S3 bucket. .IP "Storage.S3.UploadPolicy (required)" 4 .IX Item "Storage.S3.UploadPolicy (required)" An Amazon S3 upload policy that gives Amazon \s-1EC2\s0 permission to upload items into Amazon S3 on the user's behalf. .IP "Storage.S3.UploadPolicySignature (required)" 4 .IX Item "Storage.S3.UploadPolicySignature (required)" The signature of the Base64 encoded \s-1JSON\s0 document. .Sp \&\s-1JSON\s0 Parameters: (all are required) .Sp expiration \- The expiration of the policy. Amazon recommends 12 hours or longer. conditions \- A list of restrictions on what can be uploaded to Amazon S3. Must contain the bucket and \s-1ACL\s0 conditions in this table. bucket \- The bucket to store the \s-1AMI. \s0 acl \- This must be set to ec2\-bundle\-read. .PP Returns a Net::Amazon::EC2::BundleInstanceResponse object .SS "cancel_bundle_task(%params)" .IX Subsection "cancel_bundle_task(%params)" Cancels the bundle task. This procedure is not applicable for Linux and \s-1UNIX\s0 instances. .IP "BundleId (required)" 4 .IX Item "BundleId (required)" The \s-1ID\s0 of the bundle task to cancel. .PP Returns a Net::Amazon::EC2::BundleInstanceResponse object .SS "confirm_product_instance(%params)" .IX Subsection "confirm_product_instance(%params)" Checks to see if the product code passed in is attached to the instance id, taking the following parameter: .IP "ProductCode (required)" 4 .IX Item "ProductCode (required)" The Product Code to check .IP "InstanceId (required)" 4 .IX Item "InstanceId (required)" The Instance Id to check .PP Returns a Net::Amazon::EC2::ConfirmProductInstanceResponse object .SS "create_image(%params)" .IX Subsection "create_image(%params)" Creates an \s-1AMI\s0 that uses an Amazon \s-1EBS\s0 root device from a \*(L"running\*(R" or \*(L"stopped\*(R" instance. .PP AMIs that use an Amazon \s-1EBS\s0 root device boot faster than AMIs that use instance stores. They can be up to 1 TiB in size, use storage that persists on instance failure, and can be stopped and started. .IP "InstanceId (required)" 4 .IX Item "InstanceId (required)" The \s-1ID\s0 of the instance. .IP "Name (required)" 4 .IX Item "Name (required)" The name of the \s-1AMI\s0 that was provided during image creation. .Sp Note that the image name has the following constraints: .Sp 3\-128 alphanumeric characters, parenthesis, commas, slashes, dashes, or underscores. .IP "Description (optional)" 4 .IX Item "Description (optional)" The description of the \s-1AMI\s0 that was provided during image creation. .IP "NoReboot (optional)" 4 .IX Item "NoReboot (optional)" By default this property is set to false, which means Amazon \s-1EC2\s0 attempts to cleanly shut down the instance before image creation and reboots the instance afterwards. When set to true, Amazon \s-1EC2 \s0 does not shut down the instance before creating the image. When this option is used, file system integrity on the created image cannot be guaranteed. .IP "BlockDeviceMapping (optional)" 4 .IX Item "BlockDeviceMapping (optional)" Array ref of the device names exposed to the instance. .Sp You can specify device names as '=' similar to ec2\-create\-image command. () .Sp .Vb 6 \& BlockDeviceMapping => [ \& \*(Aq/dev/sda=:256:true:standard\*(Aq, \& \*(Aq/dev/sdb=none\*(Aq, \& \*(Aq/dev/sdc=ephemeral0\*(Aq, \& \*(Aq/dev/sdd=ephemeral1\*(Aq, \& ], .Ve .PP Returns the \s-1ID\s0 of the \s-1AMI\s0 created. .SS "create_key_pair(%params)" .IX Subsection "create_key_pair(%params)" Creates a new 2048 bit key pair, taking the following parameter: .IP "KeyName (required)" 4 .IX Item "KeyName (required)" A name for this key. Should be unique. .PP Returns a Net::Amazon::EC2::KeyPair object .SS "create_security_group(%params)" .IX Subsection "create_security_group(%params)" This method creates a new security group. It takes the following parameters: .IP "GroupName (required)" 4 .IX Item "GroupName (required)" The name of the new group to create. .IP "GroupDescription (required)" 4 .IX Item "GroupDescription (required)" A short description of the new group. .PP Returns 1 if the group creation succeeds. .SS "create_snapshot(%params)" .IX Subsection "create_snapshot(%params)" Create a snapshot of a volume. It takes the following arguments: .IP "VolumeId (required)" 4 .IX Item "VolumeId (required)" The volume id of the volume you want to take a snapshot of. .IP "Description (optional)" 4 .IX Item "Description (optional)" Description of the Amazon \s-1EBS\s0 snapshot. .PP Returns a Net::Amazon::EC2::Snapshot object of the newly created snapshot. .SS "create_tags(%params)" .IX Subsection "create_tags(%params)" Creates tags. .IP "ResourceId (required)" 4 .IX Item "ResourceId (required)" The \s-1ID\s0 of the resource to create tags. Can be a scalar or arrayref .IP "Tags (required)" 4 .IX Item "Tags (required)" Hashref where keys and values will be set on all resources given in the first element. .PP Returns true if the tag creation succeeded. .SS "create_volume(%params)" .IX Subsection "create_volume(%params)" Creates a volume. .IP "Size (required)" 4 .IX Item "Size (required)" The size in GiB ( 1024^3 ) of the volume you want to create. .IP "SnapshotId (optional)" 4 .IX Item "SnapshotId (optional)" The optional snapshot id to create the volume from. The volume must be equal or larger than the snapshot it was created from. .IP "AvailabilityZone (required)" 4 .IX Item "AvailabilityZone (required)" The availability zone to create the volume in. .IP "VolumeType (optional)" 4 .IX Item "VolumeType (optional)" The volume type: 'standard', 'gp2', or 'io1'. Defaults to 'standard'. .IP "Iops (required if VolumeType is 'io1')" 4 .IX Item "Iops (required if VolumeType is 'io1')" The number of I/O operations per second (\s-1IOPS\s0) that the volume supports. This is limited to 30 times the volume size with an absolute maximum of 4000. It's likely these numbers will change in the future. .Sp Required when the volume type is io1; not used otherwise. .IP "Encrypted (optional)" 4 .IX Item "Encrypted (optional)" Encrypt the volume. \s-1EBS\s0 encrypted volumes are encrypted on the host using \&\s-1AWS\s0 managed keys. Only some instance types support encrypted volumes. At the time of writing encrypted volumes are not supported for boot volumes. .PP Returns a Net::Amazon::EC2::Volume object containing the resulting volume status .SS "delete_key_pair(%params)" .IX Subsection "delete_key_pair(%params)" This method deletes a keypair. Takes the following parameter: .IP "KeyName (required)" 4 .IX Item "KeyName (required)" The name of the key to delete. .PP Returns 1 if the key was successfully deleted. .SS "delete_security_group(%params)" .IX Subsection "delete_security_group(%params)" This method deletes a security group. It takes the following parameter: .IP "GroupName (required)" 4 .IX Item "GroupName (required)" The name of the security group to delete. .PP Returns 1 if the delete succeeded. .SS "delete_snapshot(%params)" .IX Subsection "delete_snapshot(%params)" Deletes the snapshots passed in. It takes the following arguments: .IP "SnapshotId (required)" 4 .IX Item "SnapshotId (required)" A snapshot id can be passed in. Will delete the corresponding snapshot. .PP Returns true if the deleting succeeded. .SS "delete_volume(%params)" .IX Subsection "delete_volume(%params)" Delete a volume. .IP "VolumeId (required)" 4 .IX Item "VolumeId (required)" The volume id you wish to delete. .PP Returns true if the deleting succeeded. .SS "delete_tags(%params)" .IX Subsection "delete_tags(%params)" Delete tags. .IP "ResourceId (required)" 4 .IX Item "ResourceId (required)" The \s-1ID\s0 of the resource to delete tags .IP "Tag.Key (required)" 4 .IX Item "Tag.Key (required)" Key for a tag, may pass in a scalar or arrayref. .IP "Tag.Value (required)" 4 .IX Item "Tag.Value (required)" Value for a tag, may pass in a scalar or arrayref. .PP Returns true if the releasing succeeded. .SS "deregister_image(%params)" .IX Subsection "deregister_image(%params)" This method will deregister an \s-1AMI.\s0 It takes the following parameter: .IP "ImageId (required)" 4 .IX Item "ImageId (required)" The image id of the \s-1AMI\s0 you want to deregister. .PP Returns 1 if the deregistering succeeded .SS "describe_addresses(%params)" .IX Subsection "describe_addresses(%params)" This method describes the elastic addresses currently allocated and any instances associated with them. It takes the following arguments: .IP "PublicIp (optional)" 4 .IX Item "PublicIp (optional)" The \s-1IP\s0 address to describe. Can be either a scalar or an array ref. .PP Returns an array ref of Net::Amazon::EC2::DescribeAddress objects .SS "describe_availability_zones(%params)" .IX Subsection "describe_availability_zones(%params)" This method describes the availability zones currently available to choose from. It takes the following arguments: .IP "ZoneName (optional)" 4 .IX Item "ZoneName (optional)" The zone name to describe. Can be either a scalar or an array ref. .PP Returns an array ref of Net::Amazon::EC2::AvailabilityZone objects .SS "describe_bundle_tasks(%params)" .IX Subsection "describe_bundle_tasks(%params)" Describes current bundling tasks. This procedure is not applicable for Linux and \s-1UNIX\s0 instances. .IP "BundleId (optional)" 4 .IX Item "BundleId (optional)" The optional \s-1ID\s0 of the bundle task to describe. .PP Returns a array ref of Net::Amazon::EC2::BundleInstanceResponse objects .SS "describe_image_attributes(%params)" .IX Subsection "describe_image_attributes(%params)" This method pulls a list of attributes for the image id specified .IP "ImageId (required)" 4 .IX Item "ImageId (required)" A scalar containing the image you want to get the list of attributes for. .IP "Attribute (required)" 4 .IX Item "Attribute (required)" A scalar containing the attribute to describe. .Sp Valid attributes are: .RS 4 .IP "launchPermission \- The AMIs launch permissions." 4 .IX Item "launchPermission - The AMIs launch permissions." .PD 0 .IP "ImageId \- \s-1ID\s0 of the \s-1AMI\s0 for which an attribute will be described." 4 .IX Item "ImageId - ID of the AMI for which an attribute will be described." .IP "productCodes \- The product code attached to the \s-1AMI.\s0" 4 .IX Item "productCodes - The product code attached to the AMI." .IP "kernel \- Describes the \s-1ID\s0 of the kernel associated with the \s-1AMI.\s0" 4 .IX Item "kernel - Describes the ID of the kernel associated with the AMI." .IP "ramdisk \- Describes the \s-1ID\s0 of \s-1RAM\s0 disk associated with the \s-1AMI.\s0" 4 .IX Item "ramdisk - Describes the ID of RAM disk associated with the AMI." .IP "blockDeviceMapping \- Defines native device names to use when exposing virtual devices." 4 .IX Item "blockDeviceMapping - Defines native device names to use when exposing virtual devices." .IP "platform \- Describes the operating system platform." 4 .IX Item "platform - Describes the operating system platform." .RE .RS 4 .RE .PD .PP Returns a Net::Amazon::EC2::DescribeImageAttribute object .PP * \s-1NOTE:\s0 There is currently a bug in Amazon's \s-1SOAP\s0 and Query \s-1API\s0 for when you try and describe the attributes: kernel, ramdisk, blockDeviceMapping, or platform \&\s-1AWS\s0 returns an invalid response. No response yet from Amazon on an \s-1ETA\s0 for getting that bug fixed. .SS "describe_images(%params)" .IX Subsection "describe_images(%params)" This method pulls a list of the AMIs which can be run. The list can be modified by passing in some of the following parameters: .IP "ImageId (optional)" 4 .IX Item "ImageId (optional)" Either a scalar or an array ref can be passed in, will cause just these AMIs to be 'described' .IP "Owner (optional)" 4 .IX Item "Owner (optional)" Either a scalar or an array ref can be passed in, will cause AMIs owned by the Owner's provided will be 'described'. Pass either account ids, or 'amazon' for all amazon-owned AMIs, or 'self' for your own AMIs. .IP "ExecutableBy (optional)" 4 .IX Item "ExecutableBy (optional)" Either a scalar or an array ref can be passed in, will cause AMIs executable by the account id's specified. Or 'self' for your own AMIs. .PP Returns an array ref of Net::Amazon::EC2::DescribeImagesResponse objects .SS "describe_instances(%params)" .IX Subsection "describe_instances(%params)" This method pulls a list of the instances which are running or were just running. The list can be modified by passing in some of the following parameters: .IP "InstanceId (optional)" 4 .IX Item "InstanceId (optional)" Either a scalar or an array ref can be passed in, will cause just these instances to be 'described' .IP "Filter (optional)" 4 .IX Item "Filter (optional)" The filters for only the matching instances to be 'described'. A filter tuple is an arrayref constsing one key and one or more values. The option takes one filter tuple, or an arrayref of multiple filter tuples. .PP Returns an array ref of Net::Amazon::EC2::ReservationInfo objects .SS "describe_instance_status(%params)" .IX Subsection "describe_instance_status(%params)" This method pulls a list of the instances based on some status filter. The list can be modified by passing in some of the following parameters: .IP "InstanceId (optional)" 4 .IX Item "InstanceId (optional)" Either a scalar or an array ref can be passed in, will cause just these instances to be 'described' .IP "Filter (optional)" 4 .IX Item "Filter (optional)" The filters for only the matching instances to be 'described'. A filter tuple is an arrayref constsing one key and one or more values. The option takes one filter tuple, or an arrayref of multiple filter tuples. .PP Returns an array ref of Net::Amazon::EC2::InstanceStatuses objects .SS "describe_instance_attribute(%params)" .IX Subsection "describe_instance_attribute(%params)" Returns information about an attribute of an instance. Only one attribute can be specified per call. .IP "InstanceId (required)" 4 .IX Item "InstanceId (required)" The instance id we want to describe the attributes of. .IP "Attribute (required)" 4 .IX Item "Attribute (required)" The attribute we want to describe. Valid values are: .RS 4 .IP "\(bu" 4 instanceType .IP "\(bu" 4 kernel .IP "\(bu" 4 ramdisk .IP "\(bu" 4 userData .IP "\(bu" 4 disableApiTermination .IP "\(bu" 4 instanceInitiatedShutdownBehavior .IP "\(bu" 4 rootDeviceName .IP "\(bu" 4 blockDeviceMapping .RE .RS 4 .RE .PP Returns a Net::Amazon::EC2::DescribeInstanceAttributeResponse object .SS "describe_key_pairs(%params)" .IX Subsection "describe_key_pairs(%params)" This method describes the keypairs available on this account. It takes the following parameter: .IP "KeyName (optional)" 4 .IX Item "KeyName (optional)" The name of the key to be described. Can be either a scalar or an array ref. .PP Returns an array ref of Net::Amazon::EC2::DescribeKeyPairsResponse objects .SS "describe_regions(%params)" .IX Subsection "describe_regions(%params)" Describes \s-1EC2\s0 regions that are currently available to launch instances in for this account. .IP "RegionName (optional)" 4 .IX Item "RegionName (optional)" The name of the region(s) to be described. Can be either a scalar or an array ref. .PP Returns an array ref of Net::Amazon::EC2::Region objects .SS "describe_reserved_instances(%params)" .IX Subsection "describe_reserved_instances(%params)" Describes Reserved Instances that you purchased. .IP "ReservedInstancesId (optional)" 4 .IX Item "ReservedInstancesId (optional)" The reserved instance id(s) to be described. Can be either a scalar or an array ref. .PP Returns an array ref of Net::Amazon::EC2::ReservedInstance objects .SS "describe_reserved_instances_offerings(%params)" .IX Subsection "describe_reserved_instances_offerings(%params)" Describes Reserved Instance offerings that are available for purchase. With Amazon \s-1EC2\s0 Reserved Instances, you purchase the right to launch Amazon \s-1EC2\s0 instances for a period of time (without getting insufficient capacity errors) and pay a lower usage rate for the actual time used. .IP "ReservedInstancesOfferingId (optional)" 4 .IX Item "ReservedInstancesOfferingId (optional)" \&\s-1ID\s0 of the Reserved Instances to describe. .IP "InstanceType (optional)" 4 .IX Item "InstanceType (optional)" The instance type. The default is m1.small. Amazon frequently updates their instance types. .Sp See http://aws.amazon.com/ec2/instance\-types .IP "AvailabilityZone (optional)" 4 .IX Item "AvailabilityZone (optional)" The Availability Zone in which the Reserved Instance can be used. .IP "ProductDescription (optional)" 4 .IX Item "ProductDescription (optional)" The Reserved Instance description. .PP Returns an array ref of Net::Amazon::EC2::ReservedInstanceOffering objects .SS "describe_security_groups(%params)" .IX Subsection "describe_security_groups(%params)" This method describes the security groups available to this account. It takes the following parameter: .IP "GroupName (optional)" 4 .IX Item "GroupName (optional)" The name of the security group(s) to be described. Can be either a scalar or an array ref. .IP "GroupId (optional)" 4 .IX Item "GroupId (optional)" The id of the security group(s) to be described. Can be either a scalar or an array ref. .PP Returns an array ref of Net::Amazon::EC2::SecurityGroup objects .SS "describe_snapshot_attribute(%params)" .IX Subsection "describe_snapshot_attribute(%params)" Describes the snapshots attributes related to the snapshot in question. It takes the following arguments: .IP "SnapshotId (optional)" 4 .IX Item "SnapshotId (optional)" Either a scalar or array ref of snapshot id's can be passed in. If this isn't passed in it will describe the attributes of all the current snapshots. .IP "Attribute (required)" 4 .IX Item "Attribute (required)" The attribute to describe, currently, the only valid attribute is createVolumePermission. .PP Returns a Net::Amazon::EC2::SnapshotAttribute object. .SS "describe_snapshots(%params)" .IX Subsection "describe_snapshots(%params)" Describes the snapshots available to the user. It takes the following arguments: .IP "SnapshotId (optional)" 4 .IX Item "SnapshotId (optional)" Either a scalar or array ref of snapshot id's can be passed in. If this isn't passed in it will describe all the current snapshots. .IP "Owner (optional)" 4 .IX Item "Owner (optional)" The owner of the snapshot. .IP "RestorableBy (optional)" 4 .IX Item "RestorableBy (optional)" A user who can create volumes from the snapshot. .IP "Filter (optional)" 4 .IX Item "Filter (optional)" The filters for only the matching snapshots to be 'described'. A filter tuple is an arrayref constsing one key and one or more values. The option takes one filter tuple, or an arrayref of multiple filter tuples. .PP Returns an array ref of Net::Amazon::EC2::Snapshot objects. .SS "describe_volumes(%params)" .IX Subsection "describe_volumes(%params)" Describes the volumes currently created. It takes the following arguments: .IP "VolumeId (optional)" 4 .IX Item "VolumeId (optional)" Either a scalar or array ref of volume id's can be passed in. If this isn't passed in it will describe all the current volumes. .PP Returns an array ref of Net::Amazon::EC2::Volume objects. .SS "describe_tags(%params)" .IX Subsection "describe_tags(%params)" This method describes the tags available on this account. It takes the following parameter: .IP "Filter.Name (optional)" 4 .IX Item "Filter.Name (optional)" The name of the Filter.Name to be described. Can be either a scalar or an array ref. .IP "Filter.Value (optional)" 4 .IX Item "Filter.Value (optional)" The name of the Filter.Value to be described. Can be either a scalar or an array ref. .PP Returns an array ref of Net::Amazon::EC2::DescribeTags objects .SS "detach_volume(%params)" .IX Subsection "detach_volume(%params)" Detach a volume from an instance. .IP "VolumeId (required)" 4 .IX Item "VolumeId (required)" The volume id you wish to detach. .IP "InstanceId (optional)" 4 .IX Item "InstanceId (optional)" The instance id you wish to detach from. .IP "Device (optional)" 4 .IX Item "Device (optional)" The device the volume was attached as. .IP "Force (optional)" 4 .IX Item "Force (optional)" A boolean for if to forcibly detach the volume from the instance. \&\s-1WARNING:\s0 This can lead to data loss or a corrupted file system. Use this option only as a last resort to detach a volume from a failed instance. The instance will not have an opportunity to flush file system caches nor file system meta data. .PP Returns a Net::Amazon::EC2::Attachment object containing the resulting volume status. .SS "disassociate_address(%params)" .IX Subsection "disassociate_address(%params)" Disassociates an elastic \s-1IP\s0 address with an instance. It takes the following arguments: .IP "PublicIp (required)" 4 .IX Item "PublicIp (required)" The \s-1IP\s0 address to disassociate .PP Returns true if the disassociation succeeded. .SS "get_console_output(%params)" .IX Subsection "get_console_output(%params)" This method gets the output from the virtual console for an instance. It takes the following parameters: .IP "InstanceId (required)" 4 .IX Item "InstanceId (required)" A scalar containing a instance id. .PP Returns a Net::Amazon::EC2::ConsoleOutput object or \f(CW\*(C`undef\*(C'\fR if there is no new output. (This can happen in cases where the console output has not changed since the last call.) .SS "get_password_data(%params)" .IX Subsection "get_password_data(%params)" Retrieves the encrypted administrator password for the instances running Windows. This procedure is not applicable for Linux and \s-1UNIX\s0 instances. .IP "InstanceId (required)" 4 .IX Item "InstanceId (required)" The Instance Id for which to retrieve the password. .PP Returns a Net::Amazon::EC2::InstancePassword object .SS "modify_image_attribute(%params)" .IX Subsection "modify_image_attribute(%params)" This method modifies attributes of an machine image. .IP "ImageId (required)" 4 .IX Item "ImageId (required)" The \s-1AMI\s0 to modify the attributes of. .IP "Attribute (required)" 4 .IX Item "Attribute (required)" The attribute you wish to modify, right now the attributes you can modify are launchPermission and productCodes .IP "OperationType (required for launchPermission)" 4 .IX Item "OperationType (required for launchPermission)" The operation you wish to perform on the attribute. Right now just 'add' and 'remove' are supported. .IP "UserId (required for launchPermission)" 4 .IX Item "UserId (required for launchPermission)" User Id's you wish to add/remove from the attribute. .IP "UserGroup (required for launchPermission)" 4 .IX Item "UserGroup (required for launchPermission)" Groups you wish to add/remove from the attribute. Currently there is only one User Group available 'all' for all Amazon \s-1EC2\s0 customers. .IP "ProductCode (required for productCodes)" 4 .IX Item "ProductCode (required for productCodes)" Attaches a product code to the \s-1AMI.\s0 Currently only one product code can be assigned to the \s-1AMI. \s0 Once this is set it cannot be changed or reset. .PP Returns 1 if the modification succeeds. .SS "modify_instance_attribute(%params)" .IX Subsection "modify_instance_attribute(%params)" Modify an attribute of an instance. .IP "InstanceId (required)" 4 .IX Item "InstanceId (required)" The instance id we want to modify the attributes of. .IP "Attribute (required)" 4 .IX Item "Attribute (required)" The attribute we want to modify. Valid values are: .RS 4 .IP "\(bu" 4 instanceType .IP "\(bu" 4 kernel .IP "\(bu" 4 ramdisk .IP "\(bu" 4 userData .IP "\(bu" 4 disableApiTermination .IP "\(bu" 4 instanceInitiatedShutdownBehavior .IP "\(bu" 4 rootDeviceName .IP "\(bu" 4 blockDeviceMapping .RE .RS 4 .RE .IP "Value (required)" 4 .IX Item "Value (required)" The value to set the attribute to. .Sp You may also pass a hashref with one or more keys and values. This hashref will be flattened and passed to \s-1AWS.\s0 .Sp For example: .Sp .Vb 8 \& $ec2\->modify_instance_attribute( \& \*(AqInstanceId\*(Aq => $id, \& \*(AqAttribute\*(Aq => \*(AqblockDeviceMapping\*(Aq, \& \*(AqValue\*(Aq => { \& \*(AqBlockDeviceMapping.1.DeviceName\*(Aq => \*(Aq/dev/sdf1\*(Aq, \& \*(AqBlockDeviceMapping.1.Ebs.DeleteOnTermination\*(Aq => \*(Aqtrue\*(Aq, \& } \& ); .Ve .PP Returns 1 if the modification succeeds. .SS "modify_snapshot_attribute(%params)" .IX Subsection "modify_snapshot_attribute(%params)" This method modifies attributes of a snapshot. .IP "SnapshotId (required)" 4 .IX Item "SnapshotId (required)" The snapshot id to modify the attributes of. .IP "UserId (optional)" 4 .IX Item "UserId (optional)" User Id you wish to add/remove create volume permissions for. .IP "UserGroup (optional)" 4 .IX Item "UserGroup (optional)" User Id you wish to add/remove create volume permissions for. To make the snapshot createable by all set the UserGroup to \*(L"all\*(R". .IP "Attribute (required)" 4 .IX Item "Attribute (required)" The attribute you wish to modify, right now the only attribute you can modify is \*(L"CreateVolumePermission\*(R" .IP "OperationType (required)" 4 .IX Item "OperationType (required)" The operation you wish to perform on the attribute. Right now just 'add' and 'remove' are supported. .PP Returns 1 if the modification succeeds. .SS "monitor_instances(%params)" .IX Subsection "monitor_instances(%params)" Enables monitoring for a running instance. For more information, refer to the Amazon CloudWatch Developer Guide. .IP "InstanceId (required)" 4 .IX Item "InstanceId (required)" The instance id(s) to monitor. Can be a scalar or an array ref .PP Returns an array ref of Net::Amazon::EC2::MonitoredInstance objects .SS "purchase_reserved_instances_offering(%params)" .IX Subsection "purchase_reserved_instances_offering(%params)" Purchases a Reserved Instance for use with your account. With Amazon \s-1EC2\s0 Reserved Instances, you purchase the right to launch Amazon \s-1EC2\s0 instances for a period of time (without getting insufficient capacity errors) and pay a lower usage rate for the actual time used. .IP "ReservedInstancesOfferingId (required)" 4 .IX Item "ReservedInstancesOfferingId (required)" \&\s-1ID\s0 of the Reserved Instances to describe. Can be either a scalar or an array ref. .IP "InstanceCount (optional)" 4 .IX Item "InstanceCount (optional)" The number of Reserved Instances to purchase (default is 1). Can be either a scalar or an array ref. .Sp \&\s-1NOTE NOTE NOTE,\s0 the array ref needs to line up with the InstanceCount if you want to pass that in, so that the right number of instances are started of the right instance offering .PP Returns 1 if the reservations succeeded. .SS "reboot_instances(%params)" .IX Subsection "reboot_instances(%params)" This method reboots an instance. It takes the following parameters: .IP "InstanceId (required)" 4 .IX Item "InstanceId (required)" Instance Id of the instance you wish to reboot. Can be either a scalar or array ref of instances to reboot. .PP Returns 1 if the reboot succeeded. .SS "register_image(%params)" .IX Subsection "register_image(%params)" This method registers an \s-1AMI\s0 on the \s-1EC2.\s0 It takes the following parameter: .IP "ImageLocation (optional)" 4 .IX Item "ImageLocation (optional)" The location of the \s-1AMI\s0 manifest on S3 .IP "Name (required)" 4 .IX Item "Name (required)" The name of the \s-1AMI\s0 that was provided during image creation. .IP "Description (optional)" 4 .IX Item "Description (optional)" The description of the \s-1AMI.\s0 .IP "Architecture (optional)" 4 .IX Item "Architecture (optional)" The architecture of the image. Either i386 or x86_64 .IP "KernelId (optional)" 4 .IX Item "KernelId (optional)" The \s-1ID\s0 of the kernel to select. .IP "RamdiskId (optional)" 4 .IX Item "RamdiskId (optional)" The \s-1ID\s0 of the \s-1RAM\s0 disk to select. Some kernels require additional drivers at launch. .IP "RootDeviceName (optional)" 4 .IX Item "RootDeviceName (optional)" The root device name (e.g., /dev/sda1). .IP "BlockDeviceMapping (optional)" 4 .IX Item "BlockDeviceMapping (optional)" This needs to be a data structure like this: .Sp .Vb 10 \& [ \& { \& deviceName => "/dev/sdh", (optional) \& virtualName => "ephemerel0", (optional) \& noDevice => "/dev/sdl", (optional), \& ebs => { \& snapshotId => "snap\-0000", (optional) \& volumeSize => "20", (optional) \& deleteOnTermination => "false", (optional) \& }, \& }, \& ... \& ] .Ve .PP Returns the image id of the new image on \s-1EC2.\s0 .SS "release_address(%params)" .IX Subsection "release_address(%params)" Releases an allocated \s-1IP\s0 address. It takes the following arguments: .IP "PublicIp (required)" 4 .IX Item "PublicIp (required)" The \s-1IP\s0 address to release .PP Returns true if the releasing succeeded. .SS "reset_image_attribute(%params)" .IX Subsection "reset_image_attribute(%params)" This method resets an attribute for an \s-1AMI\s0 to its default state (\s-1NOTE:\s0 product codes cannot be reset). It takes the following parameters: .IP "ImageId (required)" 4 .IX Item "ImageId (required)" The image id of the \s-1AMI\s0 you wish to reset the attributes on. .IP "Attribute (required)" 4 .IX Item "Attribute (required)" The attribute you want to reset. .PP Returns 1 if the attribute reset succeeds. .SS "reset_instance_attribute(%params)" .IX Subsection "reset_instance_attribute(%params)" Reset an attribute of an instance. Only one attribute can be specified per call. .IP "InstanceId (required)" 4 .IX Item "InstanceId (required)" The instance id we want to reset the attributes of. .IP "Attribute (required)" 4 .IX Item "Attribute (required)" The attribute we want to reset. Valid values are: .RS 4 .IP "\(bu" 4 kernel .IP "\(bu" 4 ramdisk .RE .RS 4 .RE .PP Returns 1 if the reset succeeds. .SS "reset_snapshot_attribute(%params)" .IX Subsection "reset_snapshot_attribute(%params)" This method resets an attribute for an snapshot to its default state. .PP It takes the following parameters: .IP "SnapshotId (required)" 4 .IX Item "SnapshotId (required)" The snapshot id of the snapshot you wish to reset the attributes on. .IP "Attribute (required)" 4 .IX Item "Attribute (required)" The attribute you want to reset (currently \*(L"CreateVolumePermission\*(R" is the only valid attribute). .PP Returns 1 if the attribute reset succeeds. .SS "revoke_security_group_ingress(%params)" .IX Subsection "revoke_security_group_ingress(%params)" This method revoke permissions to a security group. It takes the following parameters: .IP "GroupName (required)" 4 .IX Item "GroupName (required)" The name of the group to revoke security rules from. .IP "SourceSecurityGroupName (required when revoking a user and group together)" 4 .IX Item "SourceSecurityGroupName (required when revoking a user and group together)" Name of the group to revoke access from. .IP "SourceSecurityGroupOwnerId (required when revoking a user and group together)" 4 .IX Item "SourceSecurityGroupOwnerId (required when revoking a user and group together)" Owner of the group to revoke access from. .IP "IpProtocol (required when revoking access from a \s-1CIDR\s0)" 4 .IX Item "IpProtocol (required when revoking access from a CIDR)" \&\s-1IP\s0 Protocol of the rule you are revoking access from (\s-1TCP, UDP,\s0 or \s-1ICMP\s0) .IP "FromPort (required when revoking access from a \s-1CIDR\s0)" 4 .IX Item "FromPort (required when revoking access from a CIDR)" Beginning of port range to revoke access from. .IP "ToPort (required when revoking access from a \s-1CIDR\s0)" 4 .IX Item "ToPort (required when revoking access from a CIDR)" End of port range to revoke access from. .IP "CidrIp (required when revoking access from a \s-1CIDR\s0)" 4 .IX Item "CidrIp (required when revoking access from a CIDR)" The \s-1CIDR IP\s0 space we are revoking access from. .PP Revoking a rule can be done in two ways: revoking a source group name + source group owner id, or, by Protocol + start port + end port + \s-1CIDR IP. \s0 The two are mutally exclusive. .PP Returns 1 if rule is revoked successfully. .SS "run_instances(%params)" .IX Subsection "run_instances(%params)" This method will start instance(s) of AMIs on \s-1EC2.\s0 The parameters indicate which \s-1AMI\s0 to instantiate and how many / what properties they have: .IP "ImageId (required)" 4 .IX Item "ImageId (required)" The image id you want to start an instance of. .IP "MinCount (required)" 4 .IX Item "MinCount (required)" The minimum number of instances to start. .IP "MaxCount (required)" 4 .IX Item "MaxCount (required)" The maximum number of instances to start. .IP "KeyName (optional)" 4 .IX Item "KeyName (optional)" The keypair name to associate this instance with. If omitted, will use your default keypair. .IP "SecurityGroup (optional)" 4 .IX Item "SecurityGroup (optional)" An scalar or array ref. Will associate this instance with the group names passed in. If omitted, will be associated with the default security group. .IP "SecurityGroupId (optional)" 4 .IX Item "SecurityGroupId (optional)" An scalar or array ref. Will associate this instance with the group ids passed in. If omitted, will be associated with the default security group. .IP "AdditionalInfo (optional)" 4 .IX Item "AdditionalInfo (optional)" Specifies additional information to make available to the instance(s). .IP "UserData (optional)" 4 .IX Item "UserData (optional)" Optional data to pass into the instance being started. Needs to be base64 encoded. .IP "InstanceType (optional)" 4 .IX Item "InstanceType (optional)" Specifies the type of instance to start. .Sp See http://aws.amazon.com/ec2/instance\-types .Sp The options are: .RS 4 .IP "m1.small (default)" 4 .IX Item "m1.small (default)" 1 \s-1EC2\s0 Compute Unit (1 virtual core with 1 \s-1EC2\s0 Compute Unit). 32\-bit or 64\-bit, 1.7GB \s-1RAM, 160GB\s0 disk .IP "m1.medium Medium Instance" 4 .IX Item "m1.medium Medium Instance" 2 \s-1EC2\s0 Compute Units (1 virtual core with 2 \s-1EC2\s0 Compute Unit), 32\-bit or 64\-bit, 3.75GB \s-1RAM, 410GB\s0 disk .IP "m1.large: Standard Large Instance" 4 .IX Item "m1.large: Standard Large Instance" 4 \s-1EC2\s0 Compute Units (2 virtual cores with 2 \s-1EC2\s0 Compute Units each). 64\-bit, 7.5GB \s-1RAM, 850GB\s0 disk .IP "m1.xlarge: Standard Extra Large Instance" 4 .IX Item "m1.xlarge: Standard Extra Large Instance" 8 \s-1EC2\s0 Compute Units (4 virtual cores with 2 \s-1EC2\s0 Compute Units each). 64\-bit, 15GB \s-1RAM, 1690GB\s0 disk .IP "t1.micro Micro Instance" 4 .IX Item "t1.micro Micro Instance" Up to 2 \s-1EC2\s0 Compute Units (for short periodic bursts), 32\-bit or 64\-bit, 613MB \s-1RAM, EBS\s0 storage only .IP "c1.medium: High-CPU Medium Instance" 4 .IX Item "c1.medium: High-CPU Medium Instance" 5 \s-1EC2\s0 Compute Units (2 virutal cores with 2.5 \s-1EC2\s0 Compute Units each). 32\-bit or 64\-bit, 1.7GB \s-1RAM, 350GB\s0 disk .IP "c1.xlarge: High-CPU Extra Large Instance" 4 .IX Item "c1.xlarge: High-CPU Extra Large Instance" 20 \s-1EC2\s0 Compute Units (8 virtual cores with 2.5 \s-1EC2\s0 Compute Units each). 64\-bit, 7GB \s-1RAM, 1690GB\s0 disk .IP "m2.2xlarge High-Memory Double Extra Large Instance" 4 .IX Item "m2.2xlarge High-Memory Double Extra Large Instance" 13 \s-1EC2\s0 Compute Units (4 virtual cores with 3.25 \s-1EC2\s0 Compute Units each). 64\-bit, 34.2GB \s-1RAM, 850GB\s0 disk .IP "m2.4xlarge High-Memory Quadruple Extra Large Instance" 4 .IX Item "m2.4xlarge High-Memory Quadruple Extra Large Instance" 26 \s-1EC2\s0 Compute Units (8 virtual cores with 3.25 \s-1EC2\s0 Compute Units each). 64\-bit, 68.4GB \s-1RAM, 1690GB\s0 disk .IP "cc1.4xlarge Cluster Compute Quadruple Extra Large Instance" 4 .IX Item "cc1.4xlarge Cluster Compute Quadruple Extra Large Instance" 33.5 \s-1EC2\s0 Compute Units (2 x Intel Xeon X5570, quad-core \*(L"Nehalem\*(R" architecture), 64\-bit, 23GB \s-1RAM, 1690GB\s0 disk, 10Gbit Ethernet .IP "cc1.8xlarge Cluster Compute Eight Extra Large Instance" 4 .IX Item "cc1.8xlarge Cluster Compute Eight Extra Large Instance" 88 \s-1EC2\s0 Compute Units (2 x Intel Xeon E5\-2670, eight-core \*(L"Sandy Bridge\*(R" architecture), 64\-bit, 60.5GB \s-1RAM, 3370GB\s0 disk, 10Gbit Ethernet .IP "cg1.4xlarge Cluster \s-1GPU\s0 Quadruple Extra Large Instance" 4 .IX Item "cg1.4xlarge Cluster GPU Quadruple Extra Large Instance" 33.5 \s-1EC2\s0 Compute Units (2 x Intel Xeon X5570, quad-core \*(L"Nehalem\*(R" architecture), 64\-bit, 22GB \s-1RAM 1690GB\s0 disk, 10Gbit Ethernet, 2 x \s-1NVIDIA\s0 Tesla \*(L"Fermi\*(R" M2050 GPUs .IP "hi1.4xlarge High I/O Quadruple Extra Large Instance" 4 .IX Item "hi1.4xlarge High I/O Quadruple Extra Large Instance" 35 \s-1EC2\s0 Compute Units (16 virtual cores), 60.5GB \s-1RAM,\s0 64\-bit, 2 x 1024GB \s-1SSD\s0 disk, 10Gbit Ethernet .RE .RS 4 .RE .IP "Placement.AvailabilityZone (optional)" 4 .IX Item "Placement.AvailabilityZone (optional)" The availability zone you want to run the instance in .IP "KernelId (optional)" 4 .IX Item "KernelId (optional)" The id of the kernel you want to launch the instance with .IP "RamdiskId (optional)" 4 .IX Item "RamdiskId (optional)" The id of the ramdisk you want to launch the instance with .IP "BlockDeviceMapping.VirtualName (optional)" 4 .IX Item "BlockDeviceMapping.VirtualName (optional)" This is the virtual name for a blocked device to be attached, may pass in a scalar or arrayref .IP "BlockDeviceMapping.DeviceName (optional)" 4 .IX Item "BlockDeviceMapping.DeviceName (optional)" This is the device name for a block device to be attached, may pass in a scalar or arrayref .IP "Encoding (optional)" 4 .IX Item "Encoding (optional)" The encoding. .IP "Version (optional)" 4 .IX Item "Version (optional)" The version. .IP "Monitoring.Enabled (optional)" 4 .IX Item "Monitoring.Enabled (optional)" Enables monitoring for this instance. .IP "SubnetId (optional)" 4 .IX Item "SubnetId (optional)" Specifies the subnet \s-1ID\s0 within which to launch the instance(s) for Amazon Virtual Private Cloud. .IP "ClientToken (optional)" 4 .IX Item "ClientToken (optional)" Specifies the idempotent instance id. .IP "EbsOptimized (optional)" 4 .IX Item "EbsOptimized (optional)" Whether the instance is optimized for \s-1EBS I/O.\s0 .IP "PrivateIpAddress (optional)" 4 .IX Item "PrivateIpAddress (optional)" Specifies the private \s-1IP\s0 address to use when launching an Amazon \s-1VPC\s0 instance. .IP "IamInstanceProfile.Name (optional)" 4 .IX Item "IamInstanceProfile.Name (optional)" Specifies the \s-1IAM\s0 profile to associate with the launched instance(s). This is the name of the role. .IP "IamInstanceProfile.Arn (optional)" 4 .IX Item "IamInstanceProfile.Arn (optional)" Specifies the \s-1IAM\s0 profile to associate with the launched instance(s). This is the \s-1ARN\s0 of the profile. .PP Returns a Net::Amazon::EC2::ReservationInfo object .SS "start_instances(%params)" .IX Subsection "start_instances(%params)" Starts an instance that uses an Amazon \s-1EBS\s0 volume as its root device. .IP "InstanceId (required)" 4 .IX Item "InstanceId (required)" Either a scalar or an array ref can be passed in (containing instance ids to be started). .PP Returns an array ref of Net::Amazon::EC2::InstanceStateChange objects. .SS "stop_instances(%params)" .IX Subsection "stop_instances(%params)" Stops an instance that uses an Amazon \s-1EBS\s0 volume as its root device. .IP "InstanceId (required)" 4 .IX Item "InstanceId (required)" Either a scalar or an array ref can be passed in (containing instance ids to be stopped). .IP "Force (optional)" 4 .IX Item "Force (optional)" If set to true, forces the instance to stop. The instance will not have an opportunity to flush file system caches nor file system meta data. If you use this option, you must perform file system check and repair procedures. This option is not recommended for Windows instances. .Sp The default is false. .PP Returns an array ref of Net::Amazon::EC2::InstanceStateChange objects. .SS "terminate_instances(%params)" .IX Subsection "terminate_instances(%params)" This method shuts down instance(s) passed into it. It takes the following parameter: .IP "InstanceId (required)" 4 .IX Item "InstanceId (required)" Either a scalar or an array ref can be passed in (containing instance ids) .PP Returns an array ref of Net::Amazon::EC2::InstanceStateChange objects. .SS "unmonitor_instances(%params)" .IX Subsection "unmonitor_instances(%params)" Disables monitoring for a running instance. For more information, refer to the Amazon CloudWatch Developer Guide. .IP "InstanceId (required)" 4 .IX Item "InstanceId (required)" The instance id(s) to monitor. Can be a scalar or an array ref .PP Returns an array ref of Net::Amazon::EC2::MonitoredInstance objects .SH "TESTING" .IX Header "TESTING" Set \s-1AWS_ACCESS_KEY_ID\s0 and \s-1SECRET_ACCESS_KEY\s0 environment variables to run the live tests. Note: because the live tests start an instance (and kill it) in both the tests and backwards compat tests there will be 2 hours of machine instance usage charges (since there are 2 instances started) which as of February 1st, 2010 costs a total of \f(CW$0\fR.17 \s-1USD\s0 .PP Important note about the windows-only methods. These have not been well tested as I do not run windows-based instances, so exercise caution in using these. .SH "BUGS" .IX Header "BUGS" Please report any bugs or feature requests to \f(CW\*(C`bug\-net\-amazon\-ec2 at rt.cpan.org\*(C'\fR, or through the web interface at . I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. .SH "AUTHOR" .IX Header "AUTHOR" Jeff Kim .SH "CONTRIBUTORS" .IX Header "CONTRIBUTORS" John McCullough and others as listed in the Changelog .SH "MAINTAINER" .IX Header "MAINTAINER" The current maintainer is Mark Allen \f(CW\*(C`\*(C'\fR .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (c) 2006\-2010 Jeff Kim. .PP Copyright (c) 2012 Mark Allen. .PP This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. .SH "SEE ALSO" .IX Header "SEE ALSO" Amazon \s-1EC2 API: \s0