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dd„ Zdd„ Zdd„ ZdS )Ú
Operationsa  
    Each patch operation object MUST have exactly one "op" member, whose value indicates the operation to perform and MAY be one of "add", "remove", or "replace". See `Section 3.5.2`__ for details.

    __ https://tools.ietf.org/html/draft-ietf-scim-api-19#section-3.5.2
    ÚADDÚREMOVEÚREPLACEc                 K   s2   ddddœ| _ ddddœ| _d| _d| _d| _dS )ax  
        Initializes a new Operations object with values from keyword arguments.
        The following keyword arguments are supported (corresponding to the getters/setters of this class):

        :param op:
            The value to assign to the op property of this Operations.
            Allowed values for this property are: "ADD", "REMOVE", "REPLACE"
        :type op: str

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

        :param value:
            The value to assign to the value property of this Operations.
        :type value: object

        ÚstrÚobject)ÚopÚpathÚvaluer   r   r   N)Zswagger_typesZattribute_mapÚ_opÚ_pathÚ_value)ÚselfÚkwargs© r   úJusr/lib/python3.10/site-packages/oci/identity_domains/models/operations.pyÚ__init__    s   ýý
zOperations.__init__c                 C   ó   | j S )a/  
        **[Required]** Gets the op of this Operations.
        Defines the operation to be performed for this Patch. If op=remove, value is not required.

        Allowed values for this property are: "ADD", "REMOVE", "REPLACE"


        :return: The op of this Operations.
        :rtype: str
        )r   ©r   r   r   r   r   C   ó   zOperations.opc                 C   s*   g d¢}t ||ƒstd |¡ƒ‚|| _dS )z×
        Sets the op of this Operations.
        Defines the operation to be performed for this Patch. If op=remove, value is not required.


        :param op: The op of this Operations.
        :type: str
        )r   r   r	   z2Invalid value for `op`, must be None or one of {0}N)r   Ú
ValueErrorÚformatr   )r   r   Zallowed_valuesr   r   r   r   Q   s   

þ
c                 C   r   )a«  
        **[Required]** Gets the path of this Operations.
        String containing an attribute path describing the target of the operation. The "path" attribute is OPTIONAL for "add" and "replace" and is REQUIRED for "remove" operations. See `Section 3.5.2`__ for details

        __ https://tools.ietf.org/html/draft-ietf-scim-api-19#section-3.5.2


        :return: The path of this Operations.
        :rtype: str
        ©r   r   r   r   r   r   c   r   zOperations.pathc                 C   ó
   || _ dS )aŸ  
        Sets the path of this Operations.
        String containing an attribute path describing the target of the operation. The "path" attribute is OPTIONAL for "add" and "replace" and is REQUIRED for "remove" operations. See `Section 3.5.2`__ for details

        __ https://tools.ietf.org/html/draft-ietf-scim-api-19#section-3.5.2


        :param path: The path of this Operations.
        :type: str
        Nr   )r   r   r   r   r   r   q   s   
c                 C   r   )a0  
        Gets the value of this Operations.
        The value could be either a simple value attribute e.g. string or number OR complex like map of the attributes to be added or replaced OR multivalues complex attributes.q1


        :return: The value of this Operations.
        :rtype: object
        ©r   r   r   r   r   r      s   
zOperations.valuec                 C   r   )a4  
        Sets the value of this Operations.
        The value could be either a simple value attribute e.g. string or number OR complex like map of the attributes to be added or replaced OR multivalues complex attributes.q1


        :param value: The value of this Operations.
        :type: object
        Nr   )r   r   r   r   r   r   ‹   s   

c                 C   s   t | ƒS ©N)r   r   r   r   r   Ú__repr__—   s   zOperations.__repr__c                 C   s   |d u rdS | j |j kS )NF)Ú__dict__©r   Úotherr   r   r   Ú__eq__š   s   zOperations.__eq__c                 C   s
   | |k S r   r   r"   r   r   r   Ú__ne__    s   
zOperations.__ne__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ZOP_ADDZ	OP_REMOVEZ
OP_REPLACEr   Úpropertyr   Úsetterr   r   r    r$   r%   r   r   r   r   r      s*    #





r   N)Zoci.utilr   r   r   Zoci.decoratorsr   r   r   r   r   r   r   Ú<module>   s   