U
    3ìdƒ  ã                   @   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   ú</tmp/pip-unpacked-wheel-d7dsrkjd/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 ©NZIdZ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 r   )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 r   )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 r   )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 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   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 r   )r   r   r   r	   r
   )r   r   r   r   r	   r   r   r   r   b   s
    z$OriginAccessIdentitySummary.__init__c                 C   s   d S 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 r   r   r   r   r   r   r   m   s    z&OriginAccessIdentitySummary.endElementc                 C   s   | j  | j¡S r   )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   +