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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d(d)„ ƒZejd*d)„ ƒZd+d,„ Zd-d.„ Zd/d0„ Zd1S )2ÚShapeSummaryz.
    A shape of a node on a Rover device.
    c                 K   s–   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 ShapeSummary object with values from keyword arguments.
        The following keyword arguments are supported (corresponding to the getters/setters of this class):

        :param gpu_description:
            The value to assign to the gpu_description property of this ShapeSummary.
        :type gpu_description: str

        :param gpus:
            The value to assign to the gpus property of this ShapeSummary.
        :type gpus: int

        :param memory_in_gbs:
            The value to assign to the memory_in_gbs property of this ShapeSummary.
        :type memory_in_gbs: float

        :param networking_bandwidth_in_gbps:
            The value to assign to the networking_bandwidth_in_gbps property of this ShapeSummary.
        :type networking_bandwidth_in_gbps: float

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

        :param processor_description:
            The value to assign to the processor_description property of this ShapeSummary.
        :type processor_description: str

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

        :param usb_controller_description:
            The value to assign to the usb_controller_description property of this ShapeSummary.
        :type usb_controller_description: str

        :param number_of_usb_controllers:
            The value to assign to the number_of_usb_controllers property of this ShapeSummary.
        :type number_of_usb_controllers: int

        :param tags:
            The value to assign to the tags property of this ShapeSummary.
        :type tags: str

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

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

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

        ÚstrÚintÚfloatzdict(str, str)zdict(str, dict(str, object)))Úgpu_descriptionÚgpusÚmemory_in_gbsÚnetworking_bandwidth_in_gbpsÚocpusÚprocessor_descriptionÚshapeÚusb_controller_descriptionÚnumber_of_usb_controllersÚtagsÚfreeform_tagsÚdefined_tagsÚsystem_tagsZgpuDescriptionr   ZmemoryInGBsZnetworkingBandwidthInGbpsr   ZprocessorDescriptionr   ZusbControllerDescriptionZnumberOfUsbControllersr   ZfreeformTagsZdefinedTagsZ
systemTagsN)Zswagger_typesZattribute_mapÚ_gpu_descriptionÚ_gpusÚ_memory_in_gbsÚ_networking_bandwidth_in_gbpsÚ_ocpusÚ_processor_descriptionÚ_shapeÚ_usb_controller_descriptionÚ_number_of_usb_controllersÚ_tagsÚ_freeform_tagsÚ_defined_tagsÚ_system_tags)ÚselfÚkwargs© r&   úBusr/lib/python3.10/site-packages/oci/rover/models/shape_summary.pyÚ__init__   sR   ;óó
zShapeSummary.__init__c                 C   ó   | j S )zí
        Gets the gpu_description of this ShapeSummary.
        A short description of the graphics processing unit (GPU) available for this shape.


        :return: The gpu_description of this ShapeSummary.
        :rtype: str
        ©r   ©r$   r&   r&   r'   r
   z   ó   
zShapeSummary.gpu_descriptionc                 C   ó
   || _ dS )zû
        Sets the gpu_description of this ShapeSummary.
        A short description of the graphics processing unit (GPU) available for this shape.


        :param gpu_description: The gpu_description of this ShapeSummary.
        :type: str
        Nr*   )r$   r
   r&   r&   r'   r
   †   ó   

