ó FRTc@sËdZddlZddlZddlmZmZddlmZddlm Z ddl m Z m Z ddl Z ddlmZdd d d d gZd efd„ƒYZdefd„ƒYZdS(s4 High-level abstraction of an EC2 order for servers iÿÿÿÿN(tServert ServerSet(tIObject(tConfig(t get_domaint set_domain(tStringIOsm1.smallsm1.larges m1.xlarges c1.mediums c1.xlargetItemcBsªeZd„Zd„Zd„Zdd„Zdd„Zdd„Zdd„Z dd„Z dd „Z dd „Z dd „Z d „Zdd „Zd„Zd„ZRS(cCs^d|_d|_d|_d|_d|_d|_g|_d|_d|_ d|_ dS(Ni( tNonetregiontnamet instance_typetquantitytzonetamitgroupstkeytec2tconfig(tself((s?/opt/freeware/lib/python2.7/site-packages/boto/mashups/order.pyt__init__&s         cCs||j|R?RR (Rt sdb_domain((s?/opt/freeware/lib/python2.7/site-packages/boto/mashups/order.pyt update_configms cCs.|s|jdƒ}ntd|ƒ|_dS(NsSpecify Config filetpath(t get_filenameRR(Rt config_path((s?/opt/freeware/lib/python2.7/site-packages/boto/mashups/order.pyt set_configyscCs#tƒ}|jj|ƒ|jƒS(N(RRtwritetgetvalue(RR7((s?/opt/freeware/lib/python2.7/site-packages/boto/mashups/order.pytget_userdata_string~s cKs¾|jd|jƒ|_|js.|jƒn|jjƒ|_|jd|jƒ|_|jsn|jƒn|jd|jƒ|_|jsœ|jƒn|jd|j ƒ|_ |j sÊ|j ƒn|jd|j ƒ|_ |j sø|j ƒn|jd|j ƒ|_ |j s&|jƒn|jd|jƒ|_|jsT|jƒn|jd|jƒ|_|js‚|jƒn|jd |jƒ|_|js°|jƒn|jƒdS( NR R R R R RRRR(tgetR R tconnectRR R#R R%R R-R R)RR2RR8RR<RRKRG(Rtparams((s?/opt/freeware/lib/python2.7/site-packages/boto/mashups/order.pytenterƒs:                  N(t__name__t __module__RRRRR R#R%R)R-R2R8R<RGRKRNRR(((s?/opt/freeware/lib/python2.7/site-packages/boto/mashups/order.pyR$s            tOrdercBs/eZd„Zd„Zd„Zed„ZRS(cCsg|_d|_dS(N(titemsRt reservation(R((s?/opt/freeware/lib/python2.7/site-packages/boto/mashups/order.pyR¤s cKs*tƒ}|j||jj|ƒdS(N(RRRRVR3(RRQtitem((s?/opt/freeware/lib/python2.7/site-packages/boto/mashups/order.pytadd_item¨s  cCsZdGHdGHdGHxD|jD]9}d|j|j|j|jj|j|jjfGHqWdS(Ns*This Order consists of the following itemss#QTY NAME TYPE AMI Groups KeyPairs%s %s %s %s %s %s((RVR R R RR/RR(RRX((s?/opt/freeware/lib/python2.7/site-packages/boto/mashups/order.pytdisplay­s c Cs’tƒdkr0dGH|jdƒ}t|ƒntƒ}x4|jD])}|jjddd|jd|j j d|j ƒd|j d |j d |jj ƒ}|rg|jD]}|j^q­}|jd ƒt|ƒkr|GHtjd ƒg|jD]}|jƒ^qù}qnxR|jD]G}tƒ}|j |_ |j|_||_|jƒ|j|ƒq!WqCWt|ƒdkrŠ|d S|SdS(NsSDB Persistence Domain not setsSpecify SDB Domaint min_countit max_counttkey_namet user_datatsecurity_groupsR t placementtrunningii(RRR"RRRVRtrunR RR RNRR R t instancesR+tcounttlenttimetsleeptupdateRR/t instance_idRWtsaveR3( Rtblockt domain_nameR7RXRtitstatestserver((s?/opt/freeware/lib/python2.7/site-packages/boto/mashups/order.pytplaceµs4   (     (RSRTRRYRZtTrueRp(((s?/opt/freeware/lib/python2.7/site-packages/boto/mashups/order.pyRU¢s   (t__doc__Rtboto.ec2tboto.mashups.serverRRtboto.mashups.iobjectRtboto.pyami.configRtboto.sdb.persistRRRft boto.compatRR$RRU(((s?/opt/freeware/lib/python2.7/site-packages/boto/mashups/order.pyts   ~