€cdocutils.nodes document q)q}q(U nametypesq}q(X creating a cloudfront connectionqNX%working with cloudfront distributionsqNX*invalidating cloudfront distribution pathsqNXcloudfront_tutq ˆX cloudfrontq NuUsubstitution_defsq }q Uparse_messagesq ]qUcurrent_sourceqNU decorationqNUautofootnote_startqKUnameidsq}q(hU creating-a-cloudfront-connectionqhU%working-with-cloudfront-distributionsqhU*invalidating-cloudfront-distribution-pathsqh Ucloudfront-tutqh U cloudfrontquUchildrenq]q(cdocutils.nodes target q)q}q(U rawsourceqX.. _cloudfront_tut:UparentqhUsourceq XD/Users/kyleknap/Documents/GitHub/boto/docs/source/cloudfront_tut.rstq!Utagnameq"Utargetq#U attributesq$}q%(Uidsq&]Ubackrefsq']Udupnamesq(]Uclassesq)]Unamesq*]Urefidq+huUlineq,KUdocumentq-hh]ubcdocutils.nodes section q.)q/}q0(hUhhh h!Uexpect_referenced_by_nameq1}q2h hsh"Usectionq3h$}q4(h(]h)]h']h&]q5(hheh*]q6(h h euh,Kh-hUexpect_referenced_by_idq7}q8hhsh]q9(cdocutils.nodes title q:)q;}q<(hX CloudFrontq=hh/h h!h"Utitleq>h$}q?(h(]h)]h']h&]h*]uh,Kh-hh]q@cdocutils.nodes Text qAX CloudFrontqB…qC}qD(hh=hh;ubaubcdocutils.nodes paragraph qE)qF}qG(hXSThis new boto module provides an interface to Amazon's Content Service, CloudFront.qHhh/h h!h"U paragraphqIh$}qJ(h(]h)]h']h&]h*]uh,Kh-hh]qKhAXSThis new boto module provides an interface to Amazon's Content Service, CloudFront.qL…qM}qN(hhHhhFubaubcdocutils.nodes warning qO)qP}qQ(hX¹This module is not well tested. Paging of distributions is not yet supported. CNAME support is completely untested. Use with caution. Feedback and bug reports are greatly appreciated.hh/h h!h"UwarningqRh$}qS(h(]h)]h']h&]h*]uh,Nh-hh]qThE)qU}qV(hX¹This module is not well tested. Paging of distributions is not yet supported. CNAME support is completely untested. Use with caution. Feedback and bug reports are greatly appreciated.qWhhPh h!h"hIh$}qX(h(]h)]h']h&]h*]uh,K h]qYhAX¹This module is not well tested. Paging of distributions is not yet supported. CNAME support is completely untested. Use with caution. Feedback and bug reports are greatly appreciated.qZ…q[}q\(hhWhhUubaubaubh.)q]}q^(hUhh/h h!h"h3h$}q_(h(]h)]h']h&]q`hah*]qahauh,Kh-hh]qb(h:)qc}qd(hX Creating a CloudFront connectionqehh]h h!h"h>h$}qf(h(]h)]h']h&]h*]uh,Kh-hh]qghAX Creating a CloudFront connectionqh…qi}qj(hhehhcubaubhE)qk}ql(hX€If you've placed your credentials in your ``$HOME/.boto`` config file then you can simply create a CloudFront connection using::hh]h h!h"hIh$}qm(h(]h)]h']h&]h*]uh,Kh-hh]qn(hAX*If you've placed your credentials in your qo…qp}qq(hX*If you've placed your credentials in your hhkubcdocutils.nodes literal qr)qs}qt(hX``$HOME/.boto``h$}qu(h(]h)]h']h&]h*]uhhkh]qvhAX $HOME/.botoqw…qx}qy(hUhhsubah"UliteralqzubhAXF config file then you can simply create a CloudFront connection using:q{…q|}q}(hXF config file then you can simply create a CloudFront connection using:hhkubeubcdocutils.nodes literal_block q~)q}q€(hX1>>> import boto >>> c = boto.connect_cloudfront()hh]h h!h"U literal_blockqh$}q‚(U xml:spaceqƒUpreserveq„h&]h']h(]h)]h*]uh,Kh-hh]q…hAX1>>> import boto >>> c = boto.connect_cloudfront()q†…q‡}qˆ(hUhhubaubhE)q‰}qŠ(hXaIf you do not have this file you will need to specify your AWS access key and secret access key::hh]h h!h"hIh$}q‹(h(]h)]h']h&]h*]uh,Kh-hh]qŒhAX`If you do not have this file you will need to specify your AWS access key and secret access key:q…qŽ}q(hX`If you do not have this file you will need to specify your AWS access key and secret access key:hh‰ubaubh~)q}q‘(hXg>>> import boto >>> c = boto.connect_cloudfront('your-aws-access-key-id', 'your-aws-secret-access-key')hh]h h!h"hh$}q’(hƒh„h&]h']h(]h)]h*]uh,Kh-hh]q“hAXg>>> import boto >>> c = boto.connect_cloudfront('your-aws-access-key-id', 'your-aws-secret-access-key')q”…q•}q–(hUhhubaubeubh.)q—}q˜(hUhh/h h!h"h3h$}q™(h(]h)]h']h&]qšhah*]q›hauh,Kh-hh]qœ(h:)q}qž(hX%Working with CloudFront DistributionsqŸhh—h h!h"h>h$}q (h(]h)]h']h&]h*]uh,Kh-hh]q¡hAX%Working with CloudFront Distributionsq¢…q£}q¤(hhŸhhubaubhE)q¥}q¦(hXACreate a new :class:`boto.cloudfront.distribution.Distribution`::q§hh—h h!h"hIh$}q¨(h(]h)]h']h&]h*]uh,K h-hh]q©(hAX Create a new qª…q«}q¬(hX Create a new hh¥ubcsphinx.addnodes pending_xref q­)q®}q¯(hX2:class:`boto.cloudfront.distribution.Distribution`q°hh¥h h!h"U pending_xrefq±h$}q²(UreftypeXclassUrefwarnq³‰U reftargetq´X)boto.cloudfront.distribution.DistributionU refdomainXpyqµh&]h']U refexplicit‰h(]h)]h*]Urefdocq¶Xcloudfront_tutq·Upy:classq¸NU py:moduleq¹Nuh,K h]qºhr)q»}q¼(hh°h$}q½(h(]h)]q¾(Uxrefq¿hµXpy-classqÀeh']h&]h*]uhh®h]qÁhAX)boto.cloudfront.distribution.DistributionqÂ…qÃ}qÄ(hUhh»ubah"hzubaubhAX:…qÅ}qÆ(hX:hh¥ubeubh~)qÇ}qÈ(hXØ>>> origin = boto.cloudfront.origin.S3Origin('mybucket.s3.amazonaws.com') >>> distro = c.create_distribution(origin=origin, enabled=False, comment='My new Distribution') >>> d.domain_name u'd2oxf3980lnb8l.cloudfront.net' >>> d.id u'ECH69MOIW7613' >>> d.status u'InProgress' >>> d.config.comment u'My new distribution' >>> d.config.origin >>> d.config.caller_reference u'31b8d9cf-a623-4a28-b062-a91856fac6d0' >>> d.config.enabled Falsehh—h h!h"hh$}qÉ(hƒh„h&]h']h(]h)]h*]uh,K"h-hh]qÊhAXØ>>> origin = boto.cloudfront.origin.S3Origin('mybucket.s3.amazonaws.com') >>> distro = c.create_distribution(origin=origin, enabled=False, comment='My new Distribution') >>> d.domain_name u'd2oxf3980lnb8l.cloudfront.net' >>> d.id u'ECH69MOIW7613' >>> d.status u'InProgress' >>> d.config.comment u'My new distribution' >>> d.config.origin >>> d.config.caller_reference u'31b8d9cf-a623-4a28-b062-a91856fac6d0' >>> d.config.enabled FalseqË…qÌ}qÍ(hUhhÇubaubhE)qÎ}qÏ(hXDNote that a new caller reference is created automatically, using uuid.uuid4(). The :class:`boto.cloudfront.distribution.Distribution`, :class:`boto.cloudfront.distribution.DistributionConfig` and :class:`boto.cloudfront.distribution.DistributionSummary` objects are defined in the :mod:`boto.cloudfront.distribution` module.hh—h h!h"hIh$}qÐ(h(]h)]h']h&]h*]uh,K3h-hh]qÑ(hAXSNote that a new caller reference is created automatically, using uuid.uuid4(). The qÒ…qÓ}qÔ(hXSNote that a new caller reference is created automatically, using uuid.uuid4(). The hhÎubh­)qÕ}qÖ(hX2:class:`boto.cloudfront.distribution.Distribution`q×hhÎh h!h"h±h$}qØ(UreftypeXclassh³‰h´X)boto.cloudfront.distribution.DistributionU refdomainXpyqÙh&]h']U refexplicit‰h(]h)]h*]h¶h·h¸Nh¹Nuh,K3h]qÚhr)qÛ}qÜ(hh×h$}qÝ(h(]h)]qÞ(h¿hÙXpy-classqßeh']h&]h*]uhhÕh]qàhAX)boto.cloudfront.distribution.Distributionqá…qâ}qã(hUhhÛubah"hzubaubhAX, qä…qå}qæ(hX, hhÎubh­)qç}qè(hX8:class:`boto.cloudfront.distribution.DistributionConfig`qéhhÎh h!h"h±h$}qê(UreftypeXclassh³‰h´X/boto.cloudfront.distribution.DistributionConfigU refdomainXpyqëh&]h']U refexplicit‰h(]h)]h*]h¶h·h¸Nh¹Nuh,K3h]qìhr)qí}qî(hhéh$}qï(h(]h)]qð(h¿hëXpy-classqñeh']h&]h*]uhhçh]qòhAX/boto.cloudfront.distribution.DistributionConfigqó…qô}qõ(hUhhíubah"hzubaubhAX and qö…q÷}qø(hX and hhÎubh­)qù}qú(hX9:class:`boto.cloudfront.distribution.DistributionSummary`qûhhÎh h!h"h±h$}qü(UreftypeXclassh³‰h´X0boto.cloudfront.distribution.DistributionSummaryU refdomainXpyqýh&]h']U refexplicit‰h(]h)]h*]h¶h·h¸Nh¹Nuh,K3h]qþhr)qÿ}r(hhûh$}r(h(]h)]r(h¿hýXpy-classreh']h&]h*]uhhùh]rhAX0boto.cloudfront.distribution.DistributionSummaryr…r}r(hUhhÿubah"hzubaubhAX objects are defined in the r…r }r (hX objects are defined in the hhÎubh­)r }r (hX#:mod:`boto.cloudfront.distribution`r hhÎh h!h"h±h$}r(UreftypeXmodh³‰h´Xboto.cloudfront.distributionU refdomainXpyrh&]h']U refexplicit‰h(]h)]h*]h¶h·h¸Nh¹Nuh,K3h]rhr)r}r(hj h$}r(h(]h)]r(h¿jXpy-modreh']h&]h*]uhj h]rhAXboto.cloudfront.distributionr…r}r(hUhjubah"hzubaubhAX module.r…r}r(hX module.hhÎubeubhE)r}r(hX/To get a listing of all current distributions::rhh—h h!h"hIh$}r (h(]h)]h']h&]h*]uh,K9h-hh]r!hAX.To get a listing of all current distributions:r"…r#}r$(hX.To get a listing of all current distributions:hjubaubh~)r%}r&(hX½>>> rs = c.get_all_distributions() >>> rs [, ]hh—h h!h"hh$}r'(hƒh„h&]h']h(]h)]h*]uh,K;h-hh]r(hAX½>>> rs = c.get_all_distributions() >>> rs [, ]r)…r*}r+(hUhj%ubaubhE)r,}r-(hX This returns a list of :class:`boto.cloudfront.distribution.DistributionSummary` objects. Note that paging is not yet supported! To get a :class:`boto.cloudfront.distribution.DistributionObject` from a :class:`boto.cloudfront.distribution.DistributionSummary` object::hh—h h!h"hIh$}r.(h(]h)]h']h&]h*]uh,K@h-hh]r/(hAXThis returns a list of r0…r1}r2(hXThis returns a list of hj,ubh­)r3}r4(hX9:class:`boto.cloudfront.distribution.DistributionSummary`r5hj,h h!h"h±h$}r6(UreftypeXclassh³‰h´X0boto.cloudfront.distribution.DistributionSummaryU refdomainXpyr7h&]h']U refexplicit‰h(]h)]h*]h¶h·h¸Nh¹Nuh,K@h]r8hr)r9}r:(hj5h$}r;(h(]h)]r<(h¿j7Xpy-classr=eh']h&]h*]uhj3h]r>hAX0boto.cloudfront.distribution.DistributionSummaryr?…r@}rA(hUhj9ubah"hzubaubhAX: objects. Note that paging is not yet supported! To get a rB…rC}rD(hX: objects. Note that paging is not yet supported! To get a hj,ubh­)rE}rF(hX8:class:`boto.cloudfront.distribution.DistributionObject`rGhj,h h!h"h±h$}rH(UreftypeXclassh³‰h´X/boto.cloudfront.distribution.DistributionObjectU refdomainXpyrIh&]h']U refexplicit‰h(]h)]h*]h¶h·h¸Nh¹Nuh,K@h]rJhr)rK}rL(hjGh$}rM(h(]h)]rN(h¿jIXpy-classrOeh']h&]h*]uhjEh]rPhAX/boto.cloudfront.distribution.DistributionObjectrQ…rR}rS(hUhjKubah"hzubaubhAX from a rT…rU}rV(hX from a hj,ubh­)rW}rX(hX9:class:`boto.cloudfront.distribution.DistributionSummary`rYhj,h h!h"h±h$}rZ(UreftypeXclassh³‰h´X0boto.cloudfront.distribution.DistributionSummaryU refdomainXpyr[h&]h']U refexplicit‰h(]h)]h*]h¶h·h¸Nh¹Nuh,K@h]r\hr)r]}r^(hjYh$}r_(h(]h)]r`(h¿j[Xpy-classraeh']h&]h*]uhjWh]rbhAX0boto.cloudfront.distribution.DistributionSummaryrc…rd}re(hUhj]ubah"hzubaubhAX object:rf…rg}rh(hX object:hj,ubeubh~)ri}rj(hXi>>> ds = rs[1] >>> distro = ds.get_distribution() >>> distro.domain_name u'd2oxf3980lnb8l.cloudfront.net'hh—h h!h"hh$}rk(hƒh„h&]h']h(]h)]h*]uh,KEh-hh]rlhAXi>>> ds = rs[1] >>> distro = ds.get_distribution() >>> distro.domain_name u'd2oxf3980lnb8l.cloudfront.net'rm…rn}ro(hUhjiubaubhE)rp}rq(hX/To change a property of a distribution object::rrhh—h h!h"hIh$}rs(h(]h)]h']h&]h*]uh,KJh-hh]rthAX.To change a property of a distribution object:ru…rv}rw(hX.To change a property of a distribution object:hjpubaubh~)rx}ry(hX—>>> distro.comment u'My new distribution' >>> distro.update(comment='This is a much better comment') >>> distro.comment 'This is a much better comment'hh—h h!h"hh$}rz(hƒh„h&]h']h(]h)]h*]uh,KLh-hh]r{hAX—>>> distro.comment u'My new distribution' >>> distro.update(comment='This is a much better comment') >>> distro.comment 'This is a much better comment'r|…r}}r~(hUhjxubaubhE)r}r€(hXTYou can also enable/disable a distribution using the following convenience methods::hh—h h!h"hIh$}r(h(]h)]h']h&]h*]uh,KRh-hh]r‚hAXSYou can also enable/disable a distribution using the following convenience methods:rƒ…r„}r…(hXSYou can also enable/disable a distribution using the following convenience methods:hjubaubh~)r†}r‡(hX=>>> distro.enable() # just calls distro.update(enabled=True)hh—h h!h"hh$}rˆ(hƒh„h&]h']h(]h)]h*]uh,KUh-hh]r‰hAX=>>> distro.enable() # just calls distro.update(enabled=True)rŠ…r‹}rŒ(hUhj†ubaubhE)r}rŽ(hXor::rhh—h h!h"hIh$}r(h(]h)]h']h&]h*]uh,KWh-hh]r‘hAXor:r’…r“}r”(hXor:hjubaubh~)r•}r–(hX?>>> distro.disable() # just calls distro.update(enabled=False)hh—h h!h"hh$}r—(hƒh„h&]h']h(]h)]h*]uh,KYh-hh]r˜hAX?>>> distro.disable() # just calls distro.update(enabled=False)r™…rš}r›(hUhj•ubaubhE)rœ}r(hX[The only attributes that can be updated for a Distribution are comment, enabled and cnames.ržhh—h h!h"hIh$}rŸ(h(]h)]h']h&]h*]uh,K[h-hh]r hAX[The only attributes that can be updated for a Distribution are comment, enabled and cnames.r¡…r¢}r£(hjžhjœubaubhE)r¤}r¥(hX@To delete a :class:`boto.cloudfront.distribution.Distribution`::r¦hh—h h!h"hIh$}r§(h(]h)]h']h&]h*]uh,K^h-hh]r¨(hAX To delete a r©…rª}r«(hX To delete a hj¤ubh­)r¬}r­(hX2:class:`boto.cloudfront.distribution.Distribution`r®hj¤h h!h"h±h$}r¯(UreftypeXclassh³‰h´X)boto.cloudfront.distribution.DistributionU refdomainXpyr°h&]h']U refexplicit‰h(]h)]h*]h¶h·h¸Nh¹Nuh,K^h]r±hr)r²}r³(hj®h$}r´(h(]h)]rµ(h¿j°Xpy-classr¶eh']h&]h*]uhj¬h]r·hAX)boto.cloudfront.distribution.Distributionr¸…r¹}rº(hUhj²ubah"hzubaubhAX:…r»}r¼(hX:hj¤ubeubh~)r½}r¾(hX>>> distro.delete()hh—h h!h"hh$}r¿(hƒh„h&]h']h(]h)]h*]uh,K`h-hh]rÀhAX>>> distro.delete()rÁ…rÂ}rÃ(hUhj½ubaubeubh.)rÄ}rÅ(hUhh/h h!h"h3h$}rÆ(h(]h)]h']h&]rÇhah*]rÈhauh,Kch-hh]rÉ(h:)rÊ}rË(hX*Invalidating CloudFront Distribution PathsrÌhjÄh h!h"h>h$}rÍ(h(]h)]h']h&]h*]uh,Kch-hh]rÎhAX*Invalidating CloudFront Distribution PathsrÏ…rÐ}rÑ(hjÌhjÊubaubhE)rÒ}rÓ(hX9Invalidate a list of paths in a CloudFront distribution::rÔhjÄh h!h"hIh$}rÕ(h(]h)]h']h&]h*]uh,Kdh-hh]rÖhAX8Invalidate a list of paths in a CloudFront distribution:r×…rØ}rÙ(hX8Invalidate a list of paths in a CloudFront distribution:hjÒubaubh~)rÚ}rÛ(hX4>>> paths = ['/path/to/file1.html', '/path/to/file2.html', ...] >>> inval_req = c.create_invalidation_request(u'ECH69MOIW7613', paths) >>> print inval_req >>> print inval_req.id u'IFCT7K03VUETK' >>> print inval_req.paths [u'/path/to/file1.html', u'/path/to/file2.html', ..]hjÄh h!h"hh$}rÜ(hƒh„h&]h']h(]h)]h*]uh,Kfh-hh]rÝhAX4>>> paths = ['/path/to/file1.html', '/path/to/file2.html', ...] >>> inval_req = c.create_invalidation_request(u'ECH69MOIW7613', paths) >>> print inval_req >>> print inval_req.id u'IFCT7K03VUETK' >>> print inval_req.paths [u'/path/to/file1.html', u'/path/to/file2.html', ..]rÞ…rß}rà(hUhjÚubaubhO)rá}râ(hXáEach CloudFront invalidation request can only specify up to 1000 paths. If you need to invalidate more than 1000 paths you will need to split up the paths into groups of 1000 or less and create multiple invalidation requests.hjÄh h!h"hRh$}rã(h(]h)]h']h&]h*]uh,Nh-hh]rähE)rå}ræ(hXáEach CloudFront invalidation request can only specify up to 1000 paths. If you need to invalidate more than 1000 paths you will need to split up the paths into groups of 1000 or less and create multiple invalidation requests.rçhjáh h!h"hIh$}rè(h(]h)]h']h&]h*]uh,Kqh]réhAXáEach CloudFront invalidation request can only specify up to 1000 paths. If you need to invalidate more than 1000 paths you will need to split up the paths into groups of 1000 or less and create multiple invalidation requests.rê…rë}rì(hjçhjåubaubaubhE)rí}rî(hXéThis will return a :class:`boto.cloudfront.invalidation.InvalidationBatch` object representing the invalidation request. You can also fetch a single invalidaton request for a given distribution using ``invalidation_request_status``::hjÄh h!h"hIh$}rï(h(]h)]h']h&]h*]uh,Kuh-hh]rð(hAXThis will return a rñ…rò}ró(hXThis will return a hjíubh­)rô}rõ(hX7:class:`boto.cloudfront.invalidation.InvalidationBatch`röhjíh h!h"h±h$}r÷(UreftypeXclassh³‰h´X.boto.cloudfront.invalidation.InvalidationBatchU refdomainXpyrøh&]h']U refexplicit‰h(]h)]h*]h¶h·h¸Nh¹Nuh,Kuh]rùhr)rú}rû(hjöh$}rü(h(]h)]rý(h¿jøXpy-classrþeh']h&]h*]uhjôh]rÿhAX.boto.cloudfront.invalidation.InvalidationBatchr…r}r(hUhjúubah"hzubaubhAX~ object representing the invalidation request. You can also fetch a single invalidaton request for a given distribution using r…r}r(hX~ object representing the invalidation request. You can also fetch a single invalidaton request for a given distribution using hjíubhr)r}r(hX``invalidation_request_status``h$}r(h(]h)]h']h&]h*]uhjíh]r hAXinvalidation_request_statusr …r }r (hUhjubah"hzubhAX:…r }r(hX:hjíubeubh~)r}r(hXˆ>>> inval_req = c.invalidation_request_status(u'ECH69MOIW7613', u'IFCT7K03VUETK') >>> print inval_req hjÄh h!h"hh$}r(hƒh„h&]h']h(]h)]h*]uh,Kzh-hh]rhAXˆ>>> inval_req = c.invalidation_request_status(u'ECH69MOIW7613', u'IFCT7K03VUETK') >>> print inval_req r…r}r(hUhjubaubhE)r}r(hX…The first parameter is the CloudFront distribution id the request belongs to and the second parameter is the invalidation request id.rhjÄh h!h"hIh$}r(h(]h)]h']h&]h*]uh,K~h-hh]rhAX…The first parameter is the CloudFront distribution id the request belongs to and the second parameter is the invalidation request id.r…r}r(hjhjubaubhE)r}r(hXSIt's also possible to get *all* invalidations for a given CloudFront distribution::hjÄh h!h"hIh$}r (h(]h)]h']h&]h*]uh,Kh-hh]r!(hAXIt's also possible to get r"…r#}r$(hXIt's also possible to get hjubcdocutils.nodes emphasis r%)r&}r'(hX*all*h$}r((h(]h)]h']h&]h*]uhjh]r)hAXallr*…r+}r,(hUhj&ubah"Uemphasisr-ubhAX3 invalidations for a given CloudFront distribution:r.…r/}r0(hX3 invalidations for a given CloudFront distribution:hjubeubh~)r1}r2(hXš>>> invals = c.get_invalidation_requests(u'ECH69MOIW7613') >>> print invals hjÄh h!h"hh$}r3(hƒh„h&]h']h(]h)]h*]uh,K„h-hh]r4hAXš>>> invals = c.get_invalidation_requests(u'ECH69MOIW7613') >>> print invals r5…r6}r7(hUhj1ubaubhE)r8}r9(hXThis will return an instance of :class:`boto.cloudfront.invalidation.InvalidationListResultSet` which is an iterable object that contains a list of :class:`boto.cloudfront.invalidation.InvalidationSummary` objects that describe each invalidation request and its status::hjÄh h!h"hIh$}r:(h(]h)]h']h&]h*]uh,Kˆh-hh]r;(hAX This will return an instance of r<…r=}r>(hX This will return an instance of hj8ubh­)r?}r@(hX?:class:`boto.cloudfront.invalidation.InvalidationListResultSet`rAhj8h h!h"h±h$}rB(UreftypeXclassh³‰h´X6boto.cloudfront.invalidation.InvalidationListResultSetU refdomainXpyrCh&]h']U refexplicit‰h(]h)]h*]h¶h·h¸Nh¹Nuh,Kˆh]rDhr)rE}rF(hjAh$}rG(h(]h)]rH(h¿jCXpy-classrIeh']h&]h*]uhj?h]rJhAX6boto.cloudfront.invalidation.InvalidationListResultSetrK…rL}rM(hUhjEubah"hzubaubhAX5 which is an iterable object that contains a list of rN…rO}rP(hX5 which is an iterable object that contains a list of hj8ubh­)rQ}rR(hX9:class:`boto.cloudfront.invalidation.InvalidationSummary`rShj8h h!h"h±h$}rT(UreftypeXclassh³‰h´X0boto.cloudfront.invalidation.InvalidationSummaryU refdomainXpyrUh&]h']U refexplicit‰h(]h)]h*]h¶h·h¸Nh¹Nuh,Kˆh]rVhr)rW}rX(hjSh$}rY(h(]h)]rZ(h¿jUXpy-classr[eh']h&]h*]uhjQh]r\hAX0boto.cloudfront.invalidation.InvalidationSummaryr]…r^}r_(hUhjWubah"hzubaubhAX@ objects that describe each invalidation request and its status:r`…ra}rb(hX@ objects that describe each invalidation request and its status:hj8ubeubh~)rc}rd(hX½>>> for inval in invals: >>> print 'Object: %s, ID: %s, Status: %s' % (inval, inval.id, inval.status) Object: , ID: ICXT2K02SUETK, Status: Completed Object: , ID: ITV9SV0PDNY1Y, Status: Completed Object: , ID: I1X3F6N0PLGJN5, Status: Completed Object: , ID: I1F3G9N0ZLGKN2, Status: Completed ...hjÄh h!h"hh$}re(hƒh„h&]h']h(]h)]h*]uh,KŽh-hh]rfhAX½>>> for inval in invals: >>> print 'Object: %s, ID: %s, Status: %s' % (inval, inval.id, inval.status) Object: , ID: ICXT2K02SUETK, Status: Completed Object: , ID: ITV9SV0PDNY1Y, Status: Completed Object: , ID: I1X3F6N0PLGJN5, Status: Completed Object: , ID: I1F3G9N0ZLGKN2, Status: Completed ...rg…rh}ri(hUhjcubaubhE)rj}rk(hXîSimply iterating over the :class:`boto.cloudfront.invalidation.InvalidationListResultSet` object will automatically paginate the results on-the-fly as needed by repeatedly requesting more results from CloudFront until there are none left.hjÄh h!h"hIh$}rl(h(]h)]h']h&]h*]uh,K–h-hh]rm(hAXSimply iterating over the rn…ro}rp(hXSimply iterating over the hjjubh­)rq}rr(hX?:class:`boto.cloudfront.invalidation.InvalidationListResultSet`rshjjh h!h"h±h$}rt(UreftypeXclassh³‰h´X6boto.cloudfront.invalidation.InvalidationListResultSetU refdomainXpyruh&]h']U refexplicit‰h(]h)]h*]h¶h·h¸Nh¹Nuh,K–h]rvhr)rw}rx(hjsh$}ry(h(]h)]rz(h¿juXpy-classr{eh']h&]h*]uhjqh]r|hAX6boto.cloudfront.invalidation.InvalidationListResultSetr}…r~}r(hUhjwubah"hzubaubhAX• object will automatically paginate the results on-the-fly as needed by repeatedly requesting more results from CloudFront until there are none left.r€…r}r‚(hX• object will automatically paginate the results on-the-fly as needed by repeatedly requesting more results from CloudFront until there are none left.hjjubeubhE)rƒ}r„(hXŽIf you wish to paginate the results manually you can do so by specifying the ``max_items`` option when calling ``get_invalidation_requests``::hjÄh h!h"hIh$}r…(h(]h)]h']h&]h*]uh,K›h-hh]r†(hAXMIf you wish to paginate the results manually you can do so by specifying the r‡…rˆ}r‰(hXMIf you wish to paginate the results manually you can do so by specifying the hjƒubhr)rŠ}r‹(hX ``max_items``h$}rŒ(h(]h)]h']h&]h*]uhjƒh]rhAX max_itemsrŽ…r}r(hUhjŠubah"hzubhAX option when calling r‘…r’}r“(hX option when calling hjƒubhr)r”}r•(hX``get_invalidation_requests``h$}r–(h(]h)]h']h&]h*]uhjƒh]r—hAXget_invalidation_requestsr˜…r™}rš(hUhj”ubah"hzubhAX:…r›}rœ(hX:hjƒubeubh~)r}rž(hXu>>> invals = c.get_invalidation_requests(u'ECH69MOIW7613', max_items=2) >>> print len(list(invals)) 2 >>> for inval in invals: >>> print 'Object: %s, ID: %s, Status: %s' % (inval, inval.id, inval.status) Object: , ID: ICXT2K02SUETK, Status: Completed Object: , ID: ITV9SV0PDNY1Y, Status: CompletedhjÄh h!h"hh$}rŸ(hƒh„h&]h']h(]h)]h*]uh,Kžh-hh]r hAXu>>> invals = c.get_invalidation_requests(u'ECH69MOIW7613', max_items=2) >>> print len(list(invals)) 2 >>> for inval in invals: >>> print 'Object: %s, ID: %s, Status: %s' % (inval, inval.id, inval.status) Object: , ID: ICXT2K02SUETK, Status: Completed Object: , ID: ITV9SV0PDNY1Y, Status: Completedr¡…r¢}r£(hUhjubaubhE)r¤}r¥(hXÍIn this case, iterating over the :class:`boto.cloudfront.invalidation.InvalidationListResultSet` object will *only* make a single request to CloudFront and *only* ``max_items`` invalidation requests are returned by the iterator. To get the next "page" of results pass the ``next_marker`` attribute of the previous :class:`boto.cloudfront.invalidation.InvalidationListResultSet` object as the ``marker`` option to the next call to ``get_invalidation_requests``::hjÄh h!h"hIh$}r¦(h(]h)]h']h&]h*]uh,K¦h-hh]r§(hAX!In this case, iterating over the r¨…r©}rª(hX!In this case, iterating over the hj¤ubh­)r«}r¬(hX?:class:`boto.cloudfront.invalidation.InvalidationListResultSet`r­hj¤h h!h"h±h$}r®(UreftypeXclassh³‰h´X6boto.cloudfront.invalidation.InvalidationListResultSetU refdomainXpyr¯h&]h']U refexplicit‰h(]h)]h*]h¶h·h¸Nh¹Nuh,K¦h]r°hr)r±}r²(hj­h$}r³(h(]h)]r´(h¿j¯Xpy-classrµeh']h&]h*]uhj«h]r¶hAX6boto.cloudfront.invalidation.InvalidationListResultSetr·…r¸}r¹(hUhj±ubah"hzubaubhAX object will rº…r»}r¼(hX object will hj¤ubj%)r½}r¾(hX*only*h$}r¿(h(]h)]h']h&]h*]uhj¤h]rÀhAXonlyrÁ…rÂ}rÃ(hUhj½ubah"j-ubhAX) make a single request to CloudFront and rÄ…rÅ}rÆ(hX) make a single request to CloudFront and hj¤ubj%)rÇ}rÈ(hX*only*h$}rÉ(h(]h)]h']h&]h*]uhj¤h]rÊhAXonlyrË…rÌ}rÍ(hUhjÇubah"j-ubhAX …rÎ}rÏ(hX hj¤ubhr)rÐ}rÑ(hX ``max_items``h$}rÒ(h(]h)]h']h&]h*]uhj¤h]rÓhAX max_itemsrÔ…rÕ}rÖ(hUhjÐubah"hzubhAX` invalidation requests are returned by the iterator. To get the next "page" of results pass the r×…rØ}rÙ(hX` invalidation requests are returned by the iterator. To get the next "page" of results pass the hj¤ubhr)rÚ}rÛ(hX``next_marker``h$}rÜ(h(]h)]h']h&]h*]uhj¤h]rÝhAX next_markerrÞ…rß}rà(hUhjÚubah"hzubhAX attribute of the previous rá…râ}rã(hX attribute of the previous hj¤ubh­)rä}rå(hX?:class:`boto.cloudfront.invalidation.InvalidationListResultSet`ræhj¤h h!h"h±h$}rç(UreftypeXclassh³‰h´X6boto.cloudfront.invalidation.InvalidationListResultSetU refdomainXpyrèh&]h']U refexplicit‰h(]h)]h*]h¶h·h¸Nh¹Nuh,K¦h]réhr)rê}rë(hjæh$}rì(h(]h)]rí(h¿jèXpy-classrîeh']h&]h*]uhjäh]rïhAX6boto.cloudfront.invalidation.InvalidationListResultSetrð…rñ}rò(hUhjêubah"hzubaubhAX object as the ró…rô}rõ(hX object as the hj¤ubhr)rö}r÷(hX ``marker``h$}rø(h(]h)]h']h&]h*]uhj¤h]rùhAXmarkerrú…rû}rü(hUhjöubah"hzubhAX option to the next call to rý…rþ}rÿ(hX option to the next call to hj¤ubhr)r}r(hX``get_invalidation_requests``h$}r(h(]h)]h']h&]h*]uhj¤h]rhAXget_invalidation_requestsr…r}r(hUhjubah"hzubhAX:…r}r(hX:hj¤ubeubh~)r }r (hX•>>> invals = c.get_invalidation_requests(u'ECH69MOIW7613', max_items=10, marker=invals.next_marker) >>> print len(list(invals)) 2 >>> for inval in invals: >>> print 'Object: %s, ID: %s, Status: %s' % (inval, inval.id, inval.status) Object: , ID: I1X3F6N0PLGJN5, Status: Completed Object: , ID: I1F3G9N0ZLGKN2, Status: CompletedhjÄh h!h"hh$}r (hƒh„h&]h']h(]h)]h*]uh,K®h-hh]r hAX•>>> invals = c.get_invalidation_requests(u'ECH69MOIW7613', max_items=10, marker=invals.next_marker) >>> print len(list(invals)) 2 >>> for inval in invals: >>> print 'Object: %s, ID: %s, Status: %s' % (inval, inval.id, inval.status) Object: , ID: I1X3F6N0PLGJN5, Status: Completed Object: , ID: I1F3G9N0ZLGKN2, Status: Completedr …r}r(hUhj ubaubhE)r}r(hXÍYou can get the :class:`boto.cloudfront.invalidation.InvalidationBatch` object representing the invalidation request pointed to by a :class:`boto.cloudfront.invalidation.InvalidationSummary` object using::hjÄh h!h"hIh$}r(h(]h)]h']h&]h*]uh,K¶h-hh]r(hAXYou can get the r…r}r(hXYou can get the hjubh­)r}r(hX7:class:`boto.cloudfront.invalidation.InvalidationBatch`rhjh h!h"h±h$}r(UreftypeXclassh³‰h´X.boto.cloudfront.invalidation.InvalidationBatchU refdomainXpyrh&]h']U refexplicit‰h(]h)]h*]h¶h·h¸Nh¹Nuh,K¶h]rhr)r}r(hjh$}r(h(]h)]r (h¿jXpy-classr!eh']h&]h*]uhjh]r"hAX.boto.cloudfront.invalidation.InvalidationBatchr#…r$}r%(hUhjubah"hzubaubhAX> object representing the invalidation request pointed to by a r&…r'}r((hX> object representing the invalidation request pointed to by a hjubh­)r)}r*(hX9:class:`boto.cloudfront.invalidation.InvalidationSummary`r+hjh h!h"h±h$}r,(UreftypeXclassh³‰h´X0boto.cloudfront.invalidation.InvalidationSummaryU refdomainXpyr-h&]h']U refexplicit‰h(]h)]h*]h¶h·h¸Nh¹Nuh,K¶h]r.hr)r/}r0(hj+h$}r1(h(]h)]r2(h¿j-Xpy-classr3eh']h&]h*]uhj)h]r4hAX0boto.cloudfront.invalidation.InvalidationSummaryr5…r6}r7(hUhj/ubah"hzubaubhAX object using:r8…r9}r:(hX object using:hjubeubh~)r;}r<(hXg>>> inval_req = inval.get_invalidation_request() >>> print inval_req hjÄh h!h"hh$}r=(hƒh„h&]h']h(]h)]h*]uh,Kºh-hh]r>hAXg>>> inval_req = inval.get_invalidation_request() >>> print inval_req r?…r@}rA(hUhj;ubaubhE)rB}rC(hXÆSimiarly you can get the parent :class:`boto.cloudfront.distribution.Distribution` object for the invalidation request from a :class:`boto.cloudfront.invalidation.InvalidationSummary` object using::hjÄh h!h"hIh$}rD(h(]h)]h']h&]h*]uh,K¾h-hh]rE(hAX Simiarly you can get the parent rF…rG}rH(hX Simiarly you can get the parent hjBubh­)rI}rJ(hX2:class:`boto.cloudfront.distribution.Distribution`rKhjBh h!h"h±h$}rL(UreftypeXclassh³‰h´X)boto.cloudfront.distribution.DistributionU refdomainXpyrMh&]h']U refexplicit‰h(]h)]h*]h¶h·h¸Nh¹Nuh,K¾h]rNhr)rO}rP(hjKh$}rQ(h(]h)]rR(h¿jMXpy-classrSeh']h&]h*]uhjIh]rThAX)boto.cloudfront.distribution.DistributionrU…rV}rW(hUhjOubah"hzubaubhAX, object for the invalidation request from a rX…rY}rZ(hX, object for the invalidation request from a hjBubh­)r[}r\(hX9:class:`boto.cloudfront.invalidation.InvalidationSummary`r]hjBh h!h"h±h$}r^(UreftypeXclassh³‰h´X0boto.cloudfront.invalidation.InvalidationSummaryU refdomainXpyr_h&]h']U refexplicit‰h(]h)]h*]h¶h·h¸Nh¹Nuh,K¾h]r`hr)ra}rb(hj]h$}rc(h(]h)]rd(h¿j_Xpy-classreeh']h&]h*]uhj[h]rfhAX0boto.cloudfront.invalidation.InvalidationSummaryrg…rh}ri(hUhjaubah"hzubaubhAX object using:rj…rk}rl(hX object using:hjBubeubh~)rm}rn(hXt>>> dist = inval.get_distribution() >>> print dist hjÄh h!h"hh$}ro(hƒh„h&]h']h(]h)]h*]uh,KÃh-hh]rphAXt>>> dist = inval.get_distribution() >>> print dist rq…rr}rs(hUhjmubaubeubeubehUU transformerrtNU footnote_refsru}rvUrefnamesrw}rxUsymbol_footnotesry]rzUautofootnote_refsr{]r|Usymbol_footnote_refsr}]r~U citationsr]r€h-hU current_linerNUtransform_messagesr‚]rƒcdocutils.nodes system_message r„)r…}r†(hUh$}r‡(h(]UlevelKh&]h']Usourceh!h)]h*]UlineKUtypeUINFOrˆuh]r‰hE)rŠ}r‹(hUh$}rŒ(h(]h)]h']h&]h*]uhj…h]rhAX4Hyperlink target "cloudfront-tut" is not referenced.rŽ…r}r(hUhjŠubah"hIubah"Usystem_messager‘ubaUreporterr’NUid_startr“KU autofootnotesr”]r•U citation_refsr–}r—Uindirect_targetsr˜]r™Usettingsrš(cdocutils.frontend Values r›orœ}r(Ufootnote_backlinksržKUrecord_dependenciesrŸNU rfc_base_urlr Uhttp://tools.ietf.org/html/r¡U tracebackr¢ˆUpep_referencesr£NUstrip_commentsr¤NU toc_backlinksr¥Uentryr¦U language_coder§Uenr¨U datestampr©NU report_levelrªKU _destinationr«NU halt_levelr¬KU strip_classesr­Nh>NUerror_encoding_error_handlerr®Ubackslashreplacer¯Udebugr°NUembed_stylesheetr±‰Uoutput_encoding_error_handlerr²Ustrictr³U sectnum_xformr´KUdump_transformsrµNU docinfo_xformr¶KUwarning_streamr·NUpep_file_url_templater¸Upep-%04dr¹Uexit_status_levelrºKUconfigr»NUstrict_visitorr¼NUcloak_email_addressesr½ˆUtrim_footnote_reference_spacer¾‰Uenvr¿NUdump_pseudo_xmlrÀNUexpose_internalsrÁNUsectsubtitle_xformr‰U source_linkrÃNUrfc_referencesrÄNUoutput_encodingrÅUutf-8rÆU source_urlrÇNUinput_encodingrÈU utf-8-sigrÉU_disable_configrÊNU id_prefixrËUU tab_widthrÌKUerror_encodingrÍUUTF-8rÎU_sourcerÏh!Ugettext_compactrЈU generatorrÑNUdump_internalsrÒNU smart_quotesrÓ‰U pep_base_urlrÔUhttp://www.python.org/dev/peps/rÕUsyntax_highlightrÖUlongr×Uinput_encoding_error_handlerrØj³Uauto_id_prefixrÙUidrÚUdoctitle_xformrÛ‰Ustrip_elements_with_classesrÜNU _config_filesrÝ]Ufile_insertion_enabledrÞˆU raw_enabledrßKU dump_settingsràNubUsymbol_footnote_startráKUidsrâ}rã(hh]hh/hjÄhh—hh/uUsubstitution_namesrä}råh"h-h$}ræ(h(]h&]h']Usourceh!h)]h*]uU footnotesrç]rèUrefidsré}rêh]rëhasub.