
    ,Ofu                    b    d dl mZ d dlmZmZ d dlZd dlmZm	Z	m
Z
 erd dlmZ  G d de	      Zy)    )annotations)TYPE_CHECKINGAnyN)	AttributeNonCompletableGithubObjectNotSet)!EnvironmentProtectionRuleReviewerc                      e Zd ZdZddZddZedd       Zedd       Zedd       Z	e	 	 dd       Z
edd       Zdd	Zy
)EnvironmentProtectionRulez
    This class represents a protection rule for an environment.

    The reference can be found here
    https://docs.github.com/en/rest/reference/deployments#environments

    c                r    t         | _        t         | _        t         | _        t         | _        t         | _        y N)r   _id_node_id_type
_reviewers_wait_timerselfs    @lib/python3.12/site-packages/github/EnvironmentProtectionRule.py_initAttributesz)EnvironmentProtectionRule._initAttributes>   s&    #)(.%+
NT+1    c                P    | j                  d| j                  j                  i      S )Nid)get__repr__r   valuer   s    r   __repr__z"EnvironmentProtectionRule.__repr__E   s     txx~~ 677r   c                .    | j                   j                  S r   )r   r   r   s    r   r   zEnvironmentProtectionRule.idH   s    xx~~r   c                .    | j                   j                  S r   )r   r   r   s    r   node_idz!EnvironmentProtectionRule.node_idL   s    }}"""r   c                .    | j                   j                  S r   )r   r   r   s    r   typezEnvironmentProtectionRule.typeP   s    zzr   c                .    | j                   j                  S r   )r   r   r   s    r   	reviewersz#EnvironmentProtectionRule.reviewersT   s     $$$r   c                .    | j                   j                  S r   )r   r   r   s    r   
wait_timerz$EnvironmentProtectionRule.wait_timerZ   s    %%%r   c                Z   d|v r| j                  |d         | _        d|v r| j                  |d         | _        d|v r| j                  |d         | _        d|v r2| j                  t        j                  j                  |d         | _        d|v r| j                  |d         | _	        y y )Nr   r   r!   r#   r%   )
_makeIntAttributer   _makeStringAttributer   r   _makeListOfClassesAttributegithubr	   r   r   )r   
attributess     r   _useAttributesz(EnvironmentProtectionRule._useAttributes^   s    :--j.>?DH
" 55j6KLDMZ22:f3EFDJ*$">>88ZZ;'DO :%#55j6NOD &r   N)returnNone)r-   str)r-   int)r-   z'list[EnvironmentProtectionRuleReviewer])r+   zdict[str, Any]r-   r.   )__name__
__module____qualname____doc__r   r   propertyr   r   r!   r#   r%   r,    r   r   r   r   5   s    28   # #     %	0% %
 & &Pr   r   )
__future__r   typingr   r   (github.EnvironmentProtectionRuleReviewerr*   github.GithubObjectr   r   r   r	   r   r6   r   r   <module>r;      s,   T # % / M MZ6P : 6Pr   