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dd„ Zdd„ Zdd„ ZdS )ÚEntitlementzn
    A usage plan entitlement, comprising of rate limits, quotas and the deployments they are applied to.
    c                 K   sF   ddddddœ| _ dddd	d
dœ| _d| _d| _d| _d| _d| _dS )a°  
        Initializes a new Entitlement 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 Entitlement.
        :type name: str

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

        :param rate_limit:
            The value to assign to the rate_limit property of this Entitlement.
        :type rate_limit: oci.apigateway.models.RateLimit

        :param quota:
            The value to assign to the quota property of this Entitlement.
        :type quota: oci.apigateway.models.Quota

        :param targets:
            The value to assign to the targets property of this Entitlement.
        :type targets: list[oci.apigateway.models.EntitlementTarget]

        ÚstrZ	RateLimitZQuotazlist[EntitlementTarget])ÚnameÚdescriptionÚ
rate_limitÚquotaÚtargetsr   r	   Z	rateLimitr   r   N)Zswagger_typesZattribute_mapÚ_nameÚ_descriptionÚ_rate_limitÚ_quotaÚ_targets)ÚselfÚkwargs© r   úEusr/lib/python3.10/site-packages/oci/apigateway/models/entitlement.pyÚ__init__   s"   û	û
zEntitlement.__init__c                 C   ó   | j S )zÁ
        **[Required]** Gets the name of this Entitlement.
        An entitlement name, unique within a usage plan.


        :return: The name of this Entitlement.
        :rtype: str
        ©r   ©r   r   r   r   r   B   ó   
zEntitlement.namec                 C   ó
   || _ dS )zµ
        Sets the name of this Entitlement.
        An entitlement name, unique within a usage plan.


        :param name: The name of this Entitlement.
        :type: str
        Nr   )r   r   r   r   r   r   N   ó   

c                 C   r   )a	  
        Gets the description of this Entitlement.
        A user-friendly description. To provide some insight about the resource.
        Avoid entering confidential information.


        :return: The description of this Entitlement.
        :rtype: str
        ©r   r   r   r   r   r	   Z   s   zEntitlement.descriptionc                 C   r   )a  
        Sets the description of this Entitlement.
        A user-friendly description. To provide some insight about the resource.
        Avoid entering confidential information.


        :param description: The description of this Entitlement.
        :type: str
        Nr   )r   r	   r   r   r   r	   g   s   
c                 C   r   )z 
        Gets the rate_limit of this Entitlement.

        :return: The rate_limit of this Entitlement.
        :rtype: oci.apigateway.models.RateLimit
        ©r   r   r   r   r   r
   t   ó   zEntitlement.rate_limitc                 C   r   )z©
        Sets the rate_limit of this Entitlement.

        :param rate_limit: The rate_limit of this Entitlement.
        :type: oci.apigateway.models.RateLimit
        Nr   )r   r
   r   r   r   r
   ~   ó   
c                 C   r   )z’
        Gets the quota of this Entitlement.

        :return: The quota of this Entitlement.
        :rtype: oci.apigateway.models.Quota
        ©r   r   r   r   r   r   ˆ   r   zEntitlement.quotac                 C   r   )z–
        Sets the quota of this Entitlement.

        :param quota: The quota of this Entitlement.
        :type: oci.apigateway.models.Quota
        Nr!   )r   r   r   r   r   r   ’   r    c                 C   r   )zÿ
        Gets the targets of this Entitlement.
        A collection of targeted deployments that the entitlement will be applied to.


        :return: The targets of this Entitlement.
        :rtype: list[oci.apigateway.models.EntitlementTarget]
        ©r   r   r   r   r   r   œ   r   zEntitlement.targetsc                 C   r   )a  
        Sets the targets of this Entitlement.
        A collection of targeted deployments that the entitlement will be applied to.


        :param targets: The targets of this Entitlement.
        :type: list[oci.apigateway.models.EntitlementTarget]
        Nr"   )r   r   r   r   r   r   ¨   r   c                 C   s   t | ƒS ©N)r   r   r   r   r   Ú__repr__´   s   zEntitlement.__repr__c                 C   s   |d u rdS | j |j kS )NF)Ú__dict__©r   Úotherr   r   r   Ú__eq__·   s   zEntitlement.__eq__c                 C   s
   | |k S r#   r   r&   r   r   r   Ú__ne__½   s   
zEntitlement.__ne__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úpropertyr   Úsetterr	   r
   r   r   r$   r(   r)   r   r   r   r   r      s4    0




	
	
	
	

r   N)Zoci.utilr   r   r   Zoci.decoratorsr   Úobjectr   r   r   r   r   Ú<module>   s   