a Of#@s(ddlZddlmZGdddeZdS)N)WAIT_RESOURCE_NOT_FOUNDc@sHeZdZdZddZgiifddZgiifddZgiifdd Zd S) !UsageapiClientCompositeOperationsa This class provides a wrapper around :py:class:`~oci.usage_api.UsageapiClient` 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 cKs ||_dS)z Creates a new UsageapiClientCompositeOperations object :param UsageapiClient client: The service client which will be wrapped by this object N)client)selfrkwargsr/sparta/input/_build_configuration/image_build+validate/lib/bmcenv/lib64/python3.9/site-packages/oci/usage_api/usageapi_client_composite_operations.py__init__sz*UsageapiClientCompositeOperations.__init__c s|jj|fi|}|s|Sdd|D|jj}z4tj|j|j|fdfddi|}|}|WSttfy} z6| j sd| _ | j d| _ tj j |g| dWYd } ~ n>d } ~ 0t y} ztj j |g| dWYd } ~ n d } ~ 00d S) a Calls :py:func:`~oci.usage_api.UsageapiClient.create_schedule` and waits for the :py:class:`~oci.usage_api.models.Schedule` acted upon to enter the given state(s). :param oci.usage_api.models.CreateScheduleDetails create_schedule_details: (required) New schedule details. :param list[str] wait_for_states: An array of states to wait on. These should be valid values for :py:attr:`~oci.usage_api.models.Schedule.lifecycle_state` :param dict operation_kwargs: A dictionary of keyword arguments to pass to :py:func:`~oci.usage_api.UsageapiClient.create_schedule` :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 cSsg|] }|qSrlower.0wrrr 0zXUsageapiClientCompositeOperations.create_schedule_and_wait_for_state..evaluate_responsecs t|jdot|jdvSNlifecycle_stategetattrdatar rlowered_wait_for_statesrr7rzVUsageapiClientCompositeOperations.create_schedule_and_wait_for_state..aThis 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_resultscauseN) rcreate_scheduleridoci wait_until get_schedule NameError TypeErrorargs exceptionsCompositeOperationError Exception) rcreate_schedule_detailswait_for_statesoperation_kwargs waiter_kwargsoperation_result schedule_id waiter_resultresult_to_returnerrr"create_schedule_and_wait_for_states.   &zDUsageapiClientCompositeOperations.create_schedule_and_wait_for_statec sD|j|}d}z|jj|fi|}WnFtjjyn}z*|jdkrVtWYd}~S|WYd}~n d}~00|sx|Sdd|Dz.tj|j|ffdddd|}|} | WSt t fy}z6|j sd |_ |j d |_ tjj |g|d WYd}~n@d}~0t y>}ztjj |g|d WYd}~n d}~00dS) a Calls :py:func:`~oci.usage_api.UsageapiClient.delete_schedule` and waits for the :py:class:`~oci.usage_api.models.Schedule` acted upon to enter the given state(s). :param str schedule_id: (required) The schedule unique OCID. :param list[str] wait_for_states: An array of states to wait on. These should be valid values for :py:attr:`~oci.usage_api.models.Schedule.lifecycle_state` :param dict operation_kwargs: A dictionary of keyword arguments to pass to :py:func:`~oci.usage_api.UsageapiClient.delete_schedule` :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 NicSsg|] }|qSrr r rrrrdrzXUsageapiClientCompositeOperations.delete_schedule_and_wait_for_state..cs t|jdot|jdvSrrrrrrrjrzVUsageapiClientCompositeOperations.delete_schedule_and_wait_for_state..T)rsucceed_on_not_foundrrr)rr&delete_scheduler$r* ServiceErrorstatusrr%r'r(r)r+r,) rr2r.r/r0initial_get_resultr1r5r3r4rrr"delete_schedule_and_wait_for_stateEs<    &zDUsageapiClientCompositeOperations.delete_schedule_and_wait_for_statec s|jj||fi|}|s|Sdd|D|jj}z4tj|j|j|fdfddi|}|}|WSttfy} z6| j sd| _ | j d| _ tj j |g| dWYd } ~ n>d } ~ 0t y} ztj j |g| dWYd } ~ n d } ~ 00d S) ab Calls :py:func:`~oci.usage_api.UsageapiClient.update_schedule` and waits for the :py:class:`~oci.usage_api.models.Schedule` acted upon to enter the given state(s). :param oci.usage_api.models.UpdateScheduleDetails update_schedule_details: (required) The information to be updated. Currently supports only tags :param str schedule_id: (required) The schedule unique OCID. :param list[str] wait_for_states: An array of states to wait on. These should be valid values for :py:attr:`~oci.usage_api.models.Schedule.lifecycle_state` :param dict operation_kwargs: A dictionary of keyword arguments to pass to :py:func:`~oci.usage_api.UsageapiClient.update_schedule` :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 cSsg|] }|qSrr r rrrrrzXUsageapiClientCompositeOperations.update_schedule_and_wait_for_state..rcs t|jdot|jdvSrrrrrrrrzVUsageapiClientCompositeOperations.update_schedule_and_wait_for_state..rrrN) rupdate_schedulerr#r$r%r&r'r(r)r*r+r,) rupdate_schedule_detailsr2r.r/r0r1r3r4r5rrr"update_schedule_and_wait_for_stateys.   &zDUsageapiClientCompositeOperations.update_schedule_and_wait_for_stateN)__name__ __module__ __qualname____doc__r r6r<r?rrrrr s  +4r)r$oci.utilrobjectrrrrrs