ó ¡ôXc@sbddlmZmZmZddlmZddlZddlmZdefd„ƒYZ dS(iÿÿÿÿ(tArgtFiltertGenericTagFilter(t ArgumentErrorN(t EC2RequesttDescribeImagesc Bs`eZdZedddddddƒedd d d d dUdd ƒeddddddd dddƒeddddddd dddƒgZedddƒedddƒedddƒeddd ƒed!dd"ƒed#dd$ƒed%dd&ƒed'dd(ƒed)ƒed*dd+ƒed,dd-ƒed.ƒed/ƒed0ƒed1dd2ƒed3dd4ƒed5dd6ƒed7dd8ƒed9dd:ƒed;ƒed<ƒed=dd>ƒed?dd@ƒedAddBƒedCddDƒedEddFƒedGddHƒedIddJƒedKddLƒgZdMdNdOdPgZ dQ„Z dR„Z dS„Z dT„Z RS(Vs•Show information about images By default, only images your account owns and images for which your account has explicit launch permissions are shown.tImageIdtmetavartIMAGEtnargst*thelps limit results to specific imagess-as--alltactiont store_truetroute_tosdescribe all imagess-os--ownertdesttOwnertACCOUNTtappends,describe images owned by the specified owners-xs--executable-byt ExecutableBys_describe images for which the specified account has explicit launch permissionst architecturesCPU architectures*block-device-mapping.delete-on-terminationsKwhether a volume is deleted upon instance terminations block-device-mapping.device-names,device name for a volume mapped to the images block-device-mapping.snapshot-ids,snapshot ID for a volume mapped to the images block-device-mapping.volume-sizes,volume size for a volume mapped to the images block-device-mapping.volume-types,volume type for a volume mapped to the imaget descriptionsimage descriptiont hypervisorsimage's hypervisor typesimage-ids image-types.image type ("machine", "kernel", or "ramdisk")s is-publicswhether the image is publics kernel-idsmanifest-locationtnames owner-aliassimage owner's account aliassowner-idsimage owner's account IDtplatforms"windows" for Windows imagess product-codes&product code associated with the imagesproduct-code.types^type of product code associated with the image ("devpay", "marketplace")s ramdisk-idsroot-device-namesroot-device-types,root device type ("ebs" or "instance-store")tstatesGimage state ("available", "pending", or "failed")sstate-reason-codes,reason code for the most recent state changesstate-reason-messages(message for the most recent state changestag-keys"key of a tag assigned to the images tag-values$value of a tag assigned to the imagestag:KEYs"specific tag key/value combinationsvirtualization-types,virtualization type ("paravirtual" or "hvm")t imagesSett productCodestblockDeviceMappingttagSetcCsŒtj|ƒ|jjdtƒrˆ|jjdƒrCtdƒ‚n|jjdƒrdtdƒ‚n|jjdƒrˆtdƒ‚qˆndS(NtallRs4argument -a/--all: not allowed with a list of imagesRs?argument -a/--all: not allowed with argument -x/--executable-byRs7argument -a/--all: not allowed with argument -o/--owner(Rt configuretargstgettFalseR(tself((sI/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/describeimages.pyR`s cs t‡fd†dDƒƒs’dgˆjd<ˆjƒ}ˆjd=dgˆjd<ˆjƒ}ˆjd=|jdgƒ|jdgƒ|d<|SˆjƒSdS( Nc3s!|]}ˆjj|ƒVqdS(N(R R!(t.0titem(R#(sI/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/describeimages.pys nsRRRRR#R(sallsImageIds ExecutableBysOwner(tanytparamstsendR!(R#townedt executable((R#sI/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/describeimages.pytmainms     cCsni}x.|jdgƒD]}|j|d|ƒqWx0ttj|ƒƒD]\}}|j|ƒqMWdS(NRtimageId(R!t setdefaulttsortedtsixt iteritemst print_image(R#tresulttimagestimaget_((sI/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/describeimages.pyt print_result}s "cCsz|jdƒdkr'|jdƒ}n*dj|jddƒ|jdƒfƒ}|jd|jd ƒ||jd ƒp„|jdƒ|jd ƒ|jd ƒd kr«dnd|jdƒ|jdƒ|jdƒ|jdƒ|jdƒ|jdƒ|jdƒ|jdƒfƒGHx'|jdgƒD]}|j|ƒq)Wx3|jdgƒD]}|j||jd ƒƒqSWdS(NtrootDeviceTypesinstance-storet imageLocationt/t imageOwnerIdtRRR,timageOwnerAliast imageStatetisPublicttruetpublictprivateRt imageTypetkernelIdt ramdiskIdRtvirtualizationTypeRRR(R!tjointtabifytprint_blockdevice_mappingtprint_resource_tag(R#R4t imagenametmappingttag((sI/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/describeimages.pyR1„s"  N(t__name__t __module__t DESCRIPTIONRtNonetARGSRRtFILTERSt LIST_TAGSRR+R6R1(((sI/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/describeimages.pyR!sx                          ( trequestbuilderRRRtrequestbuilder.exceptionsRR/teuca2ools.commands.ec2RR(((sI/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/describeimages.pyts