ruạṛ
a ���fx � @ sD d dl mZ ddlmZmZmZ ddlmZ eG dd� de��ZdS )� )�PatchInstruction� )�formatted_flat_dict� NONE_SENTINEL�#value_allowed_none_or_none_sentinel)�init_model_state_from_kwargsc @ s� e Zd ZdZdZdZdd� Zedd� �Zej dd� �Zed d � �Z e j dd � �Z edd � �Zej dd � �Zdd� Zdd� Z dd� ZdS )�PatchInsertInstructionz� An operation that inserts a value into an array, shifting array items as necessary and handling NOT_FOUND exceptions by creating the implied containing structure. �BEFORE�AFTERc K sL dddddd�| _ dddddd�| _d | _d | _d | _d | _d | _d | _d S )a Initializes a new PatchInsertInstruction object with values from keyword arguments. The default value of the :py:attr:`~oci.devops.models.PatchInsertInstruction.operation` attribute of this class is ``INSERT`` and it should not be changed. The following keyword arguments are supported (corresponding to the getters/setters of this class): :param operation: The value to assign to the operation property of this PatchInsertInstruction. Allowed values for this property are: "REQUIRE", "PROHIBIT", "REPLACE", "INSERT", "REMOVE", "MOVE", "MERGE" :type operation: str :param selection: The value to assign to the selection property of this PatchInsertInstruction. :type selection: str :param value: The value to assign to the value property of this PatchInsertInstruction. :type value: object :param selected_item: The value to assign to the selected_item property of this PatchInsertInstruction. :type selected_item: str :param position: The value to assign to the position property of this PatchInsertInstruction. Allowed values for this property are: "BEFORE", "AFTER" :type position: str �str�object)� operation� selection�value� selected_item�positionr r r ZselectedItemr NZINSERT)Z swagger_typesZ attribute_mapZ _operationZ _selection�_value�_selected_item� _position)�self�kwargs� r �N/usr/lib/python3.9/site-packages/oci/devops/models/patch_insert_instruction.py�__init__ s$ � �zPatchInsertInstruction.__init__c C s | j S )z� **[Required]** Gets the value of this PatchInsertInstruction. A value to be inserted into the target. :return: The value of this PatchInsertInstruction. :rtype: object �r �r r r r r N s zPatchInsertInstruction.valuec C s || _ dS )z� Sets the value of this PatchInsertInstruction. A value to be inserted into the target. :param value: The value of this PatchInsertInstruction. :type: object Nr )r r r r r r Z s c C s | j S )aA Gets the selected_item of this PatchInsertInstruction. A selection to be evaluated against the array for identifying a particular reference item within it, with the same format and semantics as `selection`. :return: The selected_item of this PatchInsertInstruction. :rtype: str �r r r r r r f s z$PatchInsertInstruction.selected_itemc C s || _ dS )aM Sets the selected_item of this PatchInsertInstruction. A selection to be evaluated against the array for identifying a particular reference item within it, with the same format and semantics as `selection`. :param selected_item: The selected_item of this PatchInsertInstruction. :type: str Nr )r r r r r r r s c C s | j S )aX Gets the position of this PatchInsertInstruction. Where to insert the value, relative to the first item matched by `selectedItem`. If `selectedItem` is unspecified, then "BEFORE" specifies insertion at the first position in an array and "AFTER" specifies insertion at the last position. If `selectedItem` is specified but results in an empty selection, then both values specify insertion at the last position. Allowed values for this property are: "BEFORE", "AFTER" :return: The position of this PatchInsertInstruction. :rtype: str )r r r r r r ~ s zPatchInsertInstruction.positionc C s* ddg}t ||�s td|� ���|| _dS )a Sets the position of this PatchInsertInstruction. Where to insert the value, relative to the first item matched by `selectedItem`. If `selectedItem` is unspecified, then "BEFORE" specifies insertion at the first position in an array and "AFTER" specifies insertion at the last position. If `selectedItem` is specified but results in an empty selection, then both values specify insertion at the last position. :param position: The position of this PatchInsertInstruction. :type: str r r z5Invalid value for `position`, must be None or one of N)r � ValueErrorr )r r Zallowed_valuesr r r r � s �c C s t | �S �N)r r r r r �__repr__� s zPatchInsertInstruction.__repr__c C s |d u rdS | j |j kS )NF)�__dict__�r �otherr r r �__eq__� s zPatchInsertInstruction.__eq__c C s | |k S r r r! r r r �__ne__� s zPatchInsertInstruction.__ne__N)�__name__� __module__�__qualname__�__doc__ZPOSITION_BEFOREZPOSITION_AFTERr �propertyr �setterr r r r# r$ r r r r r s&