ó FRTc@srddlZddlmZddlmZdefd„ƒYZdefd„ƒYZdefd „ƒYZdS( iÿÿÿÿN(turllib(t ResultSettInvalidationBatchcBs}eZdZd d d dd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „ZRS(s¦A simple invalidation request. :see: http://docs.amazonwebservices.com/AmazonCloudFront/2010-08-01/APIReference/index.html?InvalidationBatchDatatype.html tcCsa|p g|_||_||_|jsBttjƒƒ|_n|rT||_n ||_dS(s_Create a new invalidation request: :paths: An array of paths to invalidate N(tpathst distributiontcaller_referencetstrtuuidtuuid4t connection(tselfRR RR((sI/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/invalidation.pyt__init__!s    cCs d|jS(Ns(tid(R ((sI/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/invalidation.pyt__repr__2scCs|jj|ƒS(s-Add another path to this invalidation request(Rtappend(R tpath((sI/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/invalidation.pytadd5scCs|jj|ƒS(s,Remove a path from this invalidation request(Rtremove(R R((sI/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/invalidation.pyR9scCs t|jƒS(N(titerR(R ((sI/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/invalidation.pyt__iter__=scCs |j|S(N(R(R ti((sI/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/invalidation.pyt __getitem__@scCs||j| sD s %s s* %s s N(R tNonetAssertionErrortVersionRRR(R tsR((sI/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/invalidation.pytto_xmlLs cCs|dkrg|_ndS(NR(RR(R tnametattrsR ((sI/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/invalidation.pyt startElementWs  cCsƒ|dkr|jj|ƒn`|dkr7||_nH|dkrO||_n0|dkrg||_n|dkr||_ndS(NtPathtStatustIdt CreateTimetCallerReference(RRtstatusR t create_timeRR(R R$tvalueR ((sI/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/invalidation.pyt endElement\s         N(t__name__t __module__t__doc__RR RRRRRRRR#R&R/(((sI/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/invalidation.pyRs        tInvalidationListResultSetc BsVeZdZddddddded„Zd„Zd„Zd„Zdd„Z RS( sG A resultset for listing invalidations on a given CloudFront distribution. Implements the iterator interface and transparently handles paging results from CF so even if you have many thousands of invalidations on the distribution you can iterate over all invalidations in a reasonably efficient manner. Rc Csg|p g|_||_||_||_||_||_|dk|_||_|p]g|_ dS(N( tmarkersR tdistribution_idtmarkert next_markert max_itemsRt auto_paginatet is_truncatedt _inval_cache( R R4R R5t invalidationsR6R7R8R:((sI/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/invalidation.pyR rs      ccsŒ|j}|j}|}x|jD] }|Vq"W|js>dSxG|jr‡|j|d|jd|jƒ}x|jD] }|VquWqAWdS(su A generator function for listing invalidation requests for a given CloudFront distribution. NR6R8(R R5R;R9R:tget_invalidation_requestsR7R8(R tconnR5t result_settinvalR((sI/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/invalidation.pyRs        cCsSxL|jD]A\}}||kr ||d|jƒ}|jj|ƒ|Sq WdS(NR5(R4R5R;R(R R$R%R t root_elemthandlertobj((sI/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/invalidation.pyR&’s  cCss|dkr!|j|ƒ|_nN|dkr9||_n6|dkrQ||_n|dkrot|ƒ|_ndS(Nt IsTruncatedtMarkert NextMarkertMaxItems(t to_booleanR:R6R7tintR8(R R$R.R ((sI/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/invalidation.pyR/™s      ttruecCs||krtStSdS(N(tTruetFalse(R R.t true_value((sI/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/invalidation.pyRH£s N( R0R1R2RRLR RR&R/RH(((sI/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/invalidation.pyR3js     tInvalidationSummarycBsPeZdZddddd„Zd„Zd„Zd„Zd„Zd„Z RS( s‰ Represents InvalidationSummary complex type in CloudFront API that lists the id and status of a given invalidation request. RcCs(||_||_||_||_dS(N(R R5R R,(R R R5R R,((sI/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/invalidation.pyR ®s   cCs d|jS(Ns(R (R ((sI/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/invalidation.pyRµscCsdS(N((R R$R%R ((sI/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/invalidation.pyR&¸scCs4|dkr||_n|dkr0||_ndS(NR)R((R R,(R R$R.R ((sI/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/invalidation.pyR/»s   cCs|jj|jƒS(s­ Returns a Distribution object representing the parent CloudFront distribution of the invalidation request listed in the InvalidationSummary. :rtype: :class:`boto.cloudfront.distribution.Distribution` :returns: A Distribution object representing the parent CloudFront distribution of the invalidation request listed in the InvalidationSummary (R tget_distribution_infoR5(R ((sI/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/invalidation.pytget_distributionÁs cCs|jj|j|jƒS(sa Returns an InvalidationBatch object representing the invalidation request referred to in the InvalidationSummary. :rtype: :class:`boto.cloudfront.invalidation.InvalidationBatch` :returns: An InvalidationBatch object representing the invalidation request referred to by the InvalidationSummary (R tinvalidation_request_statusR5R (R ((sI/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/invalidation.pytget_invalidation_requestÎs N( R0R1R2RR RR&R/RPRR(((sI/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/invalidation.pyRN©s      ( Rt boto.compatRtboto.resultsetRtobjectRR3RN(((sI/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/invalidation.pyts N?