FRTc@sddlZddlZddlZddlmZddlmZddlmZm Z m Z ddlm Z m Z m Z ddlmZddlmZddlmZdd lmZmZmZdd lmZdd lmZd efd YZdS(iN(tAWSAuthConnection(thandler(t DistributiontDistributionSummarytDistributionConfig(tStreamingDistributiontStreamingDistributionSummarytStreamingDistributionConfig(tOriginAccessIdentity(tOriginAccessIdentitySummary(tOriginAccessIdentityConfig(tInvalidationBatchtInvalidationSummarytInvalidationListResultSet(t ResultSet(tCloudFrontServerErrortCloudFrontConnectionc BsseZdZdZd"d"d"d"d"edd"ed"d"d ZdZdZd"d"dZ dZ dZ d Z d Z d Zd Zd ZdZdZdd"dd"dZdZdZdZdZdZdd"dd"dZdZdZdZdZdZdddZdZ d"dZ!d"d Z"d"d"d!Z#RS(#scloudfront.amazonaws.coms 2010-11-01ic CsJtt|j|||t|||d|d|d| d| d| dS(Ntdebugtsecurity_tokentvalidate_certsthttps_connection_factoryt profile_name(tsuperRt__init__tTrue( tselftaws_access_key_idtaws_secret_access_keytporttproxyt proxy_portthostRRRRR((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pyR+scCs>|j}x.|jD] }|jdkr||SqWdS(Ntetag(tmsgtkeystlowertNone(Rtresponsetresponse_headerstkey((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pytget_etag7s   cCsdgS(Nt cloudfront((R((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pyt_required_auth_capability>sc Cs|sdtfg}n|jdd|j|f}|j}tjj||jdkr}t|j|j |n|pt }|pt }|||} t j | |} tjj|| | S(NRtGETs/%s/%si,(Rt make_requesttVersiontreadtbototlogRtstatusRtreasonRtdictRt XmlHandlertxmltsaxt parseString( Rtresourcettagstresult_set_classtresult_set_kwargsR%tbodytrs_classt rs_kwargstrsth((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pyt_get_all_objectsCs   c Csd|j||f}|jd|}|j}tjj||jdkrnt|j|j|n|d|}|j }x6|j D](} | j dkr|| |_ qqWt j||} tjj|| |S(Ns /%s/%s/%sR+i,t connectionR (R-R,R.R/R0RR1RR2R!R"R#R RR4R5R6R7( RtidR8t dist_classturiR%R<tdR&R'R@((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pyt _get_infoTs  c Csd|j||f}|jd|}|j}tjj||jdkrnt|j|j|n|d|}|j ||_ t j ||}t jj|||S(Ns/%s/%s/%s/configR+i,RB(R-R,R.R/R0RR1RR2R(R RR4R5R6R7( RRCR8t config_classRER%R<RFR@((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pyt _get_configds c Cst|trd}nd}d|j||f}i|d6dd6}|jd|||j}|j}tjj||j dkrt |j |j |n|j |S( Nsstreaming-distributiont distributions/%s/%s/%s/configsIf-Matchstext/xmls Content-TypetPUTi( t isinstanceRR-R,tto_xmlR.R/R0RR1RR2R(( Rtdistribution_idR tconfigR8REtheadersR%R<((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pyt _set_configqs  cCs|jdd|j|fidd6d|j}|j}tjj||jdkr|d|}tj ||}t j j |||j ||_|St|j|j|dS(NtPOSTs/%s/%sstext/xmls Content-TypetdataiRB(R,R-RMR.R/R0RR1RR4R5R6R7R(R RR2(RROR8RDR%R<RFR@((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pyt_create_objects  cCs|d|j||f}|jd|i|d6}|j}tjj||jdkrxt|j|j|ndS(Ns /%s/%s/%stDELETEsIf-Matchi( R-R,R.R/R0RR1RR2(RRCR R8RER%R<((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pyt_delete_objects  cCsdtfg}|jd|S(NRRJ(RRA(RR9((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pytget_all_distributionsscCs|j|dtS(NRJ(RGR(RRN((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pytget_distribution_infoscCs|j|dtS(NRJ(RIR(RRN((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pytget_distribution_configs cCs|j|||S(N(RQ(RRNR RO((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pytset_distribution_configstc Cs@td|d|d|d|d|d|}|j|dtS(Ntorigintenabledtcaller_referencetcnamestcommentttrusted_signersRJ(RRTR(RR\R]R^R_R`RaRO((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pytcreate_distributions   cCs|j||dS(NRJ(RV(RRNR ((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pytdelete_distributionscCsdtfg}|jd|S(NRsstreaming-distribution(RRA(RR9((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pytget_all_streaming_distributionsscCs|j|dtS(Nsstreaming-distribution(RGR(RRN((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pytget_streaming_distribution_infos cCs|j|dtS(Nsstreaming-distribution(RIR(RRN((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pyt!get_streaming_distribution_configs cCs|j|||S(N(RQ(RRNR RO((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pyt!set_streaming_distribution_configsc Cs@td|d|d|d|d|d|}|j|dtS(NR\R]R^R_R`Rasstreaming-distribution(RRTR(RR\R]R^R_R`RaRO((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pytcreate_streaming_distributions    cCs|j||dS(Nsstreaming-distribution(RV(RRNR ((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pytdelete_streaming_distributions cCsdtfg}|jd|S(Nt%CloudFrontOriginAccessIdentitySummarys!origin-access-identity/cloudfront(R RA(RR9((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pytget_all_origin_access_identitys cCs|j|dtS(Ns!origin-access-identity/cloudfront(RGR(Rt access_id((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pytget_origin_access_identity_infos cCs|j|dtS(Ns!origin-access-identity/cloudfront(RIR (RRl((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pyt!get_origin_access_identity_configs cCs|j|||S(N(RQ(RRlR RO((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pyt!set_origin_access_identity_configscCs(td|d|}|j|dtS(NR^R`s!origin-access-identity/cloudfront(R RTR(RR^R`RO((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pytcreate_origin_access_identitys   cCs|j||dS(Ns!origin-access-identity/cloudfront(RV(RRlR ((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pytdelete_origin_access_identitys cCst|tst|}n||_d|j|f}|jd|idd6d|j}|j}|jdkrtj ||}t j j |||St |j|j|dS(sQCreates a new invalidation request :see: http://goo.gl/8vECq s /%s/distribution/%s/invalidationRRstext/xmls Content-TypeRSiN(RLR RBR-R,RMR.R1RR4R5R6R7RR2(RRNtpathsR^RER%R<R@((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pytcreate_invalidation_requests      c Csd|j||f}|jd|idd6}|j}|jdkrtg}tj||}tjj |||St |j|j |dS(Ns#/%s/distribution/%s/invalidation/%sR+stext/xmls Content-Typei( R-R,R.R1R RR4R5R6R7RR2( RRNt request_idR^RER%R<RrR@((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pytinvalidation_request_status s    c Csd|}t}|r&||d((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pytget_invalidation_requestss     N($t__name__t __module__t DefaultHostR-R$RRR(R*RARGRIRQRTRVRWRXRYRZRbRcRdReRfRgRhRiRkRmRnRoRpRqRsRuR(((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pyR&sP                          (txml.saxR5ttimeR/tboto.connectionRRtboto.cloudfront.distributionRRRRRRtboto.cloudfront.identityRR R tboto.cloudfront.invalidationR R R tboto.resultsetRtboto.cloudfront.exceptionRR(((sE/opt/freeware/lib/python2.7/site-packages/boto/cloudfront/__init__.pyts