
    Bvh                     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.33
    Generated by: https://openapi-generator.tech
    N)Configurationc                       e Zd ZdZ	 ddddZ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d Zd Zd Zd Zd Zy	)V1beta2DeviceRequestzNOTE: This class is auto generated by OpenAPI Generator.
    Ref: https://openapi-generator.tech

    Do not edit the class manually.
    V1beta2ExactDeviceRequestzlist[V1beta2DeviceSubRequest]str)exactlyfirst_availablenamer   firstAvailabler
   Nc                     |
t               }|| _        d| _        d| _        d| _        d| _        ||| _        ||| _        || _        y)z1V1beta2DeviceRequest - a model defined in OpenAPIN)	r   local_vars_configuration_exactly_first_available_namediscriminatorr   r	   r
   )selfr   r	   r
   r   s        Y/RAG/venv/lib/python3.12/site-packages/kubernetes/client/models/v1beta2_device_request.py__init__zV1beta2DeviceRequest.__init__/   sX    #+'4$(@% $
!"DL&#2D 	    c                     | j                   S )zGets the exactly of this V1beta2DeviceRequest.  # noqa: E501


        :return: The exactly of this V1beta2DeviceRequest.  # noqa: E501
        :rtype: V1beta2ExactDeviceRequest
        r   r   s    r   r   zV1beta2DeviceRequest.exactly@   s     }}r   c                     || _         y)zSets the exactly of this V1beta2DeviceRequest.


        :param exactly: The exactly of this V1beta2DeviceRequest.  # noqa: E501
        :type: V1beta2ExactDeviceRequest
        Nr   )r   r   s     r   r   zV1beta2DeviceRequest.exactlyJ   s      r   c                     | j                   S )a  Gets the first_available of this V1beta2DeviceRequest.  # noqa: E501

        FirstAvailable contains subrequests, of which exactly one will be selected by the scheduler. It tries to satisfy them in the order in which they are listed here. So if there are two entries in the list, the scheduler will only check the second one if it determines that the first one can not be used.  DRA does not yet implement scoring, so the scheduler will select the first set of devices that satisfies all the requests in the claim. And if the requirements can be satisfied on more than one node, other scheduling features will determine which node is chosen. This means that the set of devices allocated to a claim might not be the optimal set available to the cluster. Scoring will be implemented later.  # noqa: E501

        :return: The first_available of this V1beta2DeviceRequest.  # noqa: E501
        :rtype: list[V1beta2DeviceSubRequest]
        r   r   s    r   r	   z$V1beta2DeviceRequest.first_availableU   s     $$$r   c                     || _         y)a  Sets the first_available of this V1beta2DeviceRequest.

        FirstAvailable contains subrequests, of which exactly one will be selected by the scheduler. It tries to satisfy them in the order in which they are listed here. So if there are two entries in the list, the scheduler will only check the second one if it determines that the first one can not be used.  DRA does not yet implement scoring, so the scheduler will select the first set of devices that satisfies all the requests in the claim. And if the requirements can be satisfied on more than one node, other scheduling features will determine which node is chosen. This means that the set of devices allocated to a claim might not be the optimal set available to the cluster. Scoring will be implemented later.  # noqa: E501

        :param first_available: The first_available of this V1beta2DeviceRequest.  # noqa: E501
        :type: list[V1beta2DeviceSubRequest]
        Nr   )r   r	   s     r   r	   z$V1beta2DeviceRequest.first_available`   s     !0r   c                     | j                   S )aG  Gets the name of this V1beta2DeviceRequest.  # noqa: E501

        Name can be used to reference this request in a pod.spec.containers[].resources.claims entry and in a constraint of the claim.  References using the name in the DeviceRequest will uniquely identify a request when the Exactly field is set. When the FirstAvailable field is set, a reference to the name of the DeviceRequest will match whatever subrequest is chosen by the scheduler.  Must be a DNS label.  # noqa: E501

        :return: The name of this V1beta2DeviceRequest.  # noqa: E501
        :rtype: str
        )r   r   s    r   r
   zV1beta2DeviceRequest.namel   s     zzr   c                 X    | j                   j                  r|t        d      || _        y)a<  Sets the name of this V1beta2DeviceRequest.

        Name can be used to reference this request in a pod.spec.containers[].resources.claims entry and in a constraint of the claim.  References using the name in the DeviceRequest will uniquely identify a request when the Exactly field is set. When the FirstAvailable field is set, a reference to the name of the DeviceRequest will match whatever subrequest is chosen by the scheduler.  Must be a DNS label.  # noqa: E501

        :param name: The name of this V1beta2DeviceRequest.  # noqa: E501
        :type: str
        Nz,Invalid value for `name`, must not be `None`)r   client_side_validation
ValueErrorr   )r   r
   s     r   r
   zV1beta2DeviceRequest.namew   s*     ((??DLKLL
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.V1beta2DeviceRequest.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   r'   z.V1beta2DeviceRequest.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V1beta2DeviceRequest.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V1beta2DeviceRequest.to_str   s    ~~dlln--r   c                 "    | j                         S )zFor `print` and `pprint`)r;   r   s    r   __repr__zV1beta2DeviceRequest.__repr__   s    {{}r   c                 f    t        |t              sy| j                         |j                         k(  S )z&Returns true if both objects are equalFr/   r   r#   r   others     r   __eq__zV1beta2DeviceRequest.__eq__   s'    %!56||~00r   c                 f    t        |t              sy| j                         |j                         k7  S )z*Returns true if both objects are not equalTr?   r@   s     r   __ne__zV1beta2DeviceRequest.__ne__   s'    %!56||~00r   )NNNN)__name__
__module____qualname____doc__r-   attribute_mapr   propertyr   setterr	   r
   r#   r;   r=   rB   rD    r   r   r   r      s     /:M +M"   ^^    % % 	0 	0   
[[ 0.11r   r   )rH   r9   rer+   kubernetes.client.configurationr   objectr   rL   r   r   <module>rP      s&     	 
 9\16 \1r   