B v޲_@s>ddlZddlZeeZGdddeZGdddeZdS)Nc@s2eZdZdZd ddZddZddZd d ZdS) ResourceMetaz9 An object containing metadata about a resource. NcCs.||_|dkrg}||_||_||_||_dS)N) service_name identifiersclientdataresource_model)selfrrrrrr ;/tmp/pip-target-kmdnttut/lib/python/boto3/resources/base.py__init__szResourceMeta.__init__cCsd|j|jS)Nz$ResourceMeta('{0}', identifiers={1}))formatrr)rr r r __repr__,szResourceMeta.__repr__cCs |jj|jjkrdS|j|jkS)NF) __class____name____dict__)rotherr r r __eq__0szResourceMeta.__eq__cCs |j}|d}t|f|S)z8 Create a copy of this metadata object. r)rcopypopr)rparamsrr r r r7s  zResourceMeta.copy)NNNN)r __module__ __qualname____doc__r r rrr r r r rs  rc@s4eZdZdZdZddZddZddZd d ZdS) ServiceResourcez A base class for resources. :type client: botocore.client :param client: A low-level Botocore client instance NcOs|j|_|ddk r*|d|j_nt|jj|j_x,t|D] \}}t|d|jj||qFWxH| D]<\}}|dkrqt||jjkrt d |t|d||qtWx,|jjD] }t ||dkrt d |qWdS)Nr_zUnknown keyword argument: {0}zRequired parameter {0} not set) metargetrboto3r enumeratesetattrritems ValueErrorr getattr)rargskwargsivaluename identifierr r r r Xs   zServiceResource.__init__c CsHg}x,|jjD] }|d|tt||qWd|jjd|S)Nz{0}={1}z{0}({1})z, ) rrappendr reprr"rrjoin)rrr(r r r r yszServiceResource.__repr__cCsB|jj|jjkrdSx(|jjD]}t||t||krdSqWdS)NFT)rrrrr")rrr(r r r rs zServiceResource.__eq__cCs:g}x |jjD]}|t||qWt|jjt|fS)N)rrr)r"hashrrtuple)rrr(r r r __hash__szServiceResource.__hash__) rrrrrr r rr.r r r r r@s !  r)loggingr getLoggerrloggerobjectrrr r r r s *