B
    è?F[ƒ  ã               @   s<   d dl Z G dd„ deƒZG dd„ deƒZG dd„ deƒZdS )é    Nc               @   s@   e Zd Zddd„Zdd„ Zdd„ Zdd	d
„Zdd„ Zdd„ ZdS )ÚOriginAccessIdentityNÚ c             C   s(   || _ || _|| _|| _|| _d | _d S )N)Ú
connectionÚconfigÚidÚ
s3_user_idÚcommentÚetag)Úselfr   r   r   r   r   © r   ú7lib/python3.7/site-packages/boto/cloudfront/identity.pyÚ__init__   s    zOriginAccessIdentity.__init__c             C   s   |dkrt ƒ | _| jS d S d S )NZ$CloudFrontOriginAccessIdentityConfig)ÚOriginAccessIdentityConfigr   )r
   ÚnameÚattrsr   r   r   r   ÚstartElement"   s    z!OriginAccessIdentity.startElementc             C   s@   |dkr|| _ n,|dkr || _n|dkr0|| _nt| ||ƒ d S )NÚIdÚS3CanonicalUserIdÚComment)r   r   r   Úsetattr)r
   r   Úvaluer   r   r   r   Ú
endElement)   s    zOriginAccessIdentity.endElementc             C   sD   t | j| jj| jjƒ}|d k	r$||_| j | j| j|¡| _|| _d S )N)r   r   r   Úcaller_referencer   Zset_origin_identity_configr   r	   )r
   r   Z
new_configr   r   r   Úupdate3   s    
zOriginAccessIdentity.updatec             C   s   | j  | j| j¡S )N)r   Zdelete_origin_access_identityr   r	   )r
   r   r   r   Údelete<   s    zOriginAccessIdentity.deletec             C   s
   d| j  S )Nz$origin-access-identity/cloudfront/%s)r   )r
   r   r   r   Úuri?   s    zOriginAccessIdentity.uri)NNr   r   r   )N)	Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r   r   r      s    


	r   c               @   s.   e Zd Zddd„Zdd„ Zdd„ Zd	d
„ ZdS )r   Nr   c             C   s*   || _ |r|| _ntt ¡ ƒ| _|| _d S )N)r   r   ÚstrÚuuidZuuid4r   )r
   r   r   r   r   r   r   r   D   s
    z#OriginAccessIdentityConfig.__init__c             C   s:   d}|d7 }|d| j  7 }| jr.|d| j 7 }|d7 }|S )Nz'<?xml version="1.0" encoding="UTF-8"?>
z_<CloudFrontOriginAccessIdentityConfig xmlns="http://cloudfront.amazonaws.com/doc/2009-09-09/">
z(  <CallerReference>%s</CallerReference>
z  <Comment>%s</Comment>
z(</CloudFrontOriginAccessIdentityConfig>
)r   r   )r
   Úsr   r   r   Úto_xmlL   s    z!OriginAccessIdentityConfig.to_xmlc             C   s   d S )Nr   )r
   r   r   r   r   r   r   r   U   s    z'OriginAccessIdentityConfig.startElementc             C   s0   |dkr|| _ n|dkr || _nt| ||ƒ d S )Nr   ZCallerReference)r   r   r   )r
   r   r   r   r   r   r   r   X   s
    z%OriginAccessIdentityConfig.endElement)Nr   r   )r   r   r   r   r"   r   r   r   r   r   r   r   C   s   
	r   c               @   s.   e Zd Zddd„Zdd„ Zdd„ Zd	d
„ ZdS )ÚOriginAccessIdentitySummaryNr   c             C   s"   || _ || _|| _|| _d | _d S )N)r   r   r   r   r	   )r
   r   r   r   r   r   r   r   r   b   s
    z$OriginAccessIdentitySummary.__init__c             C   s   d S )Nr   )r
   r   r   r   r   r   r   r   j   s    z(OriginAccessIdentitySummary.startElementc             C   s@   |dkr|| _ n,|dkr || _n|dkr0|| _nt| ||ƒ d S )Nr   r   r   )r   r   r   r   )r
   r   r   r   r   r   r   r   m   s    z&OriginAccessIdentitySummary.endElementc             C   s   | j  | j¡S )N)r   Zget_origin_access_identity_infor   )r
   r   r   r   Úget_origin_access_identityw   s    z6OriginAccessIdentitySummary.get_origin_access_identity)Nr   r   r   )r   r   r   r   r   r   r$   r   r   r   r   r#   a   s
    

r#   )r    Úobjectr   r   r#   r   r   r   r   Ú<module>   s   +