o d@s:ddlZddlZeeZGdddZGdddZdS)Nc@s:eZdZdZ    d ddZddZddZd d ZdS) ResourceMetaz9 An object containing metadata about a resource. NcCs.||_|dur g}||_||_||_||_dSN) service_name identifiersclientdataresource_model)selfrrrrrr o/private/var/folders/v1/_jykv66s6qd26_69j1njbrl80000gr/T/pip-target-p1gutpg6/lib/python/boto3/resources/base.py__init__s  zResourceMeta.__init__cCsd|j|jS)Nz"ResourceMeta('{}', identifiers={}))formatrr)r r r r __repr__2szResourceMeta.__repr__cCs |jj|jjkr dS|j|jkS)NF) __class____name____dict__)r otherr r r __eq__7s zResourceMeta.__eq__cCs$|j}|d}t|fi|S)z8 Create a copy of this metadata object. r)rcopypopr)r paramsrr r r r>s  zResourceMeta.copy)NNNN)r __module__ __qualname____doc__r rrrr r r r rs  rc@s6eZdZdZdZ ddZddZddZd d ZdS) ServiceResourcez A base class for resources. :type client: botocore.client :param client: A low-level Botocore client instance NcOs|j|_|ddur|d|j_n t|jj|j_t|D]\}}t|d|jj||q"| D]\}}|dkr@q7||jjvrMt d|t|d||q7|jjD]}t ||durkt d|dqZdS)Nr_zUnknown keyword argument: zRequired parameter z not set) metargetrboto3r enumeratesetattrritems ValueErrorgetattr)r argskwargsivaluename identifierr r r r _s"   zServiceResource.__init__c CsFg}|jjD]}||dtt||qd|jjd|S)N=z{}({})z, ) rrappendreprr#r rrjoinr rr)r r r rs zServiceResource.__repr__cCs@|jj|jjkr dS|jjD]}t||t||krdSqdS)NFT)rrrrr#)r rr)r r r rs zServiceResource.__eq__cCs6g}|jjD] }|t||qt|jjt|fSr)rrr+r#hashrrtupler.r r r __hash__s zServiceResource.__hash__) rrrrrr rrr1r r r r rGs  r)loggingr getLoggerrloggerrrr r r r s   2