ruạṛ
a O��f� � @ s( d dl Z d dlmZ G dd� de�ZdS )� N)�WAIT_RESOURCE_NOT_FOUNDc @ s8 e Zd ZdZdd� Zg i i fdd�Zg i i fdd�ZdS ) �&ObjectStorageClientCompositeOperationsa� This class provides a wrapper around :py:class:`~oci.object_storage.ObjectStorageClient` 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 ObjectStorageClientCompositeOperations object :param ObjectStorageClient 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/object_storage/object_storage_client_composite_operations.py�__init__ s z/ObjectStorageClientCompositeOperations.__init__c s� | j j|||fi |��}|s |S dd� |D �� |jd }z4tj| j | j �|�fd� fdd�i|��} | } | W S ty� } ztjj|g|d��W Y d}~n d}~0 0 dS ) a Calls :py:func:`~oci.object_storage.ObjectStorageClient.copy_object` and waits for the :py:class:`~oci.object_storage.models.WorkRequest` to enter the given state(s). :param str namespace_name: (required) The Object Storage namespace used for the request. :param str bucket_name: (required) The name of the bucket. Avoid entering confidential information. Example: `my-new-bucket1` :param oci.object_storage.models.CopyObjectDetails copy_object_details: (required) The source and destination of the object to be copied. :param list[str] wait_for_states: An array of states to wait on. These should be valid values for :py:attr:`~oci.object_storage.models.WorkRequest.status` :param dict operation_kwargs: A dictionary of keyword arguments to pass to :py:func:`~oci.object_storage.ObjectStorageClient.copy_object` :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 c S s g | ]}|� � �qS r ��lower��.0�wr r r � <listcomp>7 � zYObjectStorageClientCompositeOperations.copy_object_and_wait_for_state.<locals>.<listcomp>�opc-work-request-id�evaluate_responsec s t | jd�ot | jd��� � v S �N�status��getattr�datar ��r��lowered_wait_for_statesr r �<lambda>>