3 ?ã\¾ã@s>ddlZddlZejeƒ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 úk/private/var/folders/pf/wv4htv3x0qs2c2mp0dnn0kchsvlck3/T/pip-install-emcbgzcf/boto3/boto3/resources/base.pyÚ__init__szResourceMeta.__init__cCsdj|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 |jjƒ}|jdƒ}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æ|jjƒ|_|jdƒdk r*|jdƒ|j_ntj|jjƒ|j_x,t|ƒD] \}}t|d|jj||ƒqFWxH|j ƒD]<\}}|dkr†qt||jjkr t dj |ƒƒ‚t|d||ƒqtWx,|jjD] }t ||ƒdkr¾t dj |ƒƒ‚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__cCsHg}x,|jjD] }|jdj|tt||ƒƒƒƒqWdj|jjdj|ƒƒ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]}|jt||ƒƒ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 *