B -<`¾ã@s>ddlZddlZe e¡ZGdd„deƒZGdd„deƒZdS)éNc@s2eZdZdZd dd„Zdd„Zdd„Zd d „ZdS) Ú ResourceMetaz9 An object containing metadata about a resource. NcCs.||_|dkrg}||_||_||_||_dS)N)Ú service_nameÚ identifiersÚclientÚdataÚresource_model)Úselfrrrrr©r ú;/tmp/pip-target-7cdyy134/lib/python/boto3/resources/base.pyÚ__init__szResourceMeta.__init__cCsd |j|j¡S)Nz$ResourceMeta('{0}', identifiers={1}))Úformatrr)rr r r Ú__repr__,szResourceMeta.__repr__cCs |jj|jjkrdS|j|jkS)NF)Ú __class__Ú__name__Ú__dict__)rÚotherr r r Ú__eq__0szResourceMeta.__eq__cCs |j ¡}| d¡}t|f|ŽS)z8 Create a copy of this metadata object. r)rÚcopyÚpopr)rÚparamsrr r r r7s  zResourceMeta.copy)NNNN)rÚ __module__Ú __qualname__Ú__doc__r r rrr r r r rs  rc@s4eZdZdZdZdd„Zdd„Zdd„Zd d „ZdS) ÚServiceResourcez€ A base class for resources. :type client: botocore.client :param client: A low-level Botocore client instance NcOsæ|j ¡|_| d¡dk r*| d¡|j_nt |jj¡|j_x,t|ƒD] \}}t|d|jj||ƒqFWxH|  ¡D]<\}}|dkr†qt||jjkr t d  |¡ƒ‚t|d||ƒqtWx,|jjD] }t ||ƒdkr¾t d  |¡ƒ‚q¾WdS)NrÚ_zUnknown keyword argument: {0}zRequired parameter {0} not set) ÚmetarÚgetrÚboto3rÚ enumerateÚsetattrrÚitemsÚ ValueErrorr Úgetattr)rÚargsÚkwargsÚiÚvalueÚnameÚ identifierr r r r Xs   zServiceResource.__init__c CsHg}x,|jjD] }| d |tt||ƒƒ¡¡qWd |jjd |¡¡S)Nz{0}={1}z{0}({1})z, ) rrÚappendr Úreprr"rrÚjoin)rrr(r r r r yszServiceResource.__repr__cCsB|jj|jjkrdSx(|jjD]}t||ƒt||ƒkrdSqWdS)NFT)rrrrr")rrr(r r r rƒs zServiceResource.__eq__cCs:g}x |jjD]}| t||ƒ¡qWt|jjt|ƒfƒS)N)rrr)r"ÚhashrrÚtuple)rrr(r r r Ú__hash__szServiceResource.__hash__) rrrrrr r rr.r r r r r@s !  r)ÚloggingrÚ getLoggerrÚloggerÚobjectrrr r r r Ús *