o
    ɶd\                     @   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
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d0d/ Z!ed1d2 Z"e"jd3d2 Z"ed4d5 Z#e#jd6d5 Z#ed7d8 Z$e$jd9d8 Z$ed:d; Z%e%jd<d; Z%ed=d> Z&e&jd?d> Z&ed@dA Z'e'jdBdA Z'edCdD Z(e(jdEdD Z(edFdG Z)e)jdHdG Z)edIdJ Z*e*jdKdJ Z*edLdM Z+e+jdNdM Z+edOdP Z,e,jdQdP Z,dRdS Z-dTdU Z.dVdW Z/dXS )YNodez
    Details about a node.
    CREATINGACTIVEINACTIVEUPDATINGDELETINGDELETEDFAILEDSTOPPEDSTOPPINGSTARTINGMASTEREDGEUTILITYWORKERCOMPUTE_ONLY_WORKERKAFKA_BROKERBURSTING	CLOUD_SQLc                 K   sl  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| _ 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)| _d)| _d)S )*a  
        Initializes a new Node object with values from keyword arguments.
        The following keyword arguments are supported (corresponding to the getters/setters of this class):

        :param instance_id:
            The value to assign to the instance_id property of this Node.
        :type instance_id: str

        :param display_name:
            The value to assign to the display_name property of this Node.
        :type display_name: str

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

        :param node_type:
            The value to assign to the node_type property of this Node.
            Allowed values for this property are: "MASTER", "EDGE", "UTILITY", "WORKER", "COMPUTE_ONLY_WORKER", "KAFKA_BROKER", "BURSTING", "CLOUD_SQL", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type node_type: str

        :param shape:
            The value to assign to the shape property of this Node.
        :type shape: str

        :param attached_block_volumes:
            The value to assign to the attached_block_volumes property of this Node.
        :type attached_block_volumes: list[oci.bds.models.VolumeAttachmentDetail]

        :param subnet_id:
            The value to assign to the subnet_id property of this Node.
        :type subnet_id: str

        :param ip_address:
            The value to assign to the ip_address property of this Node.
        :type ip_address: str

        :param hostname:
            The value to assign to the hostname property of this Node.
        :type hostname: str

        :param image_id:
            The value to assign to the image_id property of this Node.
        :type image_id: str

        :param ssh_fingerprint:
            The value to assign to the ssh_fingerprint property of this Node.
        :type ssh_fingerprint: str

        :param availability_domain:
            The value to assign to the availability_domain property of this Node.
        :type availability_domain: str

        :param fault_domain:
            The value to assign to the fault_domain property of this Node.
        :type fault_domain: str

        :param time_created:
            The value to assign to the time_created property of this Node.
        :type time_created: datetime

        :param time_updated:
            The value to assign to the time_updated property of this Node.
        :type time_updated: datetime

        :param ocpus:
            The value to assign to the ocpus property of this Node.
        :type ocpus: int

        :param memory_in_gbs:
            The value to assign to the memory_in_gbs property of this Node.
        :type memory_in_gbs: int

        :param nvmes:
            The value to assign to the nvmes property of this Node.
        :type nvmes: int

        :param local_disks_total_size_in_gbs:
            The value to assign to the local_disks_total_size_in_gbs property of this Node.
        :type local_disks_total_size_in_gbs: float

        :param time_maintenance_reboot_due:
            The value to assign to the time_maintenance_reboot_due property of this Node.
        :type time_maintenance_reboot_due: datetime

        instance_idstrdisplay_namelifecycle_state	node_typeshapeattached_block_volumeszlist[VolumeAttachmentDetail]	subnet_id
ip_addresshostnameimage_idssh_fingerprintavailability_domainfault_domaintime_createddatetimetime_updatedocpusintmemory_in_gbsfloat)nvmeslocal_disks_total_size_in_gbstime_maintenance_reboot_dueZ
instanceIdZdisplayNameZlifecycleStateZnodeTypeZattachedBlockVolumesZsubnetIdZ	ipAddressZimageIdZsshFingerprintZavailabilityDomainZfaultDomainZtimeCreatedZtimeUpdatedZmemoryInGBsr.   ZlocalDisksTotalSizeInGBsZtimeMaintenanceRebootDueN)Zswagger_typesZattribute_map_instance_id_display_name_lifecycle_state
_node_type_shape_attached_block_volumes
_subnet_id_ip_address	_hostname	_image_id_ssh_fingerprint_availability_domain_fault_domain_time_created_time_updated_ocpus_memory_in_gbs_nvmes_local_disks_total_size_in_gbs_time_maintenance_reboot_due)selfkwargs rG   7usr/lib/python3.10/site-packages/oci/bds/models/node.py__init__Z   s   Z	

	


