ruạṛ
a ���f� � @ s( d dl Z d dlmZ G dd� de�ZdS )� N)�WAIT_RESOURCE_NOT_FOUNDc @ sH e Zd ZdZdd� Zg i i fdd�Zg i i fdd�Zg i i fdd �Zd S )� ClusterClientCompositeOperationsa� This class provides a wrapper around :py:class:`~oci.ocvp.ClusterClient` 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 ClusterClientCompositeOperations object :param ClusterClient client: The service client which will be wrapped by this object N)�client)�selfr �kwargs� r �P/usr/lib/python3.9/site-packages/oci/ocvp/cluster_client_composite_operations.py�__init__ s z)ClusterClientCompositeOperations.__init__c s� | j j|fi |��}|s|S dd� |D �� d|jvr8|S |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.ocvp.ClusterClient.create_cluster` and waits for the :py:class:`~oci.ocvp.models.WorkRequest` to enter the given state(s). :param oci.ocvp.models.CreateClusterDetails create_cluster_details: (required) Details for the Cluster. :param list[str] wait_for_states: An array of states to wait on. These should be valid values for :py:attr:`~oci.ocvp.models.WorkRequest.status` :param dict operation_kwargs: A dictionary of keyword arguments to pass to :py:func:`~oci.ocvp.ClusterClient.create_cluster` :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>1 � zVClusterClientCompositeOperations.create_cluster_and_wait_for_state.<locals>.<listcomp>�opc-work-request-id�evaluate_responsec s t | jd�ot | jd��� � v S �N�status��getattr�datar ��r�Zlowered_wait_for_statesr r �<lambda>: r zTClusterClientCompositeOperations.create_cluster_and_wait_for_state.<locals>.<lambda>�Zpartial_results�causeN) r Zcreate_cluster�headers�oci� wait_until�get_work_request� Exception� exceptions�CompositeOperationError) r Zcreate_cluster_details�wait_for_states�operation_kwargs� waiter_kwargs�operation_result�wait_for_resource_id� waiter_result�result_to_return�er r r �!create_cluster_and_wait_for_state s( � ��zBClusterClientCompositeOperations.create_cluster_and_wait_for_statec s d}z| j j|fi |��}W nF tjjyb } z*|jdkrJtW Y d}~S |�W Y d}~n d}~0 0 |sl|S dd� |D �� d|jvr�|S |jd }z4tj| j | j � |�fd� fdd�i|��}|} | W S t � y� } ztjj|g|d ��W Y d}~n d}~0 0 dS ) a� Calls :py:func:`~oci.ocvp.ClusterClient.delete_cluster` and waits for the :py:class:`~oci.ocvp.models.WorkRequest` to enter the given state(s). :param str cluster_id: (required) The `OCID`__ of the SDDC Cluster. __ https://docs.cloud.oracle.com/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.ocvp.models.WorkRequest.status` :param dict operation_kwargs: A dictionary of keyword arguments to pass to :py:func:`~oci.ocvp.ClusterClient.delete_cluster` :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 Ni� c S s g | ]}|� � �qS r r r r r r r b r zVClusterClientCompositeOperations.delete_cluster_and_wait_for_state.<locals>.<listcomp>r r c s t | jd�ot | jd��� � v S r r r r r r r k r zTClusterClientCompositeOperations.delete_cluster_and_wait_for_state.<locals>.<lambda>r )r Zdelete_clusterr r# ZServiceErrorr r r r r! r"