
                         d    d dl Z d dlZ e j                  e      Z G d de      Z G d de      Zy)    Nc                   .    e Zd ZdZ	 	 ddZd Zd Zd Zy)ResourceMetaz9
    An object containing metadata about a resource.
    Nc                 R    || _         |g }|| _        || _        || _        || _        y N)service_nameidentifiersclientdataresource_model)selfr   r   r	   r
   r   s         'lib/third_party/boto3/resources/base.py__init__zResourceMeta.__init__   s9     )K& 	 -    c                 N    dj                  | j                  | j                        S )Nz$ResourceMeta('{0}', identifiers={1}))formatr   r   )r   s    r   __repr__zResourceMeta.__repr__,   s&    7>>t//1 	1r   c                     |j                   j                  | j                   j                  k7  ry| j                  |j                  k(  S )NF)	__class____name____dict__)r   others     r   __eq__zResourceMeta.__eq__0   s4    ??##t~~'>'>>}}..r   c                 p    | j                   j                         }|j                  d      }t        |fi |S )z8
        Create a copy of this metadata object.
        r   )r   copypopr   )r   paramsr   s      r   r   zResourceMeta.copy7   s4     ##%zz.1L3F33r   )NNNN)r   
__module____qualname____doc__r   r   r   r    r   r   r   r      s$     ?C+/-$1/4r   r   c                   .    e Zd ZdZdZ	 d Zd Zd Zd Zy)ServiceResourcez
    A base class for resources.

    :type client: botocore.client
    :param client: A low-level Botocore client instance
    Nc                    | j                   j                         | _         |j                  d      !|j                  d      | j                   _        n8t	        j                  | j                   j
                        | j                   _        t        |      D ],  \  }}t        | d| j                   j                  |   z   |       . |j                         D ]M  \  }}|dk(  r|| j                   j                  vrt        dj                  |            t        | d|z   |       O | j                   j                  D ](  }t        | |      t        dj                  |             y )Nr	   _zUnknown keyword argument: {0}zRequired parameter {0} not set)metar   getr	   boto3r   	enumeratesetattrr   items
ValueErrorr   getattr)r   argskwargsivaluename
identifiers          r   r   zServiceResource.__init__X   s)    IINN$	 ::h+%zz(3DII$||DII,B,BCDII "$HAuD#		 5 5a 88%@ (
 "<<>KD%x499000 !@!G!G!MNND#*e, * ))//JtZ(0 4;;JGI I 0r   c                    g }| j                   j                  D ]6  }|j                  dj                  |t	        t        | |                         8 dj                  | j                  j                  dj                  |            S )Nz{0}={1}z{0}({1})z, )	r%   r   appendr   reprr,   r   r   joinr   r   r2   s      r   r   zServiceResource.__repr__y   su    ))//Jy//Dz!:; = > 0   NN##IIk"
 	
r   c                     |j                   j                  | j                   j                  k7  ry| j                  j                  D ]  }t	        | |      t	        ||      k7  s y y)NFT)r   r   r%   r   r,   )r   r   r2   s      r   r   zServiceResource.__eq__   sU    ??##t~~'>'>> ))//JtZ(GE:,FF 0 r   c                     g }| j                   j                  D ]  }|j                  t        | |              t	        | j
                  j                  t        |      f      S r   )r%   r   r4   r,   hashr   r   tupler7   s      r   __hash__zServiceResource.__hash__   sO    ))//JwtZ89 0T^^,,eK.@ABBr   )	r   r   r   r   r%   r   r   r   r<   r    r   r   r"   r"   @   s*     DIB
Cr   r"   )loggingr'   	getLoggerr   loggerobjectr   r"   r    r   r   <module>rA      s>      
		8	$'46 '4TTCf TCr   