
    !jw	                        d Z ddlmZmZ ddlmZmZ ddlmZ	 ddl
mZmZ ddlmZmZmZ dZd	Z ed
d          Z G d d          ZdS )zERequest/response of PutBucketVersioning and GetBucketVersioning APIs.    )absolute_importannotations)TypeTypeVar)ElementTree   )DISABLEDENABLED)Element
SubElementfindtextOff	SuspendedAVersioningConfig)boundc                  p    e Zd ZdZ	 	 dddZedd	            Zedd
            Zedd            Z	ddZ
dS )r   zVersioning configuration.Nstatus
str | None
mfa_deletec                    |/|t           t          fvrt          dt            dt                     |/|t           t          fvrt          dt            dt                     || _        || _        d S )Nzstatus must be z or zMFA delete must be )r
   	SUSPENDED
ValueErrorr	   _status_mfa_delete)selfr   r   s      `/lsinfo/ai/hellotax_ai/base_platform/venv/lib/python3.11/site-packages/minio/versioningconfig.py__init__zVersioningConfig.__init__$   s    
 &)0D"D"DGwGGIGGHHH!j(8K&K&KJ7JJJJKKK%    returnstrc                    | j         pt          S )zGet status.)r   OFFr   s    r   r   zVersioningConfig.status0   s     |"s"r   c                    | j         S )zGet MFA delete.)r   r$   s    r   r   zVersioningConfig.mfa_delete5   s     r   clsType[A]element
ET.Elementr   c                Z    t          |d          }t          |d          } | ||          S )z/Create new object with values from XML element.Status	MFADelete)r   )r&   r(   r   r   s       r   fromxmlzVersioningConfig.fromxml:   s4     '8,,g{33
s6:&&&r   ET.Element | Nonec                    t          d          }| j        rt          |d| j                   | j        rt          |d| j                   |S )zConvert to XML.VersioningConfigurationr+   r,   )r   r   r   r   )r   r(   s     r   toxmlzVersioningConfig.toxmlA   sS    344< 	8w$,777 	?wT-=>>>r   )NN)r   r   r   r   )r    r!   )r    r   )r&   r'   r(   r)   r    r   )r(   r.   r    r)   )__name__
__module____qualname____doc__r   propertyr   r   classmethodr-   r1    r   r   r   r   !   s        ## "&%)
& 
& 
& 
& 
& # # # X#       X  ' ' ' ['     r   N)r5   
__future__r   r   typingr   r   	xml.etreer   ETcommonconfigr	   r
   xmlr   r   r   r#   r   r   r   r8   r   r   <module>r?      s   " L K 3 3 3 3 3 3 3 3                 ' ' ' ' ' ' + + + + + + + + . . . . . . . . . .	GC)***' ' ' ' ' ' ' ' ' 'r   