Amazon EC2 - List image(s)

Declaration

<AMAWSEC2 ACTIVITY="list_images" PROVIDER="session_based" SESSION="text" ACCESSKEY="text" SECRETKEY="text (encrypted)" USERAGENT="text" MAXERRORRETRY="number" SERVICEURL="text" PROXYHOST="text" PROXYPORT="number" PROXYUSER="text" PROXYPWD="text (encrypted)" SIGNMETHOD="text" SIGNVERSION="text" RESULTDATASET="text" IMAGEID="text" EXECUTEBY="text" OWNER="text" />

Related Topics     

Description

Returns information about AMIs (Amazon Machine Images) and populates a dataset with the results. This includes image type, product codes and architecture. Images available to you include public images, private images that you own, and private images owned by other users for which you have explicit launch permissions. Launch permissions fall into three categories:

  • Public - The owner of the AMI granted launch permissions for the AMI to the all group. All users have launch permissions for these AMIs.
  • Explicit - The owner of the AMI granted launch permissions to a specific user.
  • Implicit - A user has implicit launch permissions for all AMIs he or she owns.
IMPORTANT: All EC2 activities are performed using Amazon's EC2 engine and rely on a valid Amazon EC2 service account in order to function correctly.

Practical usage

Used to get a list of AMIs. The information retrieved can be referenced in subsequent EC2 steps with the use of the Loop Dataset action.

Parameters

Connection

Property Type Required Default Markup Description
Connection --- --- --- --- Indicates where user credentials and preferences originate from. This parameter does not contain markup and is only displayed in visual mode for task construction and configuration purposes. The available options are:
  • Host (default) - Specifies that user credentials and/or advanced preferences are configured individually for this activity. Normally chosen if only a single activity is required to complete an operation.
  • Session - Specifies that user credentials and/or advanced preferences are obtained from a pre-configured session created in an earlier step with the use of the Amazon EC2 - Create session activity. Normally chosen if a combination of activities within the same action group are required. Linking several activities to a single session eliminates redundancy and improves efficiency. Several sessions can exist in a single task. Multiple sessions can run simultaneously without interference.
Session Text Yes, if the connection is set to Session EC2Session1 SESSION="EC2Session1" The name of an existing session to attach this activity to. This parameter is active only if the Connection parameter is set to Session.
Access key Text Yes, if the connection is set to Host (Empty) ACCESSKEY="022QF06E7MXBSH9DHM02" A 20-character alphanumeric string that uniquely identifies the owner of the AWS service account, similar to a username. This key along with a corresponding secret access key forms a secure information set that AWS uses to confirm a valid user's identity. This parameter is active only if the Connection parameter is set to Host.
Secret access key Text Yes, if the connection is set to Host (Empty) SECRETKEY="kWcrlUX5JEDGM/LtmEENI/aVmYvHNif5zB+d9+ct" A 40-character string that serves the role as password to access the AWS service account. This along with an associated access key forms a secure information set that EC2 uses to confirm a valid user's identity. This parameter is active only if the Connection parameter is set to Host.
User agent Text No Automate USERAGENT="Automate" The name of the client or application initiating requests to AWS. The default value is Automate
Maximum number of retries on error Number No (Empty) MAXERRORRETRY="4" The total amount of instances this activity should retry the request before returning an error. Network components can generate errors anytime in the life of a request, thus, implementing retries can increase reliability. 
Service URL Text No (Empty) SERVICEURL="https://ec2.eu-west-1.amazonaws.com" The URL that provides the service endpoint. To make the service call to a different region, you can pass the region-specific endpoint URL. For example, entering  https://ec2.us-west-1.amazonaws.com points to US West (Northern California) region. A complete list of EC2 regions, accompanying endpoints and valid protocols can be found below under EC2 regions and endpoints.
Proxy host Text No (Empty) PROXYHOST="proxy.host.com" The hostname (for example, server.domain.com) or IP address (for example, xxx.xxx.xxx.xxx) of the proxy server to use when connecting to AWS.  
Proxy port Number No (Empty) PROXYPORT="1028" The port number to use to connect to the proxy server. 
Proxy username Text No (Empty) PROXYUSERNAME="Username" The username to authenticate with the proxy server.
Proxy password Text No (Empty) PROXYPWD="encrypted" The password to authenticate with the proxy server. 
Signature method Text No (Empty) SIGNMETHOD="HmacSHA256" The signature method to use for signing the request. This provides a valid hashing algorithm for signature calculation. Valid AWS signature methods are HmacSHA1 and HmacSHA256.
Signature version Number No (Empty) SIGNVERSION="2" The signature version for signing the request. Valid AWS signature versions are 2 and 4. The difference with version 4 is that it allows you to sign your message using a key that is derived from your secret access key rather than using the secret access key itself.