zNode.__init__c                 C      | j S )z
        **[Required]** Gets the instance_id of this Node.
        The OCID of the underlying Oracle Cloud Infrastructure Compute instance.


        :return: The instance_id of this Node.
        :rtype: str
        r1   rE   rG   rG   rH   r         
zNode.instance_idc                 C   
   || _ dS )z
        Sets the instance_id of this Node.
        The OCID of the underlying Oracle Cloud Infrastructure Compute instance.


        :param instance_id: The instance_id of this Node.
        :type: str
        NrK   )rE   r   rG   rG   rH   r        

c                 C   rJ   )z
        **[Required]** Gets the display_name of this Node.
        The name of the node.


        :return: The display_name of this Node.
        :rtype: str
        r2   rL   rG   rG   rH   r     rM   zNode.display_namec                 C   rN   )z
        Sets the display_name of this Node.
        The name of the node.


        :param display_name: The display_name of this Node.
        :type: str
        NrP   )rE   r   rG   rG   rH   r     rO   c                 C   rJ   )a  
        **[Required]** Gets the lifecycle_state of this Node.
        The state of the node.

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


        :return: The lifecycle_state of this Node.
        :rtype: str
        )r3   rL   rG   rG   rH   r   '     zNode.lifecycle_statec                 C       g d}t ||sd}|| _dS )z
        Sets the lifecycle_state of this Node.
        The state of the node.


        :param lifecycle_state: The lifecycle_state of this Node.
        :type: str
        )
r   r   r	   r
   r   r   r   r   r   r   UNKNOWN_ENUM_VALUEN)r   r3   )rE   r   allowed_valuesrG   rG   rH   r   6     


c                 C   rJ   )a  
        **[Required]** Gets the node_type of this Node.
        Cluster node type.

        Allowed values for this property are: "MASTER", "EDGE", "UTILITY", "WORKER", "COMPUTE_ONLY_WORKER", "KAFKA_BROKER", "BURSTING", "CLOUD_SQL", 'UNKNOWN_ENUM_VALUE'.
        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


        :return: The node_type of this Node.
        :rtype: str
        )r4   rL   rG   rG   rH   r   E  rQ   zNode.node_typec                 C   rR   )z
        Sets the node_type of this Node.
        Cluster node type.


        :param node_type: The node_type of this Node.
        :type: str
        )r   r   r   r   r   r   r   r   rS   N)r   r4   )rE   r   rT   rG   rG   rH   r   T  rU   c                 C   rJ   )z
        **[Required]** Gets the shape of this Node.
        Shape of the node.


        :return: The shape of this Node.
        :rtype: str
        r5   rL   rG   rG   rH   r   c  rM   z
