
    Dj                        d Z ddlmZ ddlmZmZ  G d de          Z G d de          Z G d d	e          Zg d
Z	dS )zHShared strict base models for application-facing service/domain objects.    )annotations)	BaseModel
ConfigDictc                  ,    e Zd ZdZ edd          ZdS )ServiceModelz8Strict base for pyicloud's public service/domain models.forbidF)extraarbitrary_types_allowedN__name__
__module____qualname____doc__r   model_config     Q/home/thesage/.hermes/venv/lib/python3.11/site-packages/pyicloud/common/models.pyr   r      s0        BB: %  LLLr   r   c                  .    e Zd ZdZ eddd          ZdS )FrozenServiceModelz2Strict immutable base for public read-only models.r   FT)r	   r
   frozenNr   r   r   r   r   r      s3        <<: %  LLLr   r   c                  .    e Zd ZdZ eddd          ZdS )MutableServiceModelzBStrict mutable base that validates assignments after construction.r   FT)r	   r
   validate_assignmentNr   r   r   r   r   r      s3        LL: %   LLLr   r   )r   r   r   N)
r   
__future__r   pydanticr   r   r   r   r   __all__r   r   r   <module>r      s    N N " " " " " " * * * * * * * *    9              ,    H
G
Gr   