�
��Xc@sMddlmZddlmZddlmZdeefd��YZdS(i����(tArg(tTabifyingMixin(t
EC2RequesttDescribeInstanceTypescBs�eZdZeddddddd�edd d
ddd
ddd�edd ddddd�gZddgZd�Zd�Zd�Z RS(s7[Eucalyptus only] Show information about instance typestInstanceTypetmetavartINSTANCETYPEtnargst*thelps(limit results to specific instance typess --by-zonetdesttby_zonetactiont
store_truetroute_tos/show info for each availability zone separatelys--show-capacitytAvailabilitys!show info about instance capacitytinstanceTypeDetailstavailabilitycCs6tj|�|jjdt�r2t|jd<ndS(NRR(Rt configuretargstgettFalsetTruetparams(tself((sP/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/describeinstancetypes.pyR+s
c
Csg}i}i}x�|jdg�D]�}|j|d�i|jd�d6|jd�d6|jd�d6|jd�d6dd 6dd
6||d<|jjdt�r%x�|jdg�D]�}t|jd d��}t|jd
d��}||dd c|7<||dd
c|7<|j|d
i�i|jd�d6|jd�d6|jd�d6|jd�d6|d 6|d
6||d
|d<q�Wq%q%W|jjd�rxXt|j��D]1\}} |j d|f�GH|j
| |�Hq�Wn|j
||�dS(NRtnametcputmemorytdisktnetworkInterfacestnicsit availabletmaxRRtzoneNameRtAVAILABILITYZONE(RtappendRRtintt
setdefaultRtsortedtitemsttabifyt_print_vmtypes(
Rtresulttvmtype_namestvmtypestzonestvmtypetzoneRtmax_tzone_vmtypes((sP/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/describeinstancetypes.pytprint_result0s>%c
Csidd6dd6dd6dd6d d
6dd6d
d6dd6}td�|j�D��}g}xK|D]C}t||jdd��}|t||jdd��}|dkr�djt|�t|��} nd} i|d6||jd�d6||jd�d6||jd�d6||jd
�d
6|d6|d6| d6}
|j|
�xK|D]C}tt|
|��||krctt|
|��||<qcqcWqgWd}|j jdt
�r�|d7}n|j|�}dG|j|�GHx |D]}
dG|j|
�GHq�WdS(NtNameRtCPUsRsMemory (MiB)Rs
Disk (GiB)RtNICsRtUsedtusedtTotalttotalsUsed %tused_pctcss'|]\}}|t|�fVqdS(N(tlen(t.0tfieldtheader((sP/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/describeinstancetypes.pys <genexpr>]sR iRs{0:.0%}tsZ{{name:<{name}}} {{cpu:>{cpu}}} {{memory:>{memory}}} {{disk:>{disk}}} {{nics:>{nics}}}RsA {{used:>{used}}} / {{total:>{total}}} {{used_pct:>{used_pct}}}s
INSTANCETYPE (tdictR'R$RtformattfloatR#R;tstrRR(
RR,R+tfieldst
field_lengthstvmtype_infostvmtype_nameR9R7R:tvmtype_infoR=t
type_template((sP/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/describeinstancetypes.pyR)SsH
"
%
N(
t__name__t
__module__tDESCRIPTIONRtNonetARGSt LIST_TAGSRR2R)(((sP/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/describeinstancetypes.pyR s #N(trequestbuilderRtrequestbuilder.mixinsRteuca2ools.commands.ec2RR(((sP/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/describeinstancetypes.pyt<module>s |