c                 C   r)   )z°
        Gets the gpus of this ShapeSummary.
        The number of GPUs available for this shape.


        :return: The gpus of this ShapeSummary.
        :rtype: int
        ©r   r+   r&   r&   r'   r   ’   r,   zShapeSummary.gpusc                 C   r-   )z³
        Sets the gpus of this ShapeSummary.
        The number of GPUs available for this shape.


        :param gpus: The gpus of this ShapeSummary.
        :type: int
        Nr/   )r$   r   r&   r&   r'   r   ž   r.   c                 C   r)   )zÜ
        Gets the memory_in_gbs of this ShapeSummary.
        The default amount of memory available for this shape, in gigabytes.


        :return: The memory_in_gbs of this ShapeSummary.
        :rtype: float
        ©r   r+   r&   r&   r'   r   ª   r,   zShapeSummary.memory_in_gbsc                 C   r-   )zè
        Sets the memory_in_gbs of this ShapeSummary.
        The default amount of memory available for this shape, in gigabytes.


        :param memory_in_gbs: The memory_in_gbs of this ShapeSummary.
        :type: float
        Nr0   )r$   r   r&   r&   r'   r   ¶   r.   c                 C   r)   )a   
        Gets the networking_bandwidth_in_gbps of this ShapeSummary.
        The networking bandwidth available for this shape, in gigabits per second.


        :return: The networking_bandwidth_in_gbps of this ShapeSummary.
        :rtype: float
        ©r   r+   r&   r&   r'   r   Â   r,   z)ShapeSummary.networking_bandwidth_in_gbpsc                 C   r-   )a  
        Sets the networking_bandwidth_in_gbps of this ShapeSummary.
        The networking bandwidth available for this shape, in gigabits per second.


        :param networking_bandwidth_in_gbps: The networking_bandwidth_in_gbps of this ShapeSummary.
        :type: float
        Nr1   )r$   r   r&   r&   r'   r   Î   r.   c                 C   r)   )z»
        Gets the ocpus of this ShapeSummary.
        The default number of OCPUs available for this shape.


        :return: The ocpus of this ShapeSummary.
        :rtype: int
        ©r   r+   r&   r&   r'   r   Ú   r,   zShapeSummary.ocpusc                 C   r-   )z¿
        Sets the ocpus of this ShapeSummary.
        The default number of OCPUs available for this shape.


        :param ocpus: The ocpus of this ShapeSummary.
        :type: int
        Nr2   )r$   r   r&   r&   r'   r   æ   r.   c                 C   r)   )zÙ
        Gets the processor_description of this ShapeSummary.
        A short description of the shape's processor (CPU).


        :return: The processor_description of this ShapeSummary.
        :rtype: str
        ©r   r+   r&   r&   r'   r   ò   r,   z"ShapeSummary.processor_descriptionc                 C   r-   )zí
        Sets the processor_description of this ShapeSummary.
        A short description of the shape's processor (CPU).


        :param processor_description: The processor_description of this ShapeSummary.
        :type: str
        Nr3   )r$   r   r&   r&   r'   r   þ   r.   c                 C   r)   )z«
        **[Required]** Gets the shape of this ShapeSummary.
        The name of the shape.


        :return: The shape of this ShapeSummary.
        :rtype: str
        ©r   r+   r&   r&   r'   r   
  r,   zShapeSummary.shapec                 C   r-   )z 
        Sets the shape of this ShapeSummary.
        The name of the shape.


        :param shape: The shape of this ShapeSummary.
        :type: str
        Nr4   )r$   r   r&   r&   r'   r     r.   c                 C   r)   )zó
        Gets the usb_controller_description of this ShapeSummary.
        A short description of the USB controller available for this shape.


        :return: The usb_controller_description of this ShapeSummary.
        :rtype: str
        ©r   r+   r&   r&   r'   r   "  r,   z'ShapeSummary.usb_controller_descriptionc                 C   r-   )a  
        Sets the usb_controller_description of this ShapeSummary.
        A short description of the USB controller available for this shape.


        :param usb_controller_description: The usb_controller_description of this ShapeSummary.
        :type: str
        Nr5   )r$   r   r&   r&   r'   r   .  r.   c                 C   r)   )zå
        Gets the number_of_usb_controllers of this ShapeSummary.
        The number of USB controllers available for this shape.


        :return: The number_of_usb_controllers of this ShapeSummary.
        :rtype: int
        ©r   r+   r&   r&   r'   r   :  r,   z&ShapeSummary.number_of_usb_controllersc                 C   r-   )zý
        Sets the number_of_usb_controllers of this ShapeSummary.
        The number of USB controllers available for this shape.


        :param number_of_usb_controllers: The number_of_usb_controllers of this ShapeSummary.
        :type: int
        Nr6   )r$   r   r&   r&   r'   r   F  r.   c                 C   r)   )z¥
        Gets the tags of this ShapeSummary.
        The tags associated with tagSlug.


        :return: The tags of this ShapeSummary.
        :rtype: str
        ©r    r+   r&   r&   r'   r   R  r,   zShapeSummary.tagsc                 C   r-   )z¨
        Sets the tags of this ShapeSummary.
        The tags associated with tagSlug.


        :param tags: The tags of this ShapeSummary.
        :type: str
        Nr7   )r$   r   r&   r&   r'   r   ^  r.   c                 C   r)   )aå  
        Gets the freeform_tags of this ShapeSummary.
        The freeform tags associated with this resource, if any. 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/iaas/Content/General/Concepts/resourcetags.htm


        :return: The freeform_tags of this ShapeSummary.
        :rtype: dict(str, str)
        ©r!   r+   r&   r&   r'   r   j  ó   zShapeSummary.freeform_tagsc                 C   r-   )añ  
        Sets the freeform_tags of this ShapeSummary.
        The freeform tags associated with this resource, if any. 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/iaas/Content/General/Concepts/resourcetags.htm


        :param freeform_tags: The freeform_tags of this ShapeSummary.
        :type: dict(str, str)
        Nr8   )r$   r   r&   r&   r'   r   z  ó   