Image

Property Type Required Default Markup Description
Create and populate dataset with Amazon Machine Image (AMI) information Text Yes (Empty) RESULTDATASET="mydataset" The name of a dataset in which to create and populate information regarding the list of AMIs returned. More details regarding the fields that this dataset creates can be found below under Datasets.

Advanced

Property Type Required Default Markup Description
Image ID Text No (Empty) IMAGEID="ami-78a54011" Specifies the unique ID of an individual Amazon Machine Image (AMI) to retrieve. If this field is left blank, information about all AMIs are retrieved.
Executable by (optional) Text No (Empty) EXECUTEDBY="-x self" Returns AMIs for which the specified user has explicit launch permissions. The user ID can be a user's account ID, self to return AMIs for which the sender of the request has explicit launch permissions, or all to return AMIs with public launch permissions.
Owner (optional) Text No Self OWNER="157SZTMZQT516NA" Returns AMIs owned by the specified owner. Multiple owners can be specified. The IDs 'amazon', 'self', and 'explicit' can be used to include AMIs owned by Amazon, by a specific user or AMIs for which the user has explicit launch permissions, respectively.

Description

Error Causes

On Error

Additional notes

EC2 regions and endpoints

This table contains a complete list of EC2 endpoints, accompanying regions and supported protocols.

Endpoint Region Protocol
ec2.us-east-1.amazonaws.com US East (Northern Virginia) Region HTTP and HTTPS
ec2.us-west-2.amazonaws.com US West (Oregon) Region HTTP and HTTPS
ec2.us-west-1.amazonaws.com   US West (Northern California) Region HTTP and HTTPS
ec2.eu-west-1.amazonaws.com EU (Ireland) Region HTTP and HTTPS
ec2.ap-southeast-1.amazonaws.com Asia Pacific (Singapore) Region HTTP and HTTPS
ec2.ap-southeast-2.amazonaws.com Asia Pacific (Sydney) Region HTTP and HTTPS
ec2.ap-northeast-1.amazonaws.com Asia Pacific (Tokyo) Region HTTP and HTTPS
ec2.sa-east-1.amazonaws.com   South America (Sao Paulo) Region HTTP and HTTPS

Datasets

A dataset is a multiple column, multiple row container object. This activity creates and populates a dataset containing a specific set of fields in addition to the standard dataset fields. The table below describes these fields (assuming the dataset assigned is named "theDataset").

Name Type Return Value
theDataset.Architecture Text Returns the image architecture (for example, i386 or x86_64)
theDataset.Description Text Returns the description of the AMI.
theDataset.ImageId Text Returns the unique ID of the AMI.
theDataset.ImageLocation Text Returns the location of the AMI.
theDataset.ImageOwnerAlias Text Returns the AWS account alias (for example, "amazon") or AWS account ID that owns the AMI.
theDataset.ImageState Text Returns the current state of the AMI.
theDataset.ImageType Text Returns the Image type (for example, machine, kernel, or ramdisk)
theDataset.KernelId Text Returns the kernel associated with the image, if any. Only applicable for machine images.
theDataset.Name Text Returns the name of the AMI.
theDataset.OwnerId Text Returns the AWS Access Key ID of the image owner.
theDataset.Platform Text Returns the operating platform of the instance.
theDataset.ProductCode Text Returns the product codes, if any, that are attached to the instance.
theDataset.RamdiskId Text Returns the RAM disk associated with the image, if any.  Only applicable for machine images.
theDataset.RootDeviceName Text Returns the root device name (for example, /dev/sda1).
theDataset.RootDeviceType Text Returns the root device type used by the AMI. The AMI can use an Amazon EBS or instance store root device.
theDataset.StateReason Text Returns the reason for the state change.
theDataset.Visibility Text Returns the image visibility (for example, public or private)

Example

NOTE:
  • Copy and paste the sample AML code below directly into the Task Builder Steps Panel.
  • To successfully run the sample code, update parameters containing user credentials, files, file paths, or other information specific to the task to match your environment.

Description

This sample task gets a list of Amazon Machine Images (AMI) and then stores them into a dataset.

Copy
<AMAWSEC2 ACTIVITY="list_images" IMAGEID="ami-78a54011" OWNER="-o 157SZTMZQT516NAZ7CR2" EXECUTEDBY="-x self" RESULTDATASET="results" />