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                   @   sp   e Zd ZdZdd Ze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 )Resourcez
    A resource that is managed by an autoscaling configuration. The only supported type is `instancePool`.

    Each instance pool can have one autoscaling configuration.
    c                 K   s(   ddd| _ ddd| _d| _d| _dS )a  
        Initializes a new Resource object with values from keyword arguments. This class has the following subclasses and if you are using this class as input
        to a service operations then you should favor using a subclass over the base class:

        * :class:`~oci.autoscaling.models.InstancePoolResource`

        The following keyword arguments are supported (corresponding to the getters/setters of this class):

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

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

        str)typeidr   r	   N)Zswagger_typesZattribute_map_type_id)selfkwargs r   Cusr/lib/python3.10/site-packages/oci/autoscaling/models/resource.py__init__   s   
zResource.__init__c                 C   s   | d }|dkr
dS dS )z
        Given the hash representation of a subtype of this class,
        use the info in the hash to return the class of the subtype.
        r   ZinstancePoolZInstancePoolResourcer   r   )Zobject_dictionaryr   r   r   r   get_subtype3   s   zResource.get_subtypec                 C      | j S )z
        **[Required]** Gets the type of this Resource.
        The type of resource.


        :return: The type of this Resource.
        :rtype: str
        r
   r   r   r   r   r   @   s   
zResource.typec                 C   
   || _ dS )z
        Sets the type of this Resource.
        The type of resource.


        :param type: The type of this Resource.
        :type: str
        Nr   )r   r   r   r   r   r   L   s   

c                 C   r   )a(  
        **[Required]** Gets the id of this Resource.
        The `OCID`__ of the resource that is managed by the autoscaling configuration.

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


        :return: The id of this Resource.
        :rtype: str
        r   r   r   r   r   r	   X   s   zResource.idc                 C   r   )a  
        Sets the id of this Resource.
        The `OCID`__ of the resource that is managed by the autoscaling configuration.

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


        :param id: The id of this Resource.
        :type: str
        Nr   )r   r	   r   r   r   r	   f   s   
c                 C   s   t | S N)r   r   r   r   r   __repr__t   s   zResource.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__r   otherr   r   r   __eq__w   s   zResource.__eq__c                 C   s
   | |k S r   r   r   r   r   r   __ne__}   s   
zResource.__ne__N)__name__
__module____qualname____doc__r   staticmethodr   propertyr   setterr	   r   r   r   r   r   r   r   r      s     




r   N)Zoci.utilr   r   r   Zoci.decoratorsr   objectr   r   r   r   r   <module>   s   