Node.shapec                 C   rN   )z
        Sets the shape of this Node.
        Shape of the node.


        :param shape: The shape of this Node.
        :type: str
        NrV   )rE   r   rG   rG   rH   r   o  rO   c                 C   rJ   )z
        Gets the attached_block_volumes of this Node.
        The list of block volumes attached to a given node.


        :return: The attached_block_volumes of this Node.
        :rtype: list[oci.bds.models.VolumeAttachmentDetail]
        r6   rL   rG   rG   rH   r   {  rM   zNode.attached_block_volumesc                 C   rN   )a  
        Sets the attached_block_volumes of this Node.
        The list of block volumes attached to a given node.


        :param attached_block_volumes: The attached_block_volumes of this Node.
        :type: list[oci.bds.models.VolumeAttachmentDetail]
        NrW   )rE   r   rG   rG   rH   r     rO   c                 C   rJ   )z
        **[Required]** Gets the subnet_id of this Node.
        The OCID of the subnet in which the node is to be created.


        :return: The subnet_id of this Node.
        :rtype: str
        r7   rL   rG   rG   rH   r      rM   zNode.subnet_idc                 C   rN   )z
        Sets the subnet_id of this Node.
        The OCID of the subnet in which the node is to be created.


        :param subnet_id: The subnet_id of this Node.
        :type: str
        NrX   )rE   r    rG   rG   rH   r      rO   c                 C   rJ   )z
        **[Required]** Gets the ip_address of this Node.
        IP address of the node.


        :return: The ip_address of this Node.
        :rtype: str
        r8   rL   rG   rG   rH   r!     rM   zNode.ip_addressc                 C   rN   )z
        Sets the ip_address of this Node.
        IP address of the node.


        :param ip_address: The ip_address of this Node.
        :type: str
        NrY   )rE   r!   rG   rG   rH   r!     rO   c                 C   rJ   )z
        Gets the hostname of this Node.
        The fully-qualified hostname (FQDN) of the node.


        :return: The hostname of this Node.
        :rtype: str
        r9   rL   rG   rG   rH   r"     rM   zNode.hostnamec                 C   rN   )z
        Sets the hostname of this Node.
        The fully-qualified hostname (FQDN) of the node.


        :param hostname: The hostname of this Node.
        :type: str
        NrZ   )rE   r"   rG   rG   rH   r"     rO   c                 C   rJ   )z
        Gets the image_id of this Node.
        The OCID of the image from which the node was created.


        :return: The image_id of this Node.
        :rtype: str
        r:   rL   rG   rG   rH   r#     rM   zNode.image_idc                 C   rN   )z
        Sets the image_id of this Node.
        The OCID of the image from which the node was created.


        :param image_id: The image_id of this Node.
        :type: str
        Nr[   )rE   r#   rG   rG   rH   r#     rO   c                 C   rJ   )z
        **[Required]** Gets the ssh_fingerprint of this Node.
        The fingerprint of the SSH key used for node access.


        :return: The ssh_fingerprint of this Node.
        :rtype: str
        r;   rL   rG   rG   rH   r$     rM   zNode.ssh_fingerprintc                 C   rN   )z
        Sets the ssh_fingerprint of this Node.
        The fingerprint of the SSH key used for node access.


        :param ssh_fingerprint: The ssh_fingerprint of this Node.
        :type: str
        Nr\   )rE   r$   rG   rG   rH   r$     rO   c                 C   rJ   )z
        **[Required]** Gets the availability_domain of this Node.
        The name of the availability domain in which the node is running.


        :return: The availability_domain of this Node.
        :rtype: str
        r<   rL   rG   rG   rH   r%     rM   zNode.availability_domainc                 C   rN   )z
        Sets the availability_domain of this Node.
        The name of the availability domain in which the node is running.


        :param availability_domain: The availability_domain of this Node.
        :type: str
        Nr]   )rE   r%   rG   rG   rH   r%     rO   c                 C   rJ   )z
        **[Required]** Gets the fault_domain of this Node.
        The name of the fault domain in which the node is running.


        :return: The fault_domain of this Node.
        :rtype: str
        r=   rL   rG   rG   rH   r&   #  rM   zNode.fault_domainc                 C   rN   )z
        Sets the fault_domain of this Node.
        The name of the fault domain in which the node is running.


        :param fault_domain: The fault_domain of this Node.
        :type: str
        Nr^   )rE   r&   rG   rG   rH   r&   /  rO   c                 C   rJ   )z
        **[Required]** Gets the time_created of this Node.
        The time the node was created, shown as an RFC 3339 formatted datetime string.


        :return: The time_created of this Node.
        :rtype: datetime
        r>   rL   rG   rG   rH   r'   ;  rM   zNode.time_createdc                 C   rN   )z
        Sets the time_created of this Node.
        The time the node was created, shown as an RFC 3339 formatted datetime string.


        :param time_created: The time_created of this Node.
        :type: datetime
        Nr_   )rE   r'   rG   rG   rH   r'   G  rO   c                 C   rJ   )z
        Gets the time_updated of this Node.
        The time the cluster was updated, shown as an RFC 3339 formatted datetime string.


        :return: The time_updated of this Node.
        :rtype: datetime
        r?   rL   rG   rG   rH   r)   S  rM   zNode.time_updatedc                 C   rN   )z
        Sets the time_updated of this Node.
        The time the cluster was updated, shown as an RFC 3339 formatted datetime string.


        :param time_updated: The time_updated of this Node.
        :type: datetime
        Nr`   )rE   r)   rG   rG   rH   r)   _  rO   c                 C   rJ   )z
        Gets the ocpus of this Node.
        The total number of OCPUs available to the node.


        :return: The ocpus of this Node.
        :rtype: int
        r@   rL   rG   rG   rH   r*   k  rM   z
Node.ocpusc                 C   rN   )z
        Sets the ocpus of this Node.
        The total number of OCPUs available to the node.


        :param ocpus: The ocpus of this Node.
        :type: int
        Nra   )rE   r*   rG   rG   rH   r*   w  rO   c                 C   rJ   )z
        Gets the memory_in_gbs of this Node.
        The total amount of memory available to the node, in gigabytes.


        :return: The memory_in_gbs of this Node.
        :rtype: int
        rA   rL   rG   rG   rH   r,     rM   zNode.memory_in_gbsc                 C   rN   )z
        Sets the memory_in_gbs of this Node.
        The total amount of memory available to the node, in gigabytes.


        :param memory_in_gbs: The memory_in_gbs of this Node.
        :type: int
        Nrb   )rE   r,   rG   rG   rH   r,     rO   c                 C   rJ   )z
        Gets the nvmes of this Node.
        The number of NVMe drives to be used for storage. A single drive has 6.8 TB available.


        :return: The nvmes of this Node.
        :rtype: int
        rB   rL   rG   rG   rH   r.     rM   z
Node.nvmesc                 C   rN   )z
        Sets the nvmes of this Node.
        The number of NVMe drives to be used for storage. A single drive has 6.8 TB available.


        :param nvmes: The nvmes of this Node.
        :type: int
        Nrc   )rE   r.   rG   rG   rH   r.     rO   c                 C   rJ   )a  
        Gets the local_disks_total_size_in_gbs of this Node.
        The aggregate size of all local disks, in gigabytes. If the instance does not have any local disks, this field is null.


        :return: The local_disks_total_size_in_gbs of this Node.
        :rtype: float
        rC   rL   rG   rG   rH   r/     rM   z"Node.local_disks_total_size_in_gbsc                 C   rN   )a;  
        Sets the local_disks_total_size_in_gbs of this Node.
        The aggregate size of all local disks, in gigabytes. If the instance does not have any local disks, this field is null.


        :param local_disks_total_size_in_gbs: The local_disks_total_size_in_gbs of this Node.
        :type: float
        Nrd   )rE   r/   rG   rG   rH   r/     rO   c                 C   rJ   )a  
        Gets the time_maintenance_reboot_due of this Node.
        The date and time the instance is expected to be stopped / started, in the format defined by RFC3339.


        :return: The time_maintenance_reboot_due of this Node.
        :rtype: datetime
        rD   rL   rG   rG   rH   r0     rM   z Node.time_maintenance_reboot_duec                 C   rN   )a&  
        Sets the time_maintenance_reboot_due of this Node.
        The date and time the instance is expected to be stopped / started, in the format defined by RFC3339.


        :param time_maintenance_reboot_due: The time_maintenance_reboot_due of this Node.
        :type: datetime
        Nre   )rE   r0   rG   rG   rH   r0     rO   c                 C   s   t | S N)r   rL   rG   rG   rH   __repr__  s   zNode.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__rE   otherrG   rG   rH   __eq__  s   zNode.__eq__c                 C   s
   | |k S rf   rG   ri   rG   rG   rH   __ne__  s   
zNode.__ne__N)0__name__
__module____qualname____doc__ZLIFECYCLE_STATE_CREATINGZLIFECYCLE_STATE_ACTIVEZLIFECYCLE_STATE_INACTIVEZLIFECYCLE_STATE_UPDATINGZLIFECYCLE_STATE_DELETINGZLIFECYCLE_STATE_DELETEDZLIFECYCLE_STATE_FAILEDZLIFECYCLE_STATE_STOPPEDZLIFECYCLE_STATE_STOPPINGZLIFECYCLE_STATE_STARTINGZNODE_TYPE_MASTERZNODE_TYPE_EDGEZNODE_TYPE_UTILITYZNODE_TYPE_WORKERZNODE_TYPE_COMPUTE_ONLY_WORKERZNODE_TYPE_KAFKA_BROKERZNODE_TYPE_BURSTINGZNODE_TYPE_CLOUD_SQLrI   propertyr   setterr   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r)   r*   r,   r.   r/   r0   rg   rk   rl   rG   rG   rG   rH   r      s     







































r   N)Zoci.utilr   r   r   Zoci.decoratorsr   objectr   rG   rG   rG   rH   <module>   s   