
    <gc%                     B    d Z ddlZddlZddlZddlmZ  G d de      Zy)z
    Kubernetes

    No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)  # noqa: E501

    The version of the OpenAPI document: release-1.32
    Generated by: https://openapi-generator.tech
    N)Configurationc                   \   e Zd ZdZ	 ddddddZddddd	dZddZed        Zej                  d        Zed        Z
e
j                  d        Z
ed        Zej                  d        Zed        Zej                  d        Zed        Zej                  d        Zd Zd Zd Zd Zd Zy
)V1ResourcePolicyRulezNOTE: This class is auto generated by OpenAPI Generator.
    Ref: https://openapi-generator.tech

    Do not edit the class manually.
    z	list[str]bool)
api_groupscluster_scope
namespaces	resourcesverbs	apiGroupsclusterScoper	   r
   r   Nc                     |
t               }|| _        d| _        d| _        d| _        d| _        d| _        d| _        || _        ||| _	        ||| _
        || _        || _        y)z1V1ResourcePolicyRule - a model defined in OpenAPIN)r   local_vars_configuration_api_groups_cluster_scope_namespaces
_resources_verbsdiscriminatorr   r   r	   r
   r   )selfr   r   r	   r
   r   r   s          e/var/www/openai/venv/lib/python3.12/site-packages/kubernetes/client/models/v1_resource_policy_rule.py__init__zV1ResourcePolicyRule.__init__3   sv    #+'4$(@%"!$$!.D!(DO"
    c                     | j                   S )aW  Gets the api_groups of this V1ResourcePolicyRule.  # noqa: E501

        `apiGroups` is a list of matching API groups and may not be empty. "*" matches all API groups and, if present, must be the only entry. Required.  # noqa: E501

        :return: The api_groups of this V1ResourcePolicyRule.  # noqa: E501
        :rtype: list[str]
        )r   r   s    r   r   zV1ResourcePolicyRule.api_groupsH        r   c                 X    | j                   j                  r|t        d      || _        y)aR  Sets the api_groups of this V1ResourcePolicyRule.

        `apiGroups` is a list of matching API groups and may not be empty. "*" matches all API groups and, if present, must be the only entry. Required.  # noqa: E501

        :param api_groups: The api_groups of this V1ResourcePolicyRule.  # noqa: E501
        :type: list[str]
        Nz2Invalid value for `api_groups`, must not be `None`)r   client_side_validation
