o
    ɶd7Y                     @   s8   d dl mZmZmZ d dlmZ eG dd deZdS )    )formatted_flat_dictNONE_SENTINEL#value_allowed_none_or_none_sentinel)init_model_state_from_kwargsc                   @   s>  e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
d Zedd Zejdd Zedd Zejdd Zedd Zejdd Zedd Zejdd Zedd Zejdd Zedd Zejdd Zedd Zejd d Zed!d" Zejd#d" Zed$d% Zejd&d% Zed'd( Zejd)d( Zed*d+ Zejd,d+ Zed-d. Zejd/d. Zed0d1 Zejd2d1 Zed3d4 Zejd5d4 Zed6d7 Zejd8d7 Zed9d: Zejd;d: Zed<d= Zejd>d= Zed?d@ Z e jdAd@ Z edBdC Z!e!jdDdC Z!dEdF Z"dGdH Z#dIdJ Z$dKS )LClusterzH
    A Kubernetes cluster. Avoid entering confidential information.
    CREATINGACTIVEFAILEDDELETINGDELETEDUPDATINGBASIC_CLUSTERENHANCED_CLUSTERc                 K   sb  i ddddddddddddd	dd
dddddddddddddddddddddd| _ i dddddddddddd d	d!d
d"dd#dd$dddddd%dd&dddd'dd(d)d*d| _d+| _d+| _d+| _d+| _d+| _d+| _d+| _d+| _	d+| _
d+| _d+| _d+| _d+| _d+| _d+| _d+| _d+| _d+| _d+| _d+S ),a]  
        Initializes a new Cluster object with values from keyword arguments.
        The following keyword arguments are supported (corresponding to the getters/setters of this class):

        :param id:
            The value to assign to the id property of this Cluster.
        :type id: str

        :param name:
            The value to assign to the name property of this Cluster.
        :type name: str

        :param compartment_id:
            The value to assign to the compartment_id property of this Cluster.
        :type compartment_id: str

        :param endpoint_config:
            The value to assign to the endpoint_config property of this Cluster.
        :type endpoint_config: oci.container_engine.models.ClusterEndpointConfig

        :param vcn_id:
            The value to assign to the vcn_id property of this Cluster.
        :type vcn_id: str

        :param kubernetes_version:
            The value to assign to the kubernetes_version property of this Cluster.
        :type kubernetes_version: str

        :param kms_key_id:
            The value to assign to the kms_key_id property of this Cluster.
        :type kms_key_id: str

        :param freeform_tags:
            The value to assign to the freeform_tags property of this Cluster.
        :type freeform_tags: dict(str, str)

        :param defined_tags:
            The value to assign to the defined_tags property of this Cluster.
        :type defined_tags: dict(str, dict(str, object))

        :param system_tags:
            The value to assign to the system_tags property of this Cluster.
        :type system_tags: dict(str, dict(str, object))

        :param options:
            The value to assign to the options property of this Cluster.
        :type options: oci.container_engine.models.ClusterCreateOptions

        :param metadata:
            The value to assign to the metadata property of this Cluster.
        :type metadata: oci.container_engine.models.ClusterMetadata

        :param lifecycle_state:
            The value to assign to the lifecycle_state property of this Cluster.
            Allowed values for this property are: "CREATING", "ACTIVE", "FAILED", "DELETING", "DELETED", "UPDATING", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type lifecycle_state: str

        :param lifecycle_details:
            The value to assign to the lifecycle_details property of this Cluster.
        :type lifecycle_details: str

        :param endpoints:
            The value to assign to the endpoints property of this Cluster.
        :type endpoints: oci.container_engine.models.ClusterEndpoints

        :param available_kubernetes_upgrades:
            The value to assign to the available_kubernetes_upgrades property of this Cluster.
        :type available_kubernetes_upgrades: list[str]

        :param image_policy_config:
            The value to assign to the image_policy_config property of this Cluster.
        :type image_policy_config: oci.container_engine.models.ImagePolicyConfig

        :param cluster_pod_network_options:
            The value to assign to the cluster_pod_network_options property of this Cluster.
        :type cluster_pod_network_options: list[oci.container_engine.models.ClusterPodNetworkOptionDetails]

        :param type:
            The value to assign to the type property of this Cluster.
            Allowed values for this property are: "BASIC_CLUSTER", "ENHANCED_CLUSTER", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type type: str

        idstrnamecompartment_idendpoint_configZClusterEndpointConfigvcn_idkubernetes_version
