ruạṛ
a O��f� � @ s( d dl Z d dlmZ G dd� de�ZdS )� N)�WAIT_RESOURCE_NOT_FOUNDc @ s( e Zd ZdZdd� Zg i i fdd�Zg i i fdd�Zg i i fdd �Zg i i fd d�Zg i i fdd �Z g i i fdd�Z g i i fdd�Zg i i fdd�Zg i i fdd�Z g i i fdd�Zg i i fdd�Zg i i fdd�Zg i i fdd�Zg i i fdd�Zg i i fd d!�Zg i i fd"d#�Zg i i fd$d%�Zd&S )'�(ResourceManagerClientCompositeOperationsa� This class provides a wrapper around :py:class:`~oci.resource_manager.ResourceManagerClient` and offers convenience methods for operations that would otherwise need to be chained together. For example, instead of performing an action on a resource (e.g. launching an instance, creating a load balancer) and then using a waiter to wait for the resource to enter a given state, you can call a single method in this class to accomplish the same functionality c K s || _ dS )z� Creates a new ResourceManagerClientCompositeOperations object :param ResourceManagerClient client: The service client which will be wrapped by this object N)�client)�selfr �kwargs� r ��/sparta/input/_build_configuration/image_build+validate/lib/bmcenv/lib64/python3.9/site-packages/oci/resource_manager/resource_manager_client_composite_operations.py�__init__ s z1ResourceManagerClientCompositeOperations.__init__c sD | j �|�}d}z| j j|fi |��}W nF tjjyn } z*|jdkrVtW Y d}~S |�W Y d}~n d}~0 0 |sx|S dd� |D �� z.tj| j |f� fdd�dd�|��}|} | W S t t f�y } z6|js�d |_|jd |_tjj|g|d��W Y d}~n@d}~0 t �y> } ztjj|g|d��W Y d}~n d}~0 0 dS )a' Calls :py:func:`~oci.resource_manager.ResourceManagerClient.cancel_job` and waits for the :py:class:`~oci.resource_manager.models.Job` acted upon to enter the given state(s). :param str job_id: (required) The `OCID`__ of the job. __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm :param list[str] wait_for_states: An array of states to wait on. These should be valid values for :py:attr:`~oci.resource_manager.models.Job.lifecycle_state` :param dict operation_kwargs: A dictionary of keyword arguments to pass to :py:func:`~oci.resource_manager.ResourceManagerClient.cancel_job` :param dict waiter_kwargs: A dictionary of keyword arguments to pass to the :py:func:`oci.wait_until` function. For example, you could pass ``max_interval_seconds`` or ``max_interval_seconds`` as dictionary keys to modify how long the waiter function will wait between retries and the maximum amount of time it will wait N� c S s g | ]}|� � �qS r ��lower��.0�wr r r � <listcomp>; � zZResourceManagerClientCompositeOperations.cancel_job_and_wait_for_state.<locals>.<listcomp>c s t | jd�ot | jd��� � v S �N�lifecycle_state��getattr�datar ��r��lowered_wait_for_statesr r �<lambda>A r zXResourceManagerClientCompositeOperations.cancel_job_and_wait_for_state.<locals>.<lambda>T��evaluate_response�succeed_on_not_found�� �a This composite operation is currently not supported in the SDK. Please use the operation from the service client and use waiters as an alternative. For more information on waiters, visit: "https://docs.oracle.com/en-us/iaas/tools/python/latest/api/waiters.html"��partial_results�cause)r �get_job� cancel_job�oci� exceptions�ServiceError�statusr � wait_until� NameError� TypeError�args�CompositeOperationError� Exception) r �job_id�wait_for_states�operation_kwargs� waiter_kwargs�initial_get_result�operation_result�e� waiter_result�result_to_returnr r r �cancel_job_and_wait_for_state s<