
    <4                     >    d Z ddlmZ ddlmZ ddlZ G d de      Zy)z
    Kubernetes

    No description provided (generated by Swagger Codegen
    https://github.com/swagger-api/swagger-codegen)

    OpenAPI spec version: v1.14.4

    Generated by: https://github.com/swagger-api/swagger-codegen.git
    )pformat)	iteritemsNc                      e Zd ZdZ	 ddddddddddd
Zd	d
ddd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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)/V1StorageClasszw
    NOTE: This class is auto generated by the swagger code generator program.
    Do not edit the class manually.
    boolzlist[V1TopologySelectorTerm]strV1ObjectMetaz	list[str]zdict(str, str))
allow_volume_expansionallowed_topologiesapi_versionkindmetadatamount_options
parametersprovisionerreclaim_policyvolume_binding_modeallowVolumeExpansionallowedTopologies
apiVersionr   r   mountOptionsr   r   reclaimPolicyvolumeBindingModeNc                 P   d| _         d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _	        d| _
        ||| _        ||| _        ||| _        ||| _        ||| _        ||| _        ||| _        || _        |	|	| _        |
|
| _        yy)z=
        V1StorageClass - a model defined in Swagger
        N)_allow_volume_expansion_allowed_topologies_api_version_kind	_metadata_mount_options_parameters_provisioner_reclaim_policy_volume_binding_modediscriminatorr
   r   r   r   r   r   r   r   r   r   )selfr
   r   r   r   r   r   r   r   r   r   s              <lib/third_party/kubernetes/client/models/v1_storage_class.py__init__zV1StorageClass.__init__8   s     $(D #DDDJDNDDDD $DD)$:d!% 2d$ddidm (d"do"D!*d&!4d '    c                     | j                   S )z
        Gets the allow_volume_expansion of this V1StorageClass.
        AllowVolumeExpansion shows whether the storage class allow volume expand

        :return: The allow_volume_expansion of this V1StorageClass.
        :rtype: bool
        r   r&   s    r'   r
   z%V1StorageClass.allow_volume_expansiong   s     '''r)   c                     || _         y)a  
        Sets the allow_volume_expansion of this V1StorageClass.
        AllowVolumeExpansion shows whether the storage class allow volume expand

        :param allow_volume_expansion: The allow_volume_expansion of this
        V1StorageClass.
        :type: bool
        Nr+   )r&   r
   s     r'   r
   z%V1StorageClass.allow_volume_expansionr   s     $:D r)   c                     | j                   S )a  
        Gets the allowed_topologies of this V1StorageClass.
        Restrict the node topologies where volumes can be dynamically
        provisioned. Each volume plugin defines its own supported topology
        specifications. An empty TopologySelectorTerm list means there is no
        topology restriction. This field is only honored by servers that enable
        the VolumeScheduling feature.

        :return: The allowed_topologies of this V1StorageClass.
        :rtype: list[V1TopologySelectorTerm]
        r   r,   s    r'   r   z!V1StorageClass.allowed_topologies   s     ###r)   c                     || _         y)a   
        Sets the allowed_topologies of this V1StorageClass.
        Restrict the node topologies where volumes can be dynamically
        provisioned. Each volume plugin defines its own supported topology
        specifications. An empty TopologySelectorTerm list means there is no
        topology restriction. This field is only honored by servers that enable
        the VolumeScheduling feature.

        :param allowed_topologies: The allowed_topologies of this
        V1StorageClass.
        :type: list[V1TopologySelectorTerm]
        Nr/   )r&   r   s     r'   r   z!V1StorageClass.allowed_topologies   s      2Dr)   c                     | j                   S )a  
        Gets the api_version of this V1StorageClass.
        APIVersion defines the versioned schema of this representation of an
        object. Servers should convert recognized schemas to the latest internal
        value, and may reject unrecognized values. More info:
        https://git.k8s.io/community/contributors/devel/api-conventions.md#resources

        :return: The api_version of this V1StorageClass.
        :rtype: str
        r   r,   s    r'   r   zV1StorageClass.api_version   s     r)   c                     || _         y)a  
        Sets the api_version of this V1StorageClass.
        APIVersion defines the versioned schema of this representation of an
        object. Servers should convert recognized schemas to the latest internal
        value, and may reject unrecognized values. More info:
        https://git.k8s.io/community/contributors/devel/api-conventions.md#resources

        :param api_version: The api_version of this V1StorageClass.
        :type: str
        Nr2   )r&   r   s     r'   r   zV1StorageClass.api_version   s     $Dr)   c                     | j                   S )a  
        Gets the kind of this V1StorageClass.
        Kind is a string value representing the REST resource this object
        represents. Servers may infer this from the endpoint the client submits
        requests to. Cannot be updated. In CamelCase. More info:
        https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds

        :return: The kind of this V1StorageClass.
        :rtype: str
        r   r,   s    r'   r   zV1StorageClass.kind   s     ::r)   c                     || _         y)a  
        Sets the kind of this V1StorageClass.
        Kind is a string value representing the REST resource this object
        represents. Servers may infer this from the endpoint the client submits
        requests to. Cannot be updated. In CamelCase. More info:
        https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds

        :param kind: The kind of this V1StorageClass.
        :type: str
        Nr5   )r&   r   s     r'   r   zV1StorageClass.kind   s     DJr)   c                     | j                   S )a  
        Gets the metadata of this V1StorageClass.
        Standard object's metadata. More info:
        https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata

        :return: The metadata of this V1StorageClass.
        :rtype: V1ObjectMeta
        r   r,   s    r'   r   zV1StorageClass.metadata   s     >>r)   c                     || _         y)a  
        Sets the metadata of this V1StorageClass.
        Standard object's metadata. More info:
        https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata

        :param metadata: The metadata of this V1StorageClass.
        :type: V1ObjectMeta
        Nr8   )r&   r   s     r'   r   zV1StorageClass.metadata   s     DNr)   c                     | j                   S )am  
        Gets the mount_options of this V1StorageClass.
        Dynamically provisioned PersistentVolumes of this storage class are
        created with these mountOptions, e.g. ["ro", "soft"]. Not validated
        - mount of the PVs will simply fail if one is invalid.

        :return: The mount_options of this V1StorageClass.
        :rtype: list[str]
        r    r,   s    r'   r   zV1StorageClass.mount_options   s     r)   c                     || _         y)ay  
        Sets the mount_options of this V1StorageClass.
        Dynamically provisioned PersistentVolumes of this storage class are
        created with these mountOptions, e.g. ["ro", "soft"]. Not validated
        - mount of the PVs will simply fail if one is invalid.

        :param mount_options: The mount_options of this V1StorageClass.
        :type: list[str]
        Nr;   )r&   r   s     r'   r   zV1StorageClass.mount_options   s     (Dr)   c                     | j                   S )a  
        Gets the parameters of this V1StorageClass.
        Parameters holds the parameters for the provisioner that should create
        volumes of this storage class.

        :return: The parameters of this V1StorageClass.
        :rtype: dict(str, str)
        r!   r,   s    r'   r   zV1StorageClass.parameters  s     r)   c                     || _         y)a  
        Sets the parameters of this V1StorageClass.
        Parameters holds the parameters for the provisioner that should create
        volumes of this storage class.

        :param parameters: The parameters of this V1StorageClass.
        :type: dict(str, str)
        Nr>   )r&   r   s     r'   r   zV1StorageClass.parameters  s     "Dr)   c                     | j                   S )z
        Gets the provisioner of this V1StorageClass.
        Provisioner indicates the type of the provisioner.

        :return: The provisioner of this V1StorageClass.
        :rtype: str
        )r"   r,   s    r'   r   zV1StorageClass.provisioner&  s     r)   c                 ,    |t        d      || _        y)z
        Sets the provisioner of this V1StorageClass.
        Provisioner indicates the type of the provisioner.

        :param provisioner: The provisioner of this V1StorageClass.
        :type: str
        Nz3Invalid value for `provisioner`, must not be `None`)
ValueErrorr"   )r&   r   s     r'   r   zV1StorageClass.provisioner1  s     LMM#Dr)   c                     | j                   S )a  
        Gets the reclaim_policy of this V1StorageClass.
        Dynamically provisioned PersistentVolumes of this storage class are
        created with this reclaimPolicy. Defaults to Delete.

        :return: The reclaim_policy of this V1StorageClass.
        :rtype: str
        r#   r,   s    r'   r   zV1StorageClass.reclaim_policy?  s     r)   c                     || _         y)a(  
        Sets the reclaim_policy of this V1StorageClass.
        Dynamically provisioned PersistentVolumes of this storage class are
        created with this reclaimPolicy. Defaults to Delete.

        :param reclaim_policy: The reclaim_policy of this V1StorageClass.
        :type: str
        NrD   )r&   r   s     r'   r   zV1StorageClass.reclaim_policyK  s     *Dr)   c                     | j                   S )a  
        Gets the volume_binding_mode of this V1StorageClass.
        VolumeBindingMode indicates how PersistentVolumeClaims should be
        provisioned and bound.  When unset, VolumeBindingImmediate is used. This
        field is only honored by servers that enable the VolumeScheduling
        feature.

        :return: The volume_binding_mode of this V1StorageClass.
        :rtype: str
        r$   r,   s    r'   r   z"V1StorageClass.volume_binding_modeX  s     $$$r)   c                     || _         y)a  
        Sets the volume_binding_mode of this V1StorageClass.
        VolumeBindingMode indicates how PersistentVolumeClaims should be
        provisioned and bound.  When unset, VolumeBindingImmediate is used. This
        field is only honored by servers that enable the VolumeScheduling
        feature.

        :param volume_binding_mode: The volume_binding_mode of this
        V1StorageClass.
        :type: str
        NrG   )r&   r   s     r'   r   z"V1StorageClass.volume_binding_modef  s     !4Dr)   c                 j   i }t        | j                        D ]  \  }}t        | |      }t        |t              rt	        t        d |            ||<   <t        |d      r|j                         ||<   \t        |t              r(t        t        d |j                                     ||<   |||<    |S )z8
        Returns the model properties as a dict
        c                 >    t        | d      r| j                         S | S )Nto_dicthasattrrK   )xs    r'   <lambda>z(V1StorageClass.to_dict.<locals>.<lambda>  s    I)>!))+EAEr)   rK   c                 T    t        | d   d      r| d   | d   j                         fS | S )N   rK   r   rL   )items    r'   rO   z(V1StorageClass.to_dict.<locals>.<lambda>  s6    47I. #1gtAw'89 9489r)   )
r   swagger_typesgetattr
isinstancelistmaprM   rK   dictitems)r&   resultattr_values        r'   rK   zV1StorageClass.to_dictv  s     FT//0adD!e	E4	 EuMOt5)$}}teT"9:?++-IJt
 t 1 Mr)   c                 4    t        | j                               S )z@
        Returns the string representation of the model
        )r   rK   r,   s    r'   to_strzV1StorageClass.to_str  s     4<<>""r)   c                 "    | j                         S )z*
        For `print` and `pprint`
        )r_   r,   s    r'   __repr__zV1StorageClass.__repr__  s     ;;=r)   c                 V    t        |t              sy| j                  |j                  k(  S )z8
        Returns true if both objects are equal
        F)rU   r   __dict__r&   others     r'   __eq__zV1StorageClass.__eq__  s$     e^,==ENN**r)   c                     | |k(   S )z<
        Returns true if both objects are not equal
         rd   s     r'   __ne__zV1StorageClass.__ne__  s     u}r)   )
NNNNNNNNNN)__name__
__module____qualname____doc__rS   attribute_mapr(   propertyr
   setterr   r   r   r   r   r   r   r   r   rK   r_   ra   rf   ri   rh   r)   r'   r   r      sa    !': "$"- !7/!% "'0- '+"&!"#'-5^ ( (   
: !
: $ $ 2 2    $ $   ;;  	 	 ??
 
 
 
 ( ( 	 	 
" 
"   $ $ 	  	  
* 
* % % 4 4.#+r)   r   )rm   pprintr   sixr   reobjectr   rh   r)   r'   <module>ru      s#   	   	TV Tr)   