c                 C   r)   )aÛ  
        Gets the defined_tags of this ShapeSummary.
        The defined tags associated with this resource, if any. Each key is predefined and scoped to namespaces.
        For more information, see `Resource Tags`__.
        Example: `{"Operations": {"CostCenter": "42"}}`

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


        :return: The defined_tags of this ShapeSummary.
        :rtype: dict(str, dict(str, object))
        ©r"   r+   r&   r&   r'   r   Š  r9   zShapeSummary.defined_tagsc                 C   r-   )aæ  
        Sets the defined_tags of this ShapeSummary.
        The defined tags associated with this resource, if any. Each key is predefined and scoped to namespaces.
        For more information, see `Resource Tags`__.
        Example: `{"Operations": {"CostCenter": "42"}}`

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


        :param defined_tags: The defined_tags of this ShapeSummary.
        :type: dict(str, dict(str, object))
        Nr;   )r$   r   r&   r&   r'   r   š  r:   c                 C   r)   )a  
        Gets the system_tags of this ShapeSummary.
        The system tags associated with this resource, if any. The system tags are set by Oracle cloud infrastructure services. Each key is predefined and scoped to namespaces.
        For more information, see `Resource Tags`__.
        Example: `{orcl-cloud: {free-tier-retain: true}}`

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


        :return: The system_tags of this ShapeSummary.
        :rtype: dict(str, dict(str, object))
        ©r#   r+   r&   r&   r'   r   ª  r9   zShapeSummary.system_tagsc                 C   r-   )a%  
        Sets the system_tags of this ShapeSummary.
        The system tags associated with this resource, if any. The system tags are set by Oracle cloud infrastructure services. Each key is predefined and scoped to namespaces.
        For more information, see `Resource Tags`__.
        Example: `{orcl-cloud: {free-tier-retain: true}}`

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


        :param system_tags: The system_tags of this ShapeSummary.
        :type: dict(str, dict(str, object))
        Nr<   )r$   r   r&   r&   r'   r   º  r:   c                 C   s   t | ƒS ©N)r   r+   r&   r&   r'   Ú__repr__Ê  s   zShapeSummary.__repr__c                 C   s   |d u rdS | j |j kS )NF)Ú__dict__©r$   Úotherr&   r&   r'   Ú__eq__Í  s   zShapeSummary.__eq__c                 C   s
   | |k S r=   r&   r@   r&   r&   r'   Ú__ne__Ó  s   
zShapeSummary.__ne__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r(   Úpropertyr
   Úsetterr   r   r   r   r   r   r   r   r   r   r   r   r>   rB   rC   r&   r&   r&   r'   r      st    h

























r   N)Zoci.utilr   r   r   Zoci.decoratorsr   Úobjectr   r&   r&   r&   r'   Ú<module>   s   