o
    <il	                     @   sj   d dl mZ d dlmZ d dlmZmZ d dlmZ d dl	m
Z
 dZG dd deeZG d	d
 d
e
ZdS )    )Enum)	Annotated)Fieldmodel_validator)ValidationError)IcebergBaseModelmainc                   @   s0   e Zd ZdZdZdefddZdefddZdS )	SnapshotRefTypebranchtagreturnc                 C   s   d| j  S )>Return the string representation of the SnapshotRefType class.zSnapshotRefType.)nameself r   Q/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/pyiceberg/table/refs.py__repr__    s   zSnapshotRefType.__repr__c                 C   s   | j S )r   )valuer   r   r   r   __str__$   s   zSnapshotRefType.__str__N)__name__
__module____qualname__BRANCHTAGstrr   r   r   r   r   r   r	      s
    r	   c                   @   s   e Zd ZU eddZeed< eddZeed< e	edB edddd	f ed
< e	edB edddd	f ed< e	edB edddd	f ed< e
dddddZe
dddddZdS )SnapshotRefzsnapshot-id)aliassnapshot_idtypesnapshot_ref_typeNzmin-snapshots-to-keepr   )r   defaultgtmin_snapshots_to_keepzmax-snapshot-age-msmax_snapshot_age_mszmax-ref-age-msmax_ref_age_msafter)moder   c                 C   "   | j d ur| jtjkrtd| S )Nz.Tags do not support setting minSnapshotsToKeep)r#   r    r	   r   r   r   r   r   r   check_min_snapshots_to_keep0      z'SnapshotRef.check_min_snapshots_to_keepc                 C   r(   )Nz,Tags do not support setting maxSnapshotAgeMs)r$   r    r	   r   r   r   r   r   r   check_max_snapshot_age_ms6   r*   z%SnapshotRef.check_max_snapshot_age_ms)r   r   )r   r   r   r   r   int__annotations__r    r	   r   r   r)   r+   r   r   r   r   r   )   s   
 r   N)enumr   typingr   pydanticr   r   pyiceberg.exceptionsr   pyiceberg.typedefr   MAIN_BRANCHr   r	   r   r   r   r   r   <module>   s   