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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d„ ZdS )ÚShapeSummaryaW  
    The shape of the DB System. The shape determines resources to allocate
    to the DB System - CPU cores and memory for VM shapes; CPU cores, memory
    and storage for non-VM (or bare metal) shapes.  For a description of
    shapes, see `DB System Shape Options`__.

    __ https://docs.cloud.oracle.com/mysql-database/doc/shapes.htm
    ÚDBSYSTEMÚANALYTICSCLUSTERÚHEATWAVECLUSTERc                 K   s<   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 name:
            The value to assign to the name property of this ShapeSummary.
        :type name: str

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

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

        :param is_supported_for:
            The value to assign to the is_supported_for property of this ShapeSummary.
            Allowed values for items in this list are: "DBSYSTEM", "ANALYTICSCLUSTER", "HEATWAVECLUSTER", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type is_supported_for: list[str]

        ÚstrÚintz	list[str])ÚnameÚcpu_core_countÚmemory_size_in_gbsÚis_supported_forr   ZcpuCoreCountZmemorySizeInGBsZisSupportedForN)Zswagger_typesZattribute_mapÚ_nameÚ_cpu_core_countÚ_memory_size_in_gbsÚ_is_supported_for)ÚselfÚkwargs© r   úBusr/lib/python3.10/site-packages/oci/mysql/models/shape_summary.pyÚ__init__#   s   üü
zShapeSummary.__init__c                 C   ó   | j S )zÀ
        **[Required]** Gets the name of this ShapeSummary.
        The name of the shape used for the DB System.


        :return: The name of this ShapeSummary.
        :rtype: str
        ©r   ©r   r   r   r   r   N   ó   
zShapeSummary.namec                 C   ó
   || _ dS )z´
        Sets the name of this ShapeSummary.
        The name of the shape used for the DB System.


        :param name: The name of this ShapeSummary.
        :type: str
        Nr   )r   r   r   r   r   r   Z   ó   

c                 C   r   )zè
        **[Required]** Gets the cpu_core_count of this ShapeSummary.
        The number of CPU Cores the Instance provides. These are "OCPU"s.


        :return: The cpu_core_count of this ShapeSummary.
        :rtype: int
        ©r   r   r   r   r   r   f   r   zShapeSummary.cpu_core_countc                 C   r   )zæ
        Sets the cpu_core_count of this ShapeSummary.
        The number of CPU Cores the Instance provides. These are "OCPU"s.


        :param cpu_core_count: The cpu_core_count of this ShapeSummary.
        :type: int
        Nr   )r   r   r   r   r   r   r   r   c                 C   r   )zõ
        **[Required]** Gets the memory_size_in_gbs of this ShapeSummary.
        The amount of RAM the Instance provides. This is an IEC base-2 number.


        :return: The memory_size_in_gbs of this ShapeSummary.
        :rtype: int
        ©r   r   r   r   r   r   ~   r   zShapeSummary.memory_size_in_gbsc                 C   r   )z÷
        Sets the memory_size_in_gbs of this ShapeSummary.
        The amount of RAM the Instance provides. This is an IEC base-2 number.


        :param memory_size_in_gbs: The memory_size_in_gbs of this ShapeSummary.
        :type: int
        Nr    )r   r   r   r   r   r   Š   r   c                 C   r   )a®  
        Gets the is_supported_for of this ShapeSummary.
        What service features the shape is supported for.

        Allowed values for items in this list are: "DBSYSTEM", "ANALYTICSCLUSTER", "HEATWAVECLUSTER", 'UNKNOWN_ENUM_VALUE'.
        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


        :return: The is_supported_for of this ShapeSummary.
        :rtype: list[str]
        ©r   r   r   r   r   r   –   s   zShapeSummary.is_supported_forc                    s0   g d¢‰ |r‡ fdd„|D ƒ|dd…< || _ dS )zâ
        Sets the is_supported_for of this ShapeSummary.
        What service features the shape is supported for.


        :param is_supported_for: The is_supported_for of this ShapeSummary.
        :type: list[str]
        )r   r   r	   c                    s   g | ]}t |ˆ ƒsd n|‘qS )ZUNKNOWN_ENUM_VALUE)r   )Ú.0Úx©Zallowed_valuesr   r   Ú
<listcomp>±   s    z1ShapeSummary.is_supported_for.<locals>.<listcomp>Nr!   )r   r   r   r$   r   r   ¥   s   

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__ZIS_SUPPORTED_FOR_DBSYSTEMZ!IS_SUPPORTED_FOR_ANALYTICSCLUSTERZ IS_SUPPORTED_FOR_HEATWAVECLUSTERr   Úpropertyr   Úsetterr   r   r   r'   r+   r,   r   r   r   r   r      s2    +







r   N)Zoci.utilr   r   r   Zoci.decoratorsr   Úobjectr   r   r   r   r   Ú<module>   s   