ValueErrorr   )r   r   s     r   r   zV1ResourcePolicyRule.api_groupsS   s,     ((??JDVQRR%r   c                     | j                   S )a  Gets the cluster_scope of this V1ResourcePolicyRule.  # noqa: E501

        `clusterScope` indicates whether to match requests that do not specify a namespace (which happens either because the resource is not namespaced or the request targets all namespaces). If this field is omitted or false then the `namespaces` field must contain a non-empty list.  # noqa: E501

        :return: The cluster_scope of this V1ResourcePolicyRule.  # noqa: E501
        :rtype: bool
        r   r   s    r   r   z"V1ResourcePolicyRule.cluster_scopea   s     """r   c                     || _         y)a  Sets the cluster_scope of this V1ResourcePolicyRule.

        `clusterScope` indicates whether to match requests that do not specify a namespace (which happens either because the resource is not namespaced or the request targets all namespaces). If this field is omitted or false then the `namespaces` field must contain a non-empty list.  # noqa: E501

        :param cluster_scope: The cluster_scope of this V1ResourcePolicyRule.  # noqa: E501
        :type: bool
        Nr!   )r   r   s     r   r   z"V1ResourcePolicyRule.cluster_scopel   s     ,r   c                     | j                   S )ao  Gets the namespaces of this V1ResourcePolicyRule.  # noqa: E501

        `namespaces` is a list of target namespaces that restricts matches.  A request that specifies a target namespace matches only if either (a) this list contains that target namespace or (b) this list contains "*".  Note that "*" matches any specified namespace but does not match a request that _does not specify_ a namespace (see the `clusterScope` field for that). This list may be empty, but only if `clusterScope` is true.  # noqa: E501

        :return: The namespaces of this V1ResourcePolicyRule.  # noqa: E501
        :rtype: list[str]
        r   r   s    r   r	   zV1ResourcePolicyRule.namespacesx   r   r   c                     || _         y)aj  Sets the namespaces of this V1ResourcePolicyRule.

        `namespaces` is a list of target namespaces that restricts matches.  A request that specifies a target namespace matches only if either (a) this list contains that target namespace or (b) this list contains "*".  Note that "*" matches any specified namespace but does not match a request that _does not specify_ a namespace (see the `clusterScope` field for that). This list may be empty, but only if `clusterScope` is true.  # noqa: E501

        :param namespaces: The namespaces of this V1ResourcePolicyRule.  # noqa: E501
        :type: list[str]
        Nr$   )r   r	   s     r   r	   zV1ResourcePolicyRule.namespaces   s     &r   c                     | j                   S )a  Gets the resources of this V1ResourcePolicyRule.  # noqa: E501

        `resources` is a list of matching resources (i.e., lowercase and plural) with, if desired, subresource.  For example, [ "services", "nodes/status" ].  This list may not be empty. "*" matches all resources and, if present, must be the only entry. Required.  # noqa: E501

        :return: The resources of this V1ResourcePolicyRule.  # noqa: E501
        :rtype: list[str]
        )r   r   s    r   r
   zV1ResourcePolicyRule.resources   s     r   c                 X    | j                   j                  r|t        d      || _        y)a  Sets the resources of this V1ResourcePolicyRule.

        `resources` is a list of matching resources (i.e., lowercase and plural) with, if desired, subresource.  For example, [ "services", "nodes/status" ].  This list may not be empty. "*" matches all resources and, if present, must be the only entry. Required.  # noqa: E501

        :param resources: The resources of this V1ResourcePolicyRule.  # noqa: E501
        :type: list[str]
        Nz1Invalid value for `resources`, must not be `None`)r   r   r   r   )r   r
   s     r   r
   zV1ResourcePolicyRule.resources   s+     ((??IDUPQQ#r   c                     | j                   S )a?  Gets the verbs of this V1ResourcePolicyRule.  # noqa: E501

        `verbs` is a list of matching verbs and may not be empty. "*" matches all verbs and, if present, must be the only entry. Required.  # noqa: E501

        :return: The verbs of this V1ResourcePolicyRule.  # noqa: E501
        :rtype: list[str]
        )r   r   s    r   r   zV1ResourcePolicyRule.verbs   s     {{r   c                 X    | j                   j                  r|t        d      || _        y)a5  Sets the verbs of this V1ResourcePolicyRule.

        `verbs` is a list of matching verbs and may not be empty. "*" matches all verbs and, if present, must be the only entry. Required.  # noqa: E501

        :param verbs: The verbs of this V1ResourcePolicyRule.  # noqa: E501
        :type: list[str]
        Nz-Invalid value for `verbs`, must not be `None`)r   r   r   r   )r   r   s     r   r   zV1ResourcePolicyRule.verbs   s*     ((??EMLMMr   c                 ~   i }t        j                  | j                        D ]  \  }}t        | |      }t	        |t
              rt        t        d |            ||<   <t        |d      r|j                         ||<   \t	        |t              r(t        t        d |j                                     ||<   |||<    |S )z&Returns the model properties as a dictc                 >    t        | d      r| j                         S | S )Nto_dicthasattrr,   )xs    r   <lambda>z.V1ResourcePolicyRule.to_dict.<locals>.<lambda>   s    WQ	-BaiikIIr   r,   c                 T    t        | d   d      r| d   | d   j                         fS | S )N   r,   r   r-   )items    r   r0   z.V1ResourcePolicyRule.to_dict.<locals>.<lambda>   s6    tAw	2 #'q'47??+<!= "=8<"=r   )six	iteritemsopenapi_typesgetattr
isinstancelistmapr.   r,   dictitems)r   resultattr_values        r   r,   zV1ResourcePolicyRule.to_dict   s    }}T%7%78GD!D$'E%&#CI%  t 	*$}}tE4(#C=KKM%  t  %t! 9$ r   c                 H    t        j                  | j                               S )z.Returns the string representation of the model)pprintpformatr,   r   s    r   to_strzV1ResourcePolicyRule.to_str   s    ~~dlln--r   c                 "    | j                         S )zFor `print` and `pprint`)rD   r   s    r   __repr__zV1ResourcePolicyRule.__repr__   s    {{}r   c                 f    t        |t              sy| j                         |j                         k(  S )z&Returns true if both objects are equalFr8   r   r,   r   others     r   __eq__zV1ResourcePolicyRule.__eq__   s'    %!56||~00r   c                 f    t        |t              sy| j                         |j                         k7  S )z*Returns true if both objects are not equalTrH   rI   s     r   __ne__zV1ResourcePolicyRule.__ne__   s'    %!56||~00r   )NNNNNN)__name__
__module____qualname____doc__r6   attribute_mapr   propertyr   setterr   r	   r
   r   r,   rD   rF   rK   rM    r   r   r   r      s>    "! M "'" M*     & & # # 	, 	,     	& 	&   $ $   \\ 0.11r   r   )rQ   rB   rer4   kubernetes.client.configurationr   objectr   rU   r   r   <module>rY      s&     	 
 9X16 X1r   