kms_key_idfreeform_tagszdict(str, str)defined_tagszdict(str, dict(str, object))system_tagsoptionsZClusterCreateOptionsmetadataZClusterMetadatalifecycle_statelifecycle_details	endpointsZClusterEndpointsavailable_kubernetes_upgradesz	list[str]image_policy_configZImagePolicyConfigz$list[ClusterPodNetworkOptionDetails])cluster_pod_network_optionstypeZcompartmentIdZendpointConfigZvcnIdZkubernetesVersionZkmsKeyIdZfreeformTagsZdefinedTagsZ
systemTagsZlifecycleStateZlifecycleDetailsZavailableKubernetesUpgradesZimagePolicyConfigZclusterPodNetworkOptionsr"   N)Zswagger_typesZattribute_map_id_name_compartment_id_endpoint_config_vcn_id_kubernetes_version_kms_key_id_freeform_tags_defined_tags_system_tags_options	_metadata_lifecycle_state_lifecycle_details
_endpoints_available_kubernetes_upgrades_image_policy_config_cluster_pod_network_options_type)selfkwargs r8   Gusr/lib/python3.10/site-packages/oci/container_engine/models/cluster.py__init__2   s   V	

	


zCluster.__init__c                 C      | j S )z
        Gets the id of this Cluster.
        The OCID of the cluster.


        :return: The id of this Cluster.
        :rtype: str
        r#   r6   r8   r8   r9   r         
z
Cluster.idc                 C   
   || _ dS )z
        Sets the id of this Cluster.
        The OCID of the cluster.


        :param id: The id of this Cluster.
        :type: str
        Nr<   )r6   r   r8   r8   r9   r         

c                 C   r;   )z
        Gets the name of this Cluster.
        The name of the cluster.


        :return: The name of this Cluster.
        :rtype: str
        r$   r=   r8   r8   r9   r      r>   zCluster.namec                 C   r?   )z
        Sets the name of this Cluster.
        The name of the cluster.


        :param name: The name of this Cluster.
        :type: str
        NrA   )r6   r   r8   r8   r9   r      r@   c                 C   r;   )z
        Gets the compartment_id of this Cluster.
        The OCID of the compartment in which the cluster exists.


        :return: The compartment_id of this Cluster.
        :rtype: str
        r%   r=   r8   r8   r9   r      r>   zCluster.compartment_idc                 C   r?   )z
        Sets the compartment_id of this Cluster.
        The OCID of the compartment in which the cluster exists.


        :param compartment_id: The compartment_id of this Cluster.
        :type: str
        NrB   )r6   r   r8   r8   r9   r     r@   c                 C   r;   )a   
        Gets the endpoint_config of this Cluster.
        The network configuration for access to the Cluster control plane.


        :return: The endpoint_config of this Cluster.
        :rtype: oci.container_engine.models.ClusterEndpointConfig
        r&   r=   r8   r8   r9   r     r>   zCluster.endpoint_configc                 C   r?   )a  
        Sets the endpoint_config of this Cluster.
        The network configuration for access to the Cluster control plane.


        :param endpoint_config: The endpoint_config of this Cluster.
        :type: oci.container_engine.models.ClusterEndpointConfig
        NrC   )r6   r   r8   r8   r9   r     r@   c                 C   r;   )z
        Gets the vcn_id of this Cluster.
        The OCID of the virtual cloud network (VCN) in which the cluster exists.


        :return: The vcn_id of this Cluster.
        :rtype: str
        r'   r=   r8   r8   r9   r   (  r>   zCluster.vcn_idc                 C   r?   )z
        Sets the vcn_id of this Cluster.
        The OCID of the virtual cloud network (VCN) in which the cluster exists.


        :param vcn_id: The vcn_id of this Cluster.
        :type: str
        NrD   )r6   r   r8   r8   r9   r   4  r@   c                 C   r;   )z
        Gets the kubernetes_version of this Cluster.
        The version of Kubernetes running on the cluster masters.


        :return: The kubernetes_version of this Cluster.
        :rtype: str
        r(   r=   r8   r8   r9   r   @  r>   zCluster.kubernetes_versionc                 C   r?   )z
        Sets the kubernetes_version of this Cluster.
        The version of Kubernetes running on the cluster masters.


        :param kubernetes_version: The kubernetes_version of this Cluster.
        :type: str
        NrE   )r6   r   r8   r8   r9   r   L  r@   c                 C   r;   )z
        Gets the kms_key_id of this Cluster.
        The OCID of the KMS key to be used as the master encryption key for Kubernetes secret encryption.


        :return: The kms_key_id of this Cluster.
        :rtype: str
        r)   r=   r8   r8   r9   r   X  r>   zCluster.kms_key_idc                 C   r?   )z
        Sets the kms_key_id of this Cluster.
        The OCID of the KMS key to be used as the master encryption key for Kubernetes secret encryption.


        :param kms_key_id: The kms_key_id of this Cluster.
        :type: str
        NrF   )r6   r   r8   r8   r9   r   d  r@   c                 C   r;   )a  
        Gets the freeform_tags of this Cluster.
        Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
        For more information, see `Resource Tags`__.
        Example: `{"Department": "Finance"}`

        __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm


        :return: The freeform_tags of this Cluster.
        :rtype: dict(str, str)
        r*   r=   r8   r8   r9   r   p     zCluster.freeform_tagsc                 C   r?   )a  
        Sets the freeform_tags of this Cluster.
        Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
        For more information, see `Resource Tags`__.
        Example: `{"Department": "Finance"}`

        __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm


        :param freeform_tags: The freeform_tags of this Cluster.
        :type: dict(str, str)
        NrG   )r6   r   r8   r8   r9   r        
c                 C   r;   )a  
        Gets the defined_tags of this Cluster.
        Defined tags for this resource. Each key is predefined and scoped to a namespace.
        For more information, see `Resource Tags`__.
        Example: `{"Operations": {"CostCenter": "42"}}`

        __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm


        :return: The defined_tags of this Cluster.
        :rtype: dict(str, dict(str, object))
        r+   r=   r8   r8   r9   r     rH   zCluster.defined_tagsc                 C   r?   )a  
        Sets the defined_tags of this Cluster.
        Defined tags for this resource. Each key is predefined and scoped to a namespace.
        For more information, see `Resource Tags`__.
        Example: `{"Operations": {"CostCenter": "42"}}`

        __ https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm


        :param defined_tags: The defined_tags of this Cluster.
        :type: dict(str, dict(str, object))
        NrJ   )r6   r   r8   r8   r9   r     rI   c                 C   r;   )a,  
        Gets the system_tags of this Cluster.
        Usage of system tag keys. These predefined keys are scoped to namespaces.
        Example: `{"orcl-cloud": {"free-tier-retained": "true"}}`


        :return: The system_tags of this Cluster.
        :rtype: dict(str, dict(str, object))
        r,   r=   r8   r8   r9   r     s   zCluster.system_tagsc                 C   r?   )a6  
        Sets the system_tags of this Cluster.
        Usage of system tag keys. These predefined keys are scoped to namespaces.
        Example: `{"orcl-cloud": {"free-tier-retained": "true"}}`


        :param system_tags: The system_tags of this Cluster.
        :type: dict(str, dict(str, object))
        NrK   )r6   r   r8   r8   r9   r     s   
c                 C   r;   )z
        Gets the options of this Cluster.
        Optional attributes for the cluster.


        :return: The options of this Cluster.
        :rtype: oci.container_engine.models.ClusterCreateOptions
        r-   r=   r8   r8   r9   r     r>   zCluster.optionsc                 C   r?   )z
        Sets the options of this Cluster.
        Optional attributes for the cluster.


        :param options: The options of this Cluster.
        :type: oci.container_engine.models.ClusterCreateOptions
        NrL   )r6   r   r8   r8   r9   r     r@   c                 C   r;   )z
        Gets the metadata of this Cluster.
        Metadata about the cluster.


        :return: The metadata of this Cluster.
        :rtype: oci.container_engine.models.ClusterMetadata
        r.   r=   r8   r8   r9   r     r>   zCluster.metadatac                 C   r?   )z
        Sets the metadata of this Cluster.
        Metadata about the cluster.


        :param metadata: The metadata of this Cluster.
        :type: oci.container_engine.models.ClusterMetadata
        NrM   )r6   r   r8   r8   r9   r     r@   c                 C   r;   )a  
        Gets the lifecycle_state of this Cluster.
        The state of the cluster masters.

        Allowed values for this property are: "CREATING", "ACTIVE", "FAILED", "DELETING", "DELETED", "UPDATING", 'UNKNOWN_ENUM_VALUE'.
        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


        :return: The lifecycle_state of this Cluster.
        :rtype: str
        )r/   r=   r8   r8   r9   r        zCluster.lifecycle_statec                 C   s    g d}t ||sd}|| _dS )z
        Sets the lifecycle_state of this Cluster.
        The state of the cluster masters.


        :param lifecycle_state: The lifecycle_state of this Cluster.
        :type: str
        )r   r   r	   r
   r   r   UNKNOWN_ENUM_VALUEN)r   r/   )r6   r   allowed_valuesr8   r8   r9   r   	     


c                 C   r;   )z
        Gets the lifecycle_details of this Cluster.
        Details about the state of the cluster masters.


        :return: The lifecycle_details of this Cluster.
        :rtype: str
        r0   r=   r8   r8   r9   r     r>   zCluster.lifecycle_detailsc                 C   r?   )z
        Sets the lifecycle_details of this Cluster.
        Details about the state of the cluster masters.


        :param lifecycle_details: The lifecycle_details of this Cluster.
        :type: str
        NrR   )r6   r   r8   r8   r9   r   $  r@   c                 C   r;   )z
        Gets the endpoints of this Cluster.
        Endpoints served up by the cluster masters.


        :return: The endpoints of this Cluster.
        :rtype: oci.container_engine.models.ClusterEndpoints
        r1   r=   r8   r8   r9   r   0  r>   zCluster.endpointsc                 C   r?   )z
        Sets the endpoints of this Cluster.
        Endpoints served up by the cluster masters.


        :param endpoints: The endpoints of this Cluster.
        :type: oci.container_engine.models.ClusterEndpoints
        NrS   )r6   r   r8   r8   r9   r   <  r@   c                 C   r;   )z
        Gets the available_kubernetes_upgrades of this Cluster.
        Available Kubernetes versions to which the clusters masters may be upgraded.


        :return: The available_kubernetes_upgrades of this Cluster.
        :rtype: list[str]
        r2   r=   r8   r8   r9   r   H  r>   z%Cluster.available_kubernetes_upgradesc                 C   r?   )a  
        Sets the available_kubernetes_upgrades of this Cluster.
        Available Kubernetes versions to which the clusters masters may be upgraded.


        :param available_kubernetes_upgrades: The available_kubernetes_upgrades of this Cluster.
        :type: list[str]
        NrT   )r6   r   r8   r8   r9   r   T  r@   c                 C   r;   )z
        Gets the image_policy_config of this Cluster.
        The image verification policy for signature validation.


        :return: The image_policy_config of this Cluster.
        :rtype: oci.container_engine.models.ImagePolicyConfig
        r3   r=   r8   r8   r9   r    `  r>   zCluster.image_policy_configc                 C   r?   )a  
        Sets the image_policy_config of this Cluster.
        The image verification policy for signature validation.


        :param image_policy_config: The image_policy_config of this Cluster.
        :type: oci.container_engine.models.ImagePolicyConfig
        NrU   )r6   r    r8   r8   r9   r    l  r@   c                 C   r;   )a6  
        Gets the cluster_pod_network_options of this Cluster.
        Available CNIs and network options for existing and new node pools of the cluster


        :return: The cluster_pod_network_options of this Cluster.
        :rtype: list[oci.container_engine.models.ClusterPodNetworkOptionDetails]
        r4   r=   r8   r8   r9   r!   x  r>   z#Cluster.cluster_pod_network_optionsc                 C   r?   )aP  
        Sets the cluster_pod_network_options of this Cluster.
        Available CNIs and network options for existing and new node pools of the cluster


        :param cluster_pod_network_options: The cluster_pod_network_options of this Cluster.
        :type: list[oci.container_engine.models.ClusterPodNetworkOptionDetails]
        NrV   )r6   r!   r8   r8   r9   r!     r@   c                 C   r;   )aQ  
        Gets the type of this Cluster.
        Type of cluster

        Allowed values for this property are: "BASIC_CLUSTER", "ENHANCED_CLUSTER", 'UNKNOWN_ENUM_VALUE'.
        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


        :return: The type of this Cluster.
        :rtype: str
        )r5   r=   r8   r8   r9   r"     rN   zCluster.typec                 C   s    ddg}t ||sd}|| _dS )z
        Sets the type of this Cluster.
        Type of cluster


        :param type: The type of this Cluster.
        :type: str
        r   r   rO   N)r   r5   )r6   r"   rP   r8   r8   r9   r"     rQ   c                 C   s   t | S N)r   r=   r8   r8   r9   __repr__  s   zCluster.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__r6   otherr8   r8   r9   __eq__  s   zCluster.__eq__c                 C   s
   | |k S rW   r8   rZ   r8   r8   r9   __ne__  s   
zCluster.__ne__N)%__name__
__module____qualname____doc__ZLIFECYCLE_STATE_CREATINGZLIFECYCLE_STATE_ACTIVEZLIFECYCLE_STATE_FAILEDZLIFECYCLE_STATE_DELETINGZLIFECYCLE_STATE_DELETEDZLIFECYCLE_STATE_UPDATINGZTYPE_BASIC_CLUSTERZTYPE_ENHANCED_CLUSTERr:   propertyr   setterr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   rX   r\   r]   r8   r8   r8   r9   r      s     





































r   N)Zoci.utilr   r   r   Zoci.decoratorsr   objectr   r8   r8   r8   r9   <module>   s   