This handler will be used primarily in a loop to iterate over multiple EC2 image instances. In order to be used by the Loop handler, a single value is returned as an escaped XML string. called "Instance List".
The Instance List will have the following format: i-01234567 i-abcdefgh i-0123abcd
To setup the Loop handler, refer to the Instance List from this handler for 'Data Source' and use '/instances/instance'as the 'Variable Path'.
The describe_instances function is the base AWS::EC2 gem call we are using for this handler and returns a multi-level hash/array nest with a top level hash key of "reservationsSet".
The reservationSet has the following pseudo-xml form. Elements with the - tag are array members and are referenced by numerical index.
All others are hash members and are references by element/key name.
, -
-
-
- , , , ,
-
, , , , , ", , , , , , ", , , ,
,
To retrieve the imageId, for example, simply flatten the above structure by removing inapplicable items
-
- ,
Treat items as arrays and all other members as hash keys. Doing so, we can reference imageId value in the following manner:
@baseawsobject.reservationSet.item[index].instancesSet.item[index].imageId