403Webshell
Server IP : 162.144.4.212  /  Your IP : 216.73.216.108
Web Server : Apache
System : Linux gator2125.hostgator.com 5.14.0-162.23.1.9991722448259.nf.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 31 18:11:45 UTC 2024 x86_64
User : cozeellc ( 2980)
PHP Version : 8.3.31
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /usr/libexec/oracle-cloud-agent/plugins/osms/oci/database/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /usr/libexec/oracle-cloud-agent/plugins/osms/oci/database/database_client_composite_operations.pyc
a

N��f�*
�@s(ddlZddlmZGdd�de�ZdS)�N)�WAIT_RESOURCE_NOT_FOUNDc@s�eZdZdZ�d�dd�Zgiifdd�Zgiifdd�Zgiifd	d
�Zgiifdd�Zgiifd
d�Z	giifdd�Z
giifdd�Zgiifdd�Zgiifdd�Z
giifdd�Zgiifdd�Zgiifdd�Zgiifdd�Zgiifdd �Zgiifd!d"�Zgiifd#d$�Zgiifd%d&�Zgiifd'd(�Zgiifd)d*�Zgiifd+d,�Zgiifd-d.�Zgiifd/d0�Zgiifd1d2�Zgiifd3d4�Zgiifd5d6�Zgiifd7d8�Zgiifd9d:�Zgiifd;d<�Z giifd=d>�Z!giifd?d@�Z"giifdAdB�Z#giifdCdD�Z$giifdEdF�Z%giifdGdH�Z&giifdIdJ�Z'giifdKdL�Z(giifdMdN�Z)giifdOdP�Z*giifdQdR�Z+giifdSdT�Z,giifdUdV�Z-giifdWdX�Z.giifdYdZ�Z/giifd[d\�Z0giifd]d^�Z1giifd_d`�Z2giifdadb�Z3giifdcdd�Z4giifdedf�Z5giifdgdh�Z6giifdidj�Z7giifdkdl�Z8giifdmdn�Z9giifdodp�Z:giifdqdr�Z;giifdsdt�Z<giifdudv�Z=giifdwdx�Z>giifdydz�Z?giifd{d|�Z@giifd}d~�ZAgiifdd��ZBgiifd�d��ZCgiifd�d��ZDgiifd�d��ZEgiifd�d��ZFgiifd�d��ZGgiifd�d��ZHgiifd�d��ZIgiifd�d��ZJgiifd�d��ZKgiifd�d��ZLgiifd�d��ZMgiifd�d��ZNgiifd�d��ZOgiifd�d��ZPgiifd�d��ZQgiifd�d��ZRgiifd�d��ZSgiifd�d��ZTgiifd�d��ZUgiifd�d��ZVgiifd�d��ZWgiifd�d��ZXgiifd�d��ZYgiifd�d��ZZgiifd�d��Z[giifd�d��Z\giifd�d��Z]giifd�d��Z^giifd�d��Z_giifd�d��Z`giifd�d��Zagiifd�d��Zbgiifd�d„Zcgiifd�dĄZdgiifd�dƄZegiifd�dȄZfgiifd�dʄZggiifd�d̄Zhgiifd�d΄Zigiifd�dЄZjgiifd�d҄Zkgiifd�dԄZlgiifd�dքZmgiifd�d؄Zngiifd�dڄZogiifd�d܄Zpgiifd�dބZqgiifd�d�Zrgiifd�d�Zsgiifd�d�Ztgiifd�d�Zugiifd�d�Zvgiifd�d�Zwgiifd�d�Zxgiifd�d�Zygiifd�d�Zzgiifd�d�Z{giifd�d�Z|giifd�d��Z}giifd�d��Z~giifd�d��Zgiifd�d��Z�giifd�d��Z�giifd��d�Z�giif�d�d�Z�giif�d�d�Z�giif�d�d�Z�giif�d�d�Z�giif�d	�d
�Z�giif�d�d�Z�giif�d
�d�Z�giif�d�d�Z�giif�d�d�Z�giif�d�d�Z�giif�d�d�Z�giif�d�d�Z�giif�d�d�Z�giif�d�d�Z�giif�d�d�Z�giif�d�d �Z�giif�d!�d"�Z�giif�d#�d$�Z�giif�d%�d&�Z�giif�d'�d(�Z�giif�d)�d*�Z�giif�d+�d,�Z�giif�d-�d.�Z�giif�d/�d0�Z�giif�d1�d2�Z�giif�d3�d4�Z�giif�d5�d6�Z�giif�d7�d8�Z�giif�d9�d:�Z�giif�d;�d<�Z�giif�d=�d>�Z�giif�d?�d@�Z�giif�dA�dB�Z�giif�dC�dD�Z�giif�dE�dF�Z�giif�dG�dH�Z�giif�dI�dJ�Z�giif�dK�dL�Z�giif�dM�dN�Z�giif�dO�dP�Z�giif�dQ�dR�Z�giif�dS�dT�Z�giif�dU�dV�Z�giif�dW�dX�Z�giif�dY�dZ�Z�giif�d[�d\�Z�giif�d]�d^�Z�giif�d_�d`�Z�giif�da�db�Z�giif�dc�dd�Z�giif�de�df�Z�giif�dg�dh�Z�giif�di�dj�Z�giif�dk�dl�Z�giif�dm�dn�Z�giif�do�dp�Z�giif�dq�dr�Z�giif�ds�dt�Z�giif�du�dv�Z�giif�dw�dx�Z�giif�dy�dz�Z�giif�d{�d|�Z�giif�d}�d~�Z�giif�d�d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d„Z�giif�dÐdĄZ�giif�dŐdƄZ�giif�dǐdȄZ�giif�dɐdʄZ�giif�dːd̄Z�giif�d͐d΄Z�giif�dϐdЄZ�giif�dѐd҄Z�giif�dӐdԄZ�giif�dՐdքZ�giif�dאd؄Z�giif�dِdڄZ�giif�dېd܄Z�giif�dݐdބZ�giif�dߐd�Z�giif�d�d�Z�giif�d�d�Z�giif�d�d�Z�giif�d�d�Z�giif�d�d�Z�giif�d�d�Z�giif�d�d�Z�giif�d�d�Z�giif�d�d�Z�giif�d�d�Z�giif�d��d��Z�giif�d��d��Z�giif�d��d��Z�giif�d��d���ZdS(��!DatabaseClientCompositeOperationsa�
    This class provides a wrapper around :py:class:`~oci.database.DatabaseClient` 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
    NcKs0||_|r|ntjj|jjfi|jj��|_dS)ax
        Creates a new DatabaseClientCompositeOperations object

        :param DatabaseClient client:
            The service client which will be wrapped by this object

        :param oci.work_requests.WorkRequestClient work_request_client: (optional)
            The work request service client which will be used to wait for work request states. Default is None.
        N)�client�oci�
work_requests�WorkRequestClient�_config�_kwargs�_work_request_client)�selfr�work_request_client�kwargs�r��/sparta/input/_build_configuration/image_build+validate/lib/bmcenv/lib64/python3.9/site-packages/oci/database/database_client_composite_operations.py�__init__s
z*DatabaseClientCompositeOperations.__init__c

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.activate_exadata_infrastructure` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str exadata_infrastructure_id: (required)
            The Exadata infrastructure `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.ActivateExadataInfrastructureDetails activate_exadata_infrastructure_details: (required)
            The activation details for the Exadata infrastructure and the additional storage servers requested.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.activate_exadata_infrastructure`

        :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|]}|���qSr��lower��.0�wrrr�
<listcomp>8�zoDatabaseClientCompositeOperations.activate_exadata_infrastructure_and_wait_for_work_request.<locals>.<listcomp>�opc-work-request-id�evaluate_responsecs t|jd�ot|jd����vS�N�status��getattr�datar��r��lowered_work_request_statesrr�<lambda>?rzmDatabaseClientCompositeOperations.activate_exadata_infrastructure_and_wait_for_work_request.<locals>.<lambda>��partial_results�causeN)r�activate_exadata_infrastructurer�waiter� _WORK_REQUEST_TERMINATION_STATES�headers�
wait_untilr
�get_work_request�	Exception�
exceptions�CompositeOperationError)
r�exadata_infrastructure_id�'activate_exadata_infrastructure_details�work_request_states�operation_kwargs�
waiter_kwargs�operation_result�work_request_id�
waiter_result�err!r�9activate_exadata_infrastructure_and_wait_for_work_requests 

�
��z[DatabaseClientCompositeOperations.activate_exadata_infrastructure_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
aN
        Calls :py:func:`~oci.database.DatabaseClient.activate_exadata_infrastructure` and waits for the :py:class:`~oci.database.models.ExadataInfrastructure` acted upon
        to enter the given state(s).

        :param str exadata_infrastructure_id: (required)
            The Exadata infrastructure `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.ActivateExadataInfrastructureDetails activate_exadata_infrastructure_details: (required)
            The activation details for the Exadata infrastructure and the additional storage servers requested.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.ExadataInfrastructure.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.activate_exadata_infrastructure`

        :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|]}|���qSrrrrrrrarzhDatabaseClientCompositeOperations.activate_exadata_infrastructure_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vS�N�lifecycle_staterr��lowered_wait_for_statesrrr#hrzfDatabaseClientCompositeOperations.activate_exadata_infrastructure_and_wait_for_state.<locals>.<lambda>���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"r$N)
rr'r�idrr+�get_exadata_infrastructure�	NameError�	TypeError�argsr.r/r-)
rr0r1�wait_for_statesr3r4r5r7�result_to_returnr8rr<r�2activate_exadata_infrastructure_and_wait_for_stateFs.
�
��&zTDatabaseClientCompositeOperations.activate_exadata_infrastructure_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.add_storage_capacity_cloud_exadata_infrastructure` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str cloud_exadata_infrastructure_id: (required)
            The cloud Exadata infrastructure `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.add_storage_capacity_cloud_exadata_infrastructure`

        :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|]}|���qSrrrrrrr�rz�DatabaseClientCompositeOperations.add_storage_capacity_cloud_exadata_infrastructure_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzDatabaseClientCompositeOperations.add_storage_capacity_cloud_exadata_infrastructure_and_wait_for_work_request.<locals>.<lambda>r$N)r�1add_storage_capacity_cloud_exadata_infrastructurerr(r)r*r+r
r,r-r.r/�	r�cloud_exadata_infrastructure_idr2r3r4r5r6r7r8rr!r�Kadd_storage_capacity_cloud_exadata_infrastructure_and_wait_for_work_requestvs 

�
��zmDatabaseClientCompositeOperations.add_storage_capacity_cloud_exadata_infrastructure_and_wait_for_work_requestc	
s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}z6|j	s�d|_	|j	d|_	tj
j|g|d��WYd	}~n>d	}~0ty�}ztj
j|g|d��WYd	}~n
d	}~00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.add_storage_capacity_cloud_exadata_infrastructure` and waits for the :py:class:`~oci.database.models.CloudExadataInfrastructure` acted upon
        to enter the given state(s).

        :param str cloud_exadata_infrastructure_id: (required)
            The cloud Exadata infrastructure `OCID`__.

            __ 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.database.models.CloudExadataInfrastructure.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.add_storage_capacity_cloud_exadata_infrastructure`

        :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|]}|���qSrrrrrrr�rzzDatabaseClientCompositeOperations.add_storage_capacity_cloud_exadata_infrastructure_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rzxDatabaseClientCompositeOperations.add_storage_capacity_cloud_exadata_infrastructure_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrIrrArr+� get_cloud_exadata_infrastructurerCrDrEr.r/r-)	rrKrFr3r4r5r7rGr8rr<r�Dadd_storage_capacity_cloud_exadata_infrastructure_and_wait_for_state�s.
�
��&zfDatabaseClientCompositeOperations.add_storage_capacity_cloud_exadata_infrastructure_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.add_storage_capacity_exadata_infrastructure` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str exadata_infrastructure_id: (required)
            The Exadata infrastructure `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.add_storage_capacity_exadata_infrastructure`

        :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|]}|���qSrrrrrrr�rz{DatabaseClientCompositeOperations.add_storage_capacity_exadata_infrastructure_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzyDatabaseClientCompositeOperations.add_storage_capacity_exadata_infrastructure_and_wait_for_work_request.<locals>.<lambda>r$N)r�+add_storage_capacity_exadata_infrastructurerr(r)r*r+r
r,r-r.r/�	rr0r2r3r4r5r6r7r8rr!r�Eadd_storage_capacity_exadata_infrastructure_and_wait_for_work_request�s 

�
��zgDatabaseClientCompositeOperations.add_storage_capacity_exadata_infrastructure_and_wait_for_work_requestc	
s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}z6|j	s�d|_	|j	d|_	tj
j|g|d��WYd	}~n>d	}~0ty�}ztj
j|g|d��WYd	}~n
d	}~00d	S)
ay
        Calls :py:func:`~oci.database.DatabaseClient.add_storage_capacity_exadata_infrastructure` and waits for the :py:class:`~oci.database.models.ExadataInfrastructure` acted upon
        to enter the given state(s).

        :param str exadata_infrastructure_id: (required)
            The Exadata infrastructure `OCID`__.

            __ 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.database.models.ExadataInfrastructure.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.add_storage_capacity_exadata_infrastructure`

        :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|]}|���qSrrrrrrrrztDatabaseClientCompositeOperations.add_storage_capacity_exadata_infrastructure_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#rzrDatabaseClientCompositeOperations.add_storage_capacity_exadata_infrastructure_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrOrrArr+rBrCrDrEr.r/r-)	rr0rFr3r4r5r7rGr8rr<r�>add_storage_capacity_exadata_infrastructure_and_wait_for_state�s.
�
��&z`DatabaseClientCompositeOperations.add_storage_capacity_exadata_infrastructure_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.add_virtual_machine_to_cloud_vm_cluster` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.AddVirtualMachineToCloudVmClusterDetails add_virtual_machine_to_cloud_vm_cluster_details: (required)
            Request to add Virtual Machines to the Cloud VM cluster.

        :param str cloud_vm_cluster_id: (required)
            The cloud VM cluster `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.add_virtual_machine_to_cloud_vm_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
        cSsg|]}|���qSrrrrrrr4rzwDatabaseClientCompositeOperations.add_virtual_machine_to_cloud_vm_cluster_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#;rzuDatabaseClientCompositeOperations.add_virtual_machine_to_cloud_vm_cluster_and_wait_for_work_request.<locals>.<lambda>r$N)r�'add_virtual_machine_to_cloud_vm_clusterrr(r)r*r+r
r,r-r.r/)
r�/add_virtual_machine_to_cloud_vm_cluster_details�cloud_vm_cluster_idr2r3r4r5r6r7r8rr!r�Aadd_virtual_machine_to_cloud_vm_cluster_and_wait_for_work_requests 

�
��zcDatabaseClientCompositeOperations.add_virtual_machine_to_cloud_vm_cluster_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a%
        Calls :py:func:`~oci.database.DatabaseClient.add_virtual_machine_to_cloud_vm_cluster` and waits for the :py:class:`~oci.database.models.CloudVmCluster` acted upon
        to enter the given state(s).

        :param oci.database.models.AddVirtualMachineToCloudVmClusterDetails add_virtual_machine_to_cloud_vm_cluster_details: (required)
            Request to add Virtual Machines to the Cloud VM cluster.

        :param str cloud_vm_cluster_id: (required)
            The cloud VM cluster `OCID`__.

            __ 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.database.models.CloudVmCluster.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.add_virtual_machine_to_cloud_vm_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
        cSsg|]}|���qSrrrrrrr]rzpDatabaseClientCompositeOperations.add_virtual_machine_to_cloud_vm_cluster_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#drznDatabaseClientCompositeOperations.add_virtual_machine_to_cloud_vm_cluster_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrSrrArr+�get_cloud_vm_clusterrCrDrEr.r/r-)
rrTrUrFr3r4r5r7rGr8rr<r�:add_virtual_machine_to_cloud_vm_cluster_and_wait_for_stateBs.
�
��&z\DatabaseClientCompositeOperations.add_virtual_machine_to_cloud_vm_cluster_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	ab
        Calls :py:func:`~oci.database.DatabaseClient.add_virtual_machine_to_vm_cluster` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.AddVirtualMachineToVmClusterDetails add_virtual_machine_to_vm_cluster_details: (required)
            Request to add Virtual Machines to the VM cluster.

        :param str vm_cluster_id: (required)
            The VM cluster `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.add_virtual_machine_to_vm_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
        cSsg|]}|���qSrrrrrrr�rzqDatabaseClientCompositeOperations.add_virtual_machine_to_vm_cluster_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzoDatabaseClientCompositeOperations.add_virtual_machine_to_vm_cluster_and_wait_for_work_request.<locals>.<lambda>r$N)r�!add_virtual_machine_to_vm_clusterrr(r)r*r+r
r,r-r.r/)
r�)add_virtual_machine_to_vm_cluster_details�
vm_cluster_idr2r3r4r5r6r7r8rr!r�;add_virtual_machine_to_vm_cluster_and_wait_for_work_requestrs 

�
��z]DatabaseClientCompositeOperations.add_virtual_machine_to_vm_cluster_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.add_virtual_machine_to_vm_cluster` and waits for the :py:class:`~oci.database.models.VmCluster` acted upon
        to enter the given state(s).

        :param oci.database.models.AddVirtualMachineToVmClusterDetails add_virtual_machine_to_vm_cluster_details: (required)
            Request to add Virtual Machines to the VM cluster.

        :param str vm_cluster_id: (required)
            The VM cluster `OCID`__.

            __ 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.database.models.VmCluster.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.add_virtual_machine_to_vm_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
        cSsg|]}|���qSrrrrrrr�rzjDatabaseClientCompositeOperations.add_virtual_machine_to_vm_cluster_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rzhDatabaseClientCompositeOperations.add_virtual_machine_to_vm_cluster_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrYrrArr+�get_vm_clusterrCrDrEr.r/r-)
rrZr[rFr3r4r5r7rGr8rr<r�4add_virtual_machine_to_vm_cluster_and_wait_for_state�s.
�
��&zVDatabaseClientCompositeOperations.add_virtual_machine_to_vm_cluster_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.autonomous_database_manual_refresh` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.AutonomousDatabaseManualRefreshDetails autonomous_database_manual_refresh_details: (required)
            Request details for manually refreshing an Autonomous Database refreshable clone.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.autonomous_database_manual_refresh`

        :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|]}|���qSrrrrrrr�rzrDatabaseClientCompositeOperations.autonomous_database_manual_refresh_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzpDatabaseClientCompositeOperations.autonomous_database_manual_refresh_and_wait_for_work_request.<locals>.<lambda>r$N)r�"autonomous_database_manual_refreshrr(r)r*r+r
r,r-r.r/)
r�autonomous_database_id�*autonomous_database_manual_refresh_detailsr2r3r4r5r6r7r8rr!r�<autonomous_database_manual_refresh_and_wait_for_work_request�s 

�
��z^DatabaseClientCompositeOperations.autonomous_database_manual_refresh_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a0
        Calls :py:func:`~oci.database.DatabaseClient.autonomous_database_manual_refresh` and waits for the :py:class:`~oci.database.models.AutonomousDatabase` acted upon
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.AutonomousDatabaseManualRefreshDetails autonomous_database_manual_refresh_details: (required)
            Request details for manually refreshing an Autonomous Database refreshable clone.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.AutonomousDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.autonomous_database_manual_refresh`

        :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|]}|���qSrrrrrrr
rzkDatabaseClientCompositeOperations.autonomous_database_manual_refresh_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#rziDatabaseClientCompositeOperations.autonomous_database_manual_refresh_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr_rrArr+�get_autonomous_databaserCrDrEr.r/r-)
rr`rarFr3r4r5r7rGr8rr<r�5autonomous_database_manual_refresh_and_wait_for_state�s.
�
��&zWDatabaseClientCompositeOperations.autonomous_database_manual_refresh_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.change_autonomous_container_database_compartment` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.ChangeCompartmentDetails change_compartment_details: (required)
            Request to move Autonomous Container Database to a different compartment

        :param str autonomous_container_database_id: (required)
            The Autonomous Container Database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.change_autonomous_container_database_compartment`

        :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|]}|���qSrrrrrrr<rz�DatabaseClientCompositeOperations.change_autonomous_container_database_compartment_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#Crz~DatabaseClientCompositeOperations.change_autonomous_container_database_compartment_and_wait_for_work_request.<locals>.<lambda>r$N)r�0change_autonomous_container_database_compartmentrr(r)r*r+r
r,r-r.r/)
r�change_compartment_details� autonomous_container_database_idr2r3r4r5r6r7r8rr!r�Jchange_autonomous_container_database_compartment_and_wait_for_work_request"s 

�
��zlDatabaseClientCompositeOperations.change_autonomous_container_database_compartment_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	ae
        Calls :py:func:`~oci.database.DatabaseClient.change_autonomous_database_compartment` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.ChangeCompartmentDetails change_compartment_details: (required)
            Request to move Autonomous Database to a different compartment

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.change_autonomous_database_compartment`

        :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|]}|���qSrrrrrrrdrzvDatabaseClientCompositeOperations.change_autonomous_database_compartment_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#krztDatabaseClientCompositeOperations.change_autonomous_database_compartment_and_wait_for_work_request.<locals>.<lambda>r$N)r�&change_autonomous_database_compartmentrr(r)r*r+r
r,r-r.r/)
rrfr`r2r3r4r5r6r7r8rr!r�@change_autonomous_database_compartment_and_wait_for_work_requestJs 

�
��zbDatabaseClientCompositeOperations.change_autonomous_database_compartment_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.change_autonomous_exadata_infrastructure_compartment` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.ChangeCompartmentDetails change_compartment_details: (required)
            Request to move an Autonomous Exadata Infrastructure resource to a different compartment.

        :param str autonomous_exadata_infrastructure_id: (required)
            The Autonomous Exadata Infrastructure  `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.change_autonomous_exadata_infrastructure_compartment`

        :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|]}|���qSrrrrrrr�rz�DatabaseClientCompositeOperations.change_autonomous_exadata_infrastructure_compartment_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rz�DatabaseClientCompositeOperations.change_autonomous_exadata_infrastructure_compartment_and_wait_for_work_request.<locals>.<lambda>r$N)r�4change_autonomous_exadata_infrastructure_compartmentrr(r)r*r+r
r,r-r.r/)
rrf�$autonomous_exadata_infrastructure_idr2r3r4r5r6r7r8rr!r�Nchange_autonomous_exadata_infrastructure_compartment_and_wait_for_work_requestrs 

�
��zpDatabaseClientCompositeOperations.change_autonomous_exadata_infrastructure_compartment_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.change_autonomous_vm_cluster_compartment` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.ChangeAutonomousVmClusterCompartmentDetails change_autonomous_vm_cluster_compartment_details: (required)
            Request to move Autonomous VM cluster to a different compartment

        :param str autonomous_vm_cluster_id: (required)
            The autonomous VM cluster `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.change_autonomous_vm_cluster_compartment`

        :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|]}|���qSrrrrrrr�rzxDatabaseClientCompositeOperations.change_autonomous_vm_cluster_compartment_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzvDatabaseClientCompositeOperations.change_autonomous_vm_cluster_compartment_and_wait_for_work_request.<locals>.<lambda>r$N)r�(change_autonomous_vm_cluster_compartmentrr(r)r*r+r
r,r-r.r/)
r�0change_autonomous_vm_cluster_compartment_details�autonomous_vm_cluster_idr2r3r4r5r6r7r8rr!r�Bchange_autonomous_vm_cluster_compartment_and_wait_for_work_request�s 

�
��zdDatabaseClientCompositeOperations.change_autonomous_vm_cluster_compartment_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	as
        Calls :py:func:`~oci.database.DatabaseClient.change_backup_destination_compartment` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.ChangeCompartmentDetails change_compartment_details: (required)
            Request to move backup destination to a different compartment.

        :param str backup_destination_id: (required)
            The `OCID`__ of the backup destination.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.change_backup_destination_compartment`

        :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|]}|���qSrrrrrrr�rzuDatabaseClientCompositeOperations.change_backup_destination_compartment_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzsDatabaseClientCompositeOperations.change_backup_destination_compartment_and_wait_for_work_request.<locals>.<lambda>r$N)r�%change_backup_destination_compartmentrr(r)r*r+r
r,r-r.r/)
rrf�backup_destination_idr2r3r4r5r6r7r8rr!r�?change_backup_destination_compartment_and_wait_for_work_request�s 

�
��zaDatabaseClientCompositeOperations.change_backup_destination_compartment_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.change_cloud_autonomous_vm_cluster_compartment` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.ChangeCloudAutonomousVmClusterCompartmentDetails change_cloud_autonomous_vm_cluster_compartment_details: (required)
            Request to move cloud Autonomous VM cluster to a different compartment

        :param str cloud_autonomous_vm_cluster_id: (required)
            The Cloud VM cluster `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.change_cloud_autonomous_vm_cluster_compartment`

        :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|]}|���qSrrrrrrrrz~DatabaseClientCompositeOperations.change_cloud_autonomous_vm_cluster_compartment_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#rz|DatabaseClientCompositeOperations.change_cloud_autonomous_vm_cluster_compartment_and_wait_for_work_request.<locals>.<lambda>r$N)r�.change_cloud_autonomous_vm_cluster_compartmentrr(r)r*r+r
r,r-r.r/)
r�6change_cloud_autonomous_vm_cluster_compartment_details�cloud_autonomous_vm_cluster_idr2r3r4r5r6r7r8rr!r�Hchange_cloud_autonomous_vm_cluster_compartment_and_wait_for_work_request�s 

�
��zjDatabaseClientCompositeOperations.change_cloud_autonomous_vm_cluster_compartment_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.change_cloud_exadata_infrastructure_compartment` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.ChangeCloudExadataInfrastructureCompartmentDetails change_cloud_exadata_infrastructure_compartment_details: (required)
            Request to move cloud Exadata infrastructure resource to a different compartment.

        :param str cloud_exadata_infrastructure_id: (required)
            The cloud Exadata infrastructure `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.change_cloud_exadata_infrastructure_compartment`

        :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|]}|���qSrrrrrrr,rzDatabaseClientCompositeOperations.change_cloud_exadata_infrastructure_compartment_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#3rz}DatabaseClientCompositeOperations.change_cloud_exadata_infrastructure_compartment_and_wait_for_work_request.<locals>.<lambda>r$N)r�/change_cloud_exadata_infrastructure_compartmentrr(r)r*r+r
r,r-r.r/)
r�7change_cloud_exadata_infrastructure_compartment_detailsrKr2r3r4r5r6r7r8rr!r�Ichange_cloud_exadata_infrastructure_compartment_and_wait_for_work_requests 

�
��zkDatabaseClientCompositeOperations.change_cloud_exadata_infrastructure_compartment_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.change_cloud_vm_cluster_compartment` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.ChangeCloudVmClusterCompartmentDetails change_cloud_vm_cluster_compartment_details: (required)
            Request to move cloud VM cluster to a different compartment

        :param str cloud_vm_cluster_id: (required)
            The cloud VM cluster `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.change_cloud_vm_cluster_compartment`

        :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|]}|���qSrrrrrrrTrzsDatabaseClientCompositeOperations.change_cloud_vm_cluster_compartment_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#[rzqDatabaseClientCompositeOperations.change_cloud_vm_cluster_compartment_and_wait_for_work_request.<locals>.<lambda>r$N)r�#change_cloud_vm_cluster_compartmentrr(r)r*r+r
r,r-r.r/)
r�+change_cloud_vm_cluster_compartment_detailsrUr2r3r4r5r6r7r8rr!r�=change_cloud_vm_cluster_compartment_and_wait_for_work_request:s 

�
��z_DatabaseClientCompositeOperations.change_cloud_vm_cluster_compartment_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	av
        Calls :py:func:`~oci.database.DatabaseClient.change_database_software_image_compartment` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.ChangeCompartmentDetails change_compartment_details: (required)
            Request to move Database Software Image to a different compartment

        :param str database_software_image_id: (required)
            The DB system `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.change_database_software_image_compartment`

        :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|]}|���qSrrrrrrr|rzzDatabaseClientCompositeOperations.change_database_software_image_compartment_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzxDatabaseClientCompositeOperations.change_database_software_image_compartment_and_wait_for_work_request.<locals>.<lambda>r$N)r�*change_database_software_image_compartmentrr(r)r*r+r
r,r-r.r/)
rrf�database_software_image_idr2r3r4r5r6r7r8rr!r�Dchange_database_software_image_compartment_and_wait_for_work_requestbs 

�
��zfDatabaseClientCompositeOperations.change_database_software_image_compartment_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.change_db_system_compartment` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.ChangeCompartmentDetails change_compartment_details: (required)
            Request to move the DB system to a different compartment.

            **Note:** Deprecated for Exadata Cloud Service systems. Use the `new resource model APIs`__ instead.

            For Exadata Cloud Service instances, support for this API will end on May 15th, 2021. See `Switching an Exadata DB System to the New Resource Model and APIs`__ for details on converting existing Exadata DB systems to the new resource model.

            __ https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/exaflexsystem.htm#exaflexsystem_topic-resource_model
            __ https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/exaflexsystem_topic-resource_model_conversion.htm

        :param str db_system_id: (required)
            The DB system `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.change_db_system_compartment`

        :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|]}|���qSrrrrrrr�rzlDatabaseClientCompositeOperations.change_db_system_compartment_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzjDatabaseClientCompositeOperations.change_db_system_compartment_and_wait_for_work_request.<locals>.<lambda>r$N)r�change_db_system_compartmentrr(r)r*r+r
r,r-r.r/)
rrf�db_system_idr2r3r4r5r6r7r8rr!r�6change_db_system_compartment_and_wait_for_work_request�s 

�
��zXDatabaseClientCompositeOperations.change_db_system_compartment_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.change_exadata_infrastructure_compartment` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.ChangeExadataInfrastructureCompartmentDetails change_exadata_infrastructure_compartment_details: (required)
            Request to move Exadata infrastructure to a different compartment

        :param str exadata_infrastructure_id: (required)
            The Exadata infrastructure `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.change_exadata_infrastructure_compartment`

        :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|]}|���qSrrrrrrr�rzyDatabaseClientCompositeOperations.change_exadata_infrastructure_compartment_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzwDatabaseClientCompositeOperations.change_exadata_infrastructure_compartment_and_wait_for_work_request.<locals>.<lambda>r$N)r�)change_exadata_infrastructure_compartmentrr(r)r*r+r
r,r-r.r/)
r�1change_exadata_infrastructure_compartment_detailsr0r2r3r4r5r6r7r8rr!r�Cchange_exadata_infrastructure_compartment_and_wait_for_work_request�s 

�
��zeDatabaseClientCompositeOperations.change_exadata_infrastructure_compartment_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.change_external_container_database_compartment` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.ChangeCompartmentDetails change_compartment_details: (required)
            Request to move the external container database to a different compartment.

        :param str external_container_database_id: (required)
            The ExternalContainerDatabase `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.change_external_container_database_compartment`

        :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|]}|���qSrrrrrrr�rz~DatabaseClientCompositeOperations.change_external_container_database_compartment_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#rz|DatabaseClientCompositeOperations.change_external_container_database_compartment_and_wait_for_work_request.<locals>.<lambda>r$N)r�.change_external_container_database_compartmentrr(r)r*r+r
r,r-r.r/)
rrf�external_container_database_idr2r3r4r5r6r7r8rr!r�Hchange_external_container_database_compartment_and_wait_for_work_request�s 

�
��zjDatabaseClientCompositeOperations.change_external_container_database_compartment_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.change_external_non_container_database_compartment` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.ChangeCompartmentDetails change_compartment_details: (required)
            Request to move the external non-container database to a different compartment.

        :param str external_non_container_database_id: (required)
            The external non-container database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.change_external_non_container_database_compartment`

        :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|]}|���qSrrrrrrr#rz�DatabaseClientCompositeOperations.change_external_non_container_database_compartment_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#*rz�DatabaseClientCompositeOperations.change_external_non_container_database_compartment_and_wait_for_work_request.<locals>.<lambda>r$N)r�2change_external_non_container_database_compartmentrr(r)r*r+r
r,r-r.r/)
rrf�"external_non_container_database_idr2r3r4r5r6r7r8rr!r�Lchange_external_non_container_database_compartment_and_wait_for_work_request	s 

�
��znDatabaseClientCompositeOperations.change_external_non_container_database_compartment_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.change_external_pluggable_database_compartment` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.ChangeCompartmentDetails change_compartment_details: (required)
            Request to move the
            :func:`create_external_pluggable_database_details` resource
            to a different compartment.

        :param str external_pluggable_database_id: (required)
            The ExternalPluggableDatabaseId `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.change_external_pluggable_database_compartment`

        :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|]}|���qSrrrrrrrMrz~DatabaseClientCompositeOperations.change_external_pluggable_database_compartment_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#Trz|DatabaseClientCompositeOperations.change_external_pluggable_database_compartment_and_wait_for_work_request.<locals>.<lambda>r$N)r�.change_external_pluggable_database_compartmentrr(r)r*r+r
r,r-r.r/)
rrf�external_pluggable_database_idr2r3r4r5r6r7r8rr!r�Hchange_external_pluggable_database_compartment_and_wait_for_work_request1s 

�
��zjDatabaseClientCompositeOperations.change_external_pluggable_database_compartment_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	aW
        Calls :py:func:`~oci.database.DatabaseClient.change_key_store_compartment` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.ChangeKeyStoreCompartmentDetails change_key_store_compartment_details: (required)
            Request to move key store to a different compartment

        :param str key_store_id: (required)
            The `OCID`__ of the key store.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.change_key_store_compartment`

        :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|]}|���qSrrrrrrrurzlDatabaseClientCompositeOperations.change_key_store_compartment_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#|rzjDatabaseClientCompositeOperations.change_key_store_compartment_and_wait_for_work_request.<locals>.<lambda>r$N)r�change_key_store_compartmentrr(r)r*r+r
r,r-r.r/)
r�$change_key_store_compartment_details�key_store_idr2r3r4r5r6r7r8rr!r�6change_key_store_compartment_and_wait_for_work_request[s 

�
��zXDatabaseClientCompositeOperations.change_key_store_compartment_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	as
        Calls :py:func:`~oci.database.DatabaseClient.change_vm_cluster_compartment` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.ChangeVmClusterCompartmentDetails change_vm_cluster_compartment_details: (required)
            Request to move the Exadata Cloud@Customer VM cluster to a different compartment.

        :param str vm_cluster_id: (required)
            The VM cluster `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.change_vm_cluster_compartment`

        :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|]}|���qSrrrrrrr�rzmDatabaseClientCompositeOperations.change_vm_cluster_compartment_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzkDatabaseClientCompositeOperations.change_vm_cluster_compartment_and_wait_for_work_request.<locals>.<lambda>r$N)r�change_vm_cluster_compartmentrr(r)r*r+r
r,r-r.r/)
r�%change_vm_cluster_compartment_detailsr[r2r3r4r5r6r7r8rr!r�7change_vm_cluster_compartment_and_wait_for_work_request�s 

�
��zYDatabaseClientCompositeOperations.change_vm_cluster_compartment_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a'
        Calls :py:func:`~oci.database.DatabaseClient.check_external_database_connector_connection_status` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_database_connector_id: (required)
            The `OCID`__ of the
            external database connector resource (`ExternalDatabaseConnectorId`).

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.check_external_database_connector_connection_status`

        :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|]}|���qSrrrrrrr�rz�DatabaseClientCompositeOperations.check_external_database_connector_connection_status_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rz�DatabaseClientCompositeOperations.check_external_database_connector_connection_status_and_wait_for_work_request.<locals>.<lambda>r$N)r�3check_external_database_connector_connection_statusrr(r)r*r+r
r,r-r.r/�	r�external_database_connector_idr2r3r4r5r6r7r8rr!r�Mcheck_external_database_connector_connection_status_and_wait_for_work_request�s 

�
��zoDatabaseClientCompositeOperations.check_external_database_connector_connection_status_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a@
        Calls :py:func:`~oci.database.DatabaseClient.complete_external_backup_job` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str backup_id: (required)
            The backup `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.CompleteExternalBackupJobDetails complete_external_backup_job_details: (required)
            Updates the status of the backup resource.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.complete_external_backup_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
        cSsg|]}|���qSrrrrrrr�rzlDatabaseClientCompositeOperations.complete_external_backup_job_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzjDatabaseClientCompositeOperations.complete_external_backup_job_and_wait_for_work_request.<locals>.<lambda>r$N)r�complete_external_backup_jobrr(r)r*r+r
r,r-r.r/)
r�	backup_id�$complete_external_backup_job_detailsr2r3r4r5r6r7r8rr!r�6complete_external_backup_job_and_wait_for_work_request�s 

�
��zXDatabaseClientCompositeOperations.complete_external_backup_job_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.configure_autonomous_database_vault_key` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.ConfigureAutonomousDatabaseVaultKeyDetails configure_autonomous_database_vault_key_details: (required)
            Configuration details for the Autonomous Database Vault service `key`__.

            __ https://docs.cloud.oracle.com/Content/KeyManagement/Concepts/keyoverview.htm#concepts

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.configure_autonomous_database_vault_key`

        :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|]}|���qSrrrrrrrrzwDatabaseClientCompositeOperations.configure_autonomous_database_vault_key_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#rzuDatabaseClientCompositeOperations.configure_autonomous_database_vault_key_and_wait_for_work_request.<locals>.<lambda>r$N)r�'configure_autonomous_database_vault_keyrr(r)r*r+r
r,r-r.r/)
rr`�/configure_autonomous_database_vault_key_detailsr2r3r4r5r6r7r8rr!r�Aconfigure_autonomous_database_vault_key_and_wait_for_work_request�s 

�
��zcDatabaseClientCompositeOperations.configure_autonomous_database_vault_key_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a'
        Calls :py:func:`~oci.database.DatabaseClient.convert_to_pdb` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.ConvertToPdbDetails convert_to_pdb_details: (required)
            Request to convert a non-container database to a pluggable database.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.convert_to_pdb`

        :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|]}|���qSrrrrrrr=rz^DatabaseClientCompositeOperations.convert_to_pdb_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#Drz\DatabaseClientCompositeOperations.convert_to_pdb_and_wait_for_work_request.<locals>.<lambda>r$N)r�convert_to_pdbrr(r)r*r+r
r,r-r.r/)
r�database_id�convert_to_pdb_detailsr2r3r4r5r6r7r8rr!r�(convert_to_pdb_and_wait_for_work_request#s 

�
��zJDatabaseClientCompositeOperations.convert_to_pdb_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.convert_to_pdb` and waits for the :py:class:`~oci.database.models.Database` acted upon
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.ConvertToPdbDetails convert_to_pdb_details: (required)
            Request to convert a non-container database to a pluggable database.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.Database.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.convert_to_pdb`

        :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|]}|���qSrrrrrrrfrzWDatabaseClientCompositeOperations.convert_to_pdb_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#mrzUDatabaseClientCompositeOperations.convert_to_pdb_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+�get_databaserCrDrEr.r/r-)
rr�r�rFr3r4r5r7rGr8rr<r�!convert_to_pdb_and_wait_for_stateKs.
�
��&zCDatabaseClientCompositeOperations.convert_to_pdb_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a
        Calls :py:func:`~oci.database.DatabaseClient.create_autonomous_container_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.CreateAutonomousContainerDatabaseDetails create_autonomous_container_database_details: (required)
            Request to create an Autonomous Container Database in a specified Autonomous Exadata Infrastructure or in Autonomous VM Cluster.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_autonomous_container_database`

        :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|]}|���qSrrrrrrr�rztDatabaseClientCompositeOperations.create_autonomous_container_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzrDatabaseClientCompositeOperations.create_autonomous_container_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�$create_autonomous_container_databaserr(r)r*r+r
r,r-r.r/)	r�,create_autonomous_container_database_detailsr2r3r4r5r6r7r8rr!r�>create_autonomous_container_database_and_wait_for_work_request{s 

�
��z`DatabaseClientCompositeOperations.create_autonomous_container_database_and_wait_for_work_requestc

s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.create_autonomous_container_database` and waits for the :py:class:`~oci.database.models.AutonomousContainerDatabase` acted upon
        to enter the given state(s).

        :param oci.database.models.CreateAutonomousContainerDatabaseDetails create_autonomous_container_database_details: (required)
            Request to create an Autonomous Container Database in a specified Autonomous Exadata Infrastructure or in Autonomous VM Cluster.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.AutonomousContainerDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_autonomous_container_database`

        :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|]}|���qSrrrrrrr�rzmDatabaseClientCompositeOperations.create_autonomous_container_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rzkDatabaseClientCompositeOperations.create_autonomous_container_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+�!get_autonomous_container_databaserCrDrEr.r/r-)
rr�rFr3r4r5rgr7rGr8rr<r�7create_autonomous_container_database_and_wait_for_state�s.
�
��&zYDatabaseClientCompositeOperations.create_autonomous_container_database_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.create_autonomous_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.CreateAutonomousDatabaseBase create_autonomous_database_details: (required)
            Request to create a new Autonomous Database.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_autonomous_database`

        :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|]}|���qSrrrrrrr�rzjDatabaseClientCompositeOperations.create_autonomous_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzhDatabaseClientCompositeOperations.create_autonomous_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�create_autonomous_databaserr(r)r*r+r
r,r-r.r/)	r�"create_autonomous_database_detailsr2r3r4r5r6r7r8rr!r�4create_autonomous_database_and_wait_for_work_request�s 

�
��zVDatabaseClientCompositeOperations.create_autonomous_database_and_wait_for_work_requestc

s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a8
        Calls :py:func:`~oci.database.DatabaseClient.create_autonomous_database` and waits for the :py:class:`~oci.database.models.AutonomousDatabase` acted upon
        to enter the given state(s).

        :param oci.database.models.CreateAutonomousDatabaseBase create_autonomous_database_details: (required)
            Request to create a new Autonomous Database.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.AutonomousDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_autonomous_database`

        :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|]}|���qSrrrrrrrrzcDatabaseClientCompositeOperations.create_autonomous_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#	rzaDatabaseClientCompositeOperations.create_autonomous_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+rcrCrDrEr.r/r-)
rr�rFr3r4r5r`r7rGr8rr<r�-create_autonomous_database_and_wait_for_state�s.
�
��&zODatabaseClientCompositeOperations.create_autonomous_database_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.create_autonomous_database_backup` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.CreateAutonomousDatabaseBackupDetails create_autonomous_database_backup_details: (required)
            Request to create a new Autonomous Database backup.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_autonomous_database_backup`

        :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|]}|���qSrrrrrrr,rzqDatabaseClientCompositeOperations.create_autonomous_database_backup_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#3rzoDatabaseClientCompositeOperations.create_autonomous_database_backup_and_wait_for_work_request.<locals>.<lambda>r$N)r�!create_autonomous_database_backuprr(r)r*r+r
r,r-r.r/)	r�)create_autonomous_database_backup_detailsr2r3r4r5r6r7r8rr!r�;create_autonomous_database_backup_and_wait_for_work_requests 

�
��z]DatabaseClientCompositeOperations.create_autonomous_database_backup_and_wait_for_work_requestc

s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
ai
        Calls :py:func:`~oci.database.DatabaseClient.create_autonomous_database_backup` and waits for the :py:class:`~oci.database.models.AutonomousDatabaseBackup` acted upon
        to enter the given state(s).

        :param oci.database.models.CreateAutonomousDatabaseBackupDetails create_autonomous_database_backup_details: (required)
            Request to create a new Autonomous Database backup.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.AutonomousDatabaseBackup.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_autonomous_database_backup`

        :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|]}|���qSrrrrrrrPrzjDatabaseClientCompositeOperations.create_autonomous_database_backup_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#WrzhDatabaseClientCompositeOperations.create_autonomous_database_backup_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+�get_autonomous_database_backuprCrDrEr.r/r-)
rr�rFr3r4r5�autonomous_database_backup_idr7rGr8rr<r�4create_autonomous_database_backup_and_wait_for_state:s.
�
��&zVDatabaseClientCompositeOperations.create_autonomous_database_backup_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.create_autonomous_vm_cluster` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.CreateAutonomousVmClusterDetails create_autonomous_vm_cluster_details: (required)
            Request to create an Autonomous VM cluster.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_autonomous_vm_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
        cSsg|]}|���qSrrrrrrrzrzlDatabaseClientCompositeOperations.create_autonomous_vm_cluster_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzjDatabaseClientCompositeOperations.create_autonomous_vm_cluster_and_wait_for_work_request.<locals>.<lambda>r$N)r�create_autonomous_vm_clusterrr(r)r*r+r
r,r-r.r/)	r�$create_autonomous_vm_cluster_detailsr2r3r4r5r6r7r8rr!r�6create_autonomous_vm_cluster_and_wait_for_work_requestes 

�
��zXDatabaseClientCompositeOperations.create_autonomous_vm_cluster_and_wait_for_work_requestc

s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
aC
        Calls :py:func:`~oci.database.DatabaseClient.create_autonomous_vm_cluster` and waits for the :py:class:`~oci.database.models.AutonomousVmCluster` acted upon
        to enter the given state(s).

        :param oci.database.models.CreateAutonomousVmClusterDetails create_autonomous_vm_cluster_details: (required)
            Request to create an Autonomous VM cluster.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.AutonomousVmCluster.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_autonomous_vm_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
        cSsg|]}|���qSrrrrrrr�rzeDatabaseClientCompositeOperations.create_autonomous_vm_cluster_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rzcDatabaseClientCompositeOperations.create_autonomous_vm_cluster_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+�get_autonomous_vm_clusterrCrDrEr.r/r-)
rr�rFr3r4r5rpr7rGr8rr<r�/create_autonomous_vm_cluster_and_wait_for_state�s.
�
��&zQDatabaseClientCompositeOperations.create_autonomous_vm_cluster_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	ab
        Calls :py:func:`~oci.database.DatabaseClient.create_backup` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.CreateBackupDetails create_backup_details: (required)
            Request to create a new database backup.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_backup`

        :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|]}|���qSrrrrrrr�rz]DatabaseClientCompositeOperations.create_backup_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rz[DatabaseClientCompositeOperations.create_backup_and_wait_for_work_request.<locals>.<lambda>r$N)r�
create_backuprr(r)r*r+r
r,r-r.r/)	r�create_backup_detailsr2r3r4r5r6r7r8rr!r�'create_backup_and_wait_for_work_request�s 

�
��zIDatabaseClientCompositeOperations.create_backup_and_wait_for_work_requestc

s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.create_backup` and waits for the :py:class:`~oci.database.models.Backup` acted upon
        to enter the given state(s).

        :param oci.database.models.CreateBackupDetails create_backup_details: (required)
            Request to create a new database backup.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.Backup.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_backup`

        :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|]}|���qSrrrrrrr�rzVDatabaseClientCompositeOperations.create_backup_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rzTDatabaseClientCompositeOperations.create_backup_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+�
get_backuprCrDrEr.r/r-)
rr�rFr3r4r5r�r7rGr8rr<r� create_backup_and_wait_for_state�s.
�
��&zBDatabaseClientCompositeOperations.create_backup_and_wait_for_statec

s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a4
        Calls :py:func:`~oci.database.DatabaseClient.create_backup_destination` and waits for the :py:class:`~oci.database.models.BackupDestination` acted upon
        to enter the given state(s).

        :param oci.database.models.CreateBackupDestinationDetails create_backup_destination_details: (required)
            Request to create a new backup destination.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.BackupDestination.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_backup_destination`

        :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|]}|���qSrrrrrrrrzbDatabaseClientCompositeOperations.create_backup_destination_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#rz`DatabaseClientCompositeOperations.create_backup_destination_and_wait_for_state.<locals>.<lambda>r>r@r$N)
r�create_backup_destinationrrArr+�get_backup_destinationrCrDrEr.r/r-)
r�!create_backup_destination_detailsrFr3r4r5rsr7rGr8rr<r�,create_backup_destination_and_wait_for_states.
�
��&zNDatabaseClientCompositeOperations.create_backup_destination_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.create_cloud_autonomous_vm_cluster` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.CreateCloudAutonomousVmClusterDetails create_cloud_autonomous_vm_cluster_details: (required)
            Request to create a cloud Autonomous VM cluster.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_cloud_autonomous_vm_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
        cSsg|]}|���qSrrrrrrrArzrDatabaseClientCompositeOperations.create_cloud_autonomous_vm_cluster_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#HrzpDatabaseClientCompositeOperations.create_cloud_autonomous_vm_cluster_and_wait_for_work_request.<locals>.<lambda>r$N)r�"create_cloud_autonomous_vm_clusterrr(r)r*r+r
r,r-r.r/)	r�*create_cloud_autonomous_vm_cluster_detailsr2r3r4r5r6r7r8rr!r�<create_cloud_autonomous_vm_cluster_and_wait_for_work_request,s 

�
��z^DatabaseClientCompositeOperations.create_cloud_autonomous_vm_cluster_and_wait_for_work_requestc

s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
ai
        Calls :py:func:`~oci.database.DatabaseClient.create_cloud_autonomous_vm_cluster` and waits for the :py:class:`~oci.database.models.CloudAutonomousVmCluster` acted upon
        to enter the given state(s).

        :param oci.database.models.CreateCloudAutonomousVmClusterDetails create_cloud_autonomous_vm_cluster_details: (required)
            Request to create a cloud Autonomous VM cluster.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.CloudAutonomousVmCluster.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_cloud_autonomous_vm_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
        cSsg|]}|���qSrrrrrrrerzkDatabaseClientCompositeOperations.create_cloud_autonomous_vm_cluster_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#lrziDatabaseClientCompositeOperations.create_cloud_autonomous_vm_cluster_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+�get_cloud_autonomous_vm_clusterrCrDrEr.r/r-)
rr�rFr3r4r5rwr7rGr8rr<r�5create_cloud_autonomous_vm_cluster_and_wait_for_stateOs.
�
��&zWDatabaseClientCompositeOperations.create_cloud_autonomous_vm_cluster_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	aK
        Calls :py:func:`~oci.database.DatabaseClient.create_cloud_exadata_infrastructure` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.CreateCloudExadataInfrastructureDetails create_cloud_exadata_infrastructure_details: (required)
            Request to create a cloud Exadata infrastructure resource in an `Exadata Cloud Service`__ instance.

            __ https://docs.cloud.oracle.com/Content/Database/Concepts/exaoverview.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_cloud_exadata_infrastructure`

        :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|]}|���qSrrrrrrr�rzsDatabaseClientCompositeOperations.create_cloud_exadata_infrastructure_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzqDatabaseClientCompositeOperations.create_cloud_exadata_infrastructure_and_wait_for_work_request.<locals>.<lambda>r$N)r�#create_cloud_exadata_infrastructurerr(r)r*r+r
r,r-r.r/)	r�+create_cloud_exadata_infrastructure_detailsr2r3r4r5r6r7r8rr!r�=create_cloud_exadata_infrastructure_and_wait_for_work_requestzs 

�
��z_DatabaseClientCompositeOperations.create_cloud_exadata_infrastructure_and_wait_for_work_requestc

s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.create_cloud_exadata_infrastructure` and waits for the :py:class:`~oci.database.models.CloudExadataInfrastructure` acted upon
        to enter the given state(s).

        :param oci.database.models.CreateCloudExadataInfrastructureDetails create_cloud_exadata_infrastructure_details: (required)
            Request to create a cloud Exadata infrastructure resource in an `Exadata Cloud Service`__ instance.

            __ https://docs.cloud.oracle.com/Content/Database/Concepts/exaoverview.htm

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.CloudExadataInfrastructure.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_cloud_exadata_infrastructure`

        :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|]}|���qSrrrrrrr�rzlDatabaseClientCompositeOperations.create_cloud_exadata_infrastructure_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rzjDatabaseClientCompositeOperations.create_cloud_exadata_infrastructure_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+rMrCrDrEr.r/r-)
rr�rFr3r4r5rKr7rGr8rr<r�6create_cloud_exadata_infrastructure_and_wait_for_state�s.
�
��&zXDatabaseClientCompositeOperations.create_cloud_exadata_infrastructure_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.create_cloud_vm_cluster` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.CreateCloudVmClusterDetails create_cloud_vm_cluster_details: (required)
            Request to create a cloud VM cluster. Applies to Exadata Cloud Service instances only. See `The New Exadata Cloud Service Resource Model`__ for information on this resource type.

            __ https://docs.cloud.oracle.com/iaas/Content/Database/iaas/Content/Database/Concepts/exaflexsystem.htm#exaflexsystem_topic-resource_model

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_cloud_vm_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
        cSsg|]}|���qSrrrrrrr�rzgDatabaseClientCompositeOperations.create_cloud_vm_cluster_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzeDatabaseClientCompositeOperations.create_cloud_vm_cluster_and_wait_for_work_request.<locals>.<lambda>r$N)r�create_cloud_vm_clusterrr(r)r*r+r
r,r-r.r/)	r�create_cloud_vm_cluster_detailsr2r3r4r5r6r7r8rr!r�1create_cloud_vm_cluster_and_wait_for_work_request�s 

�
��zSDatabaseClientCompositeOperations.create_cloud_vm_cluster_and_wait_for_work_requestc

s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
aD
        Calls :py:func:`~oci.database.DatabaseClient.create_cloud_vm_cluster` and waits for the :py:class:`~oci.database.models.CloudVmCluster` acted upon
        to enter the given state(s).

        :param oci.database.models.CreateCloudVmClusterDetails create_cloud_vm_cluster_details: (required)
            Request to create a cloud VM cluster. Applies to Exadata Cloud Service instances only. See `The New Exadata Cloud Service Resource Model`__ for information on this resource type.

            __ https://docs.cloud.oracle.com/iaas/Content/Database/iaas/Content/Database/Concepts/exaflexsystem.htm#exaflexsystem_topic-resource_model

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.CloudVmCluster.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_cloud_vm_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
        cSsg|]}|���qSrrrrrrr	rz`DatabaseClientCompositeOperations.create_cloud_vm_cluster_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#rz^DatabaseClientCompositeOperations.create_cloud_vm_cluster_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+rWrCrDrEr.r/r-)
rr�rFr3r4r5rUr7rGr8rr<r�*create_cloud_vm_cluster_and_wait_for_state�s.
�
��&zLDatabaseClientCompositeOperations.create_cloud_vm_cluster_and_wait_for_statec
s�|jj||fi|��}|s|Sdd�|D��|jj}z6tj|j|j�||�fd�fdd�i|��}|}	|	WSttfy�}
z6|
j	s�d|
_	|
j	d|
_	tj
j|g|
d��WYd	}
~
n>d	}
~
0ty�}
ztj
j|g|
d��WYd	}
~
n
d	}
~
00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.create_console_connection` and waits for the :py:class:`~oci.database.models.ConsoleConnection` acted upon
        to enter the given state(s).

        :param oci.database.models.CreateConsoleConnectionDetails create_console_connection_details: (required)
            Request object for creating an CreateConsoleConnection

        :param str db_node_id: (required)
            The database node `OCID`__.

            __ 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.database.models.ConsoleConnection.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_console_connection`

        :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|]}|���qSrrrrrrr9rzbDatabaseClientCompositeOperations.create_console_connection_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#@rz`DatabaseClientCompositeOperations.create_console_connection_and_wait_for_state.<locals>.<lambda>r>r@r$N)
r�create_console_connectionrrArr+�get_console_connectionrCrDrEr.r/r-)r�!create_console_connection_details�
db_node_idrFr3r4r5�console_connection_idr7rGr8rr<r�,create_console_connection_and_wait_for_states.�
��&zNDatabaseClientCompositeOperations.create_console_connection_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	aK
        Calls :py:func:`~oci.database.DatabaseClient.create_data_guard_association` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.CreateDataGuardAssociationDetails create_data_guard_association_details: (required)
            A request to create a Data Guard association.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_data_guard_association`

        :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|]}|���qSrrrrrrrhrzmDatabaseClientCompositeOperations.create_data_guard_association_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#orzkDatabaseClientCompositeOperations.create_data_guard_association_and_wait_for_work_request.<locals>.<lambda>r$N)r�create_data_guard_associationrr(r)r*r+r
r,r-r.r/)
rr��%create_data_guard_association_detailsr2r3r4r5r6r7r8rr!r�7create_data_guard_association_and_wait_for_work_requestNs 

�
��zYDatabaseClientCompositeOperations.create_data_guard_association_and_wait_for_work_requestc
s�|jj||fi|��}|s|Sdd�|D��|jj}z6tj|j|j�||�fd�fdd�i|��}|}	|	WSttfy�}
z6|
j	s�d|
_	|
j	d|
_	tj
j|g|
d��WYd	}
~
n>d	}
~
0ty�}
ztj
j|g|
d��WYd	}
~
n
d	}
~
00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.create_data_guard_association` and waits for the :py:class:`~oci.database.models.DataGuardAssociation` acted upon
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.CreateDataGuardAssociationDetails create_data_guard_association_details: (required)
            A request to create a Data Guard association.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.DataGuardAssociation.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_data_guard_association`

        :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|]}|���qSrrrrrrr�rzfDatabaseClientCompositeOperations.create_data_guard_association_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rzdDatabaseClientCompositeOperations.create_data_guard_association_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+�get_data_guard_associationrCrDrEr.r/r-)rr�r�rFr3r4r5�data_guard_association_idr7rGr8rr<r�0create_data_guard_association_and_wait_for_statevs.�
��&zRDatabaseClientCompositeOperations.create_data_guard_association_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	ad
        Calls :py:func:`~oci.database.DatabaseClient.create_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.CreateDatabaseBase create_new_database_details: (required)
            Request to create a new database.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_database`

        :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|]}|���qSrrrrrrr�rz_DatabaseClientCompositeOperations.create_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rz]DatabaseClientCompositeOperations.create_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�create_databaserr(r)r*r+r
r,r-r.r/)	r�create_new_database_detailsr2r3r4r5r6r7r8rr!r�)create_database_and_wait_for_work_request�s 

�
��zKDatabaseClientCompositeOperations.create_database_and_wait_for_work_requestc

s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.create_database` and waits for the :py:class:`~oci.database.models.Database` acted upon
        to enter the given state(s).

        :param oci.database.models.CreateDatabaseBase create_new_database_details: (required)
            Request to create a new database.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.Database.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_database`

        :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|]}|���qSrrrrrrr�rzXDatabaseClientCompositeOperations.create_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rzVDatabaseClientCompositeOperations.create_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+r�rCrDrEr.r/r-)
rr�rFr3r4r5r�r7rGr8rr<r�"create_database_and_wait_for_state�s.
�
��&zDDatabaseClientCompositeOperations.create_database_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.create_database_software_image` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.CreateDatabaseSoftwareImageDetails create_database_software_image_details: (required)
            Request to create database software image.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_database_software_image`

        :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|]}|���qSrrrrrrr		rznDatabaseClientCompositeOperations.create_database_software_image_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#	rzlDatabaseClientCompositeOperations.create_database_software_image_and_wait_for_work_request.<locals>.<lambda>r$N)r�create_database_software_imagerr(r)r*r+r
r,r-r.r/)	r�&create_database_software_image_detailsr2r3r4r5r6r7r8rr!r�8create_database_software_image_and_wait_for_work_request�s 

�
��zZDatabaseClientCompositeOperations.create_database_software_image_and_wait_for_work_requestc

s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
aN
        Calls :py:func:`~oci.database.DatabaseClient.create_database_software_image` and waits for the :py:class:`~oci.database.models.DatabaseSoftwareImage` acted upon
        to enter the given state(s).

        :param oci.database.models.CreateDatabaseSoftwareImageDetails create_database_software_image_details: (required)
            Request to create database software image.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.DatabaseSoftwareImage.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_database_software_image`

        :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|]}|���qSrrrrrrr-	rzgDatabaseClientCompositeOperations.create_database_software_image_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#4	rzeDatabaseClientCompositeOperations.create_database_software_image_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+�get_database_software_imagerCrDrEr.r/r-)
rr�rFr3r4r5r�r7rGr8rr<r�1create_database_software_image_and_wait_for_state	s.
�
��&zSDatabaseClientCompositeOperations.create_database_software_image_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	ar
        Calls :py:func:`~oci.database.DatabaseClient.create_db_home` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.CreateDbHomeBase create_db_home_with_db_system_id_details: (required)
            Request to create a new Database Home.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_db_home`

        :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|]}|���qSrrrrrrrW	rz^DatabaseClientCompositeOperations.create_db_home_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#^	rz\DatabaseClientCompositeOperations.create_db_home_and_wait_for_work_request.<locals>.<lambda>r$N)r�create_db_homerr(r)r*r+r
r,r-r.r/)	r�(create_db_home_with_db_system_id_detailsr2r3r4r5r6r7r8rr!r�(create_db_home_and_wait_for_work_requestB	s 

�
��zJDatabaseClientCompositeOperations.create_db_home_and_wait_for_work_requestc

s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.create_db_home` and waits for the :py:class:`~oci.database.models.DbHome` acted upon
        to enter the given state(s).

        :param oci.database.models.CreateDbHomeBase create_db_home_with_db_system_id_details: (required)
            Request to create a new Database Home.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.DbHome.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_db_home`

        :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|]}|���qSrrrrrrr{	rzWDatabaseClientCompositeOperations.create_db_home_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�	rzUDatabaseClientCompositeOperations.create_db_home_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+�get_db_homerCrDrEr.r/r-)
rr�rFr3r4r5�
db_home_idr7rGr8rr<r�!create_db_home_and_wait_for_statee	s.
�
��&zCDatabaseClientCompositeOperations.create_db_home_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.create_exadata_infrastructure` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.CreateExadataInfrastructureDetails create_exadata_infrastructure_details: (required)
            Request to create Exadata Cloud@Customer infrastructure.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_exadata_infrastructure`

        :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|]}|���qSrrrrrrr�	rzmDatabaseClientCompositeOperations.create_exadata_infrastructure_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�	rzkDatabaseClientCompositeOperations.create_exadata_infrastructure_and_wait_for_work_request.<locals>.<lambda>r$N)r�create_exadata_infrastructurerr(r)r*r+r
r,r-r.r/)	r�%create_exadata_infrastructure_detailsr2r3r4r5r6r7r8rr!r�7create_exadata_infrastructure_and_wait_for_work_request�	s 

�
��zYDatabaseClientCompositeOperations.create_exadata_infrastructure_and_wait_for_work_requestc

s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
aY
        Calls :py:func:`~oci.database.DatabaseClient.create_exadata_infrastructure` and waits for the :py:class:`~oci.database.models.ExadataInfrastructure` acted upon
        to enter the given state(s).

        :param oci.database.models.CreateExadataInfrastructureDetails create_exadata_infrastructure_details: (required)
            Request to create Exadata Cloud@Customer infrastructure.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.ExadataInfrastructure.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_exadata_infrastructure`

        :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|]}|���qSrrrrrrr�	rzfDatabaseClientCompositeOperations.create_exadata_infrastructure_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�	rzdDatabaseClientCompositeOperations.create_exadata_infrastructure_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+rBrCrDrEr.r/r-)
rr�rFr3r4r5r0r7rGr8rr<r�0create_exadata_infrastructure_and_wait_for_state�	s.
�
��&zRDatabaseClientCompositeOperations.create_exadata_infrastructure_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.create_external_backup_job` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.CreateExternalBackupJobDetails create_external_backup_job_details: (required)
            Request to create a cloud backup resource for a database running outside the cloud.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_external_backup_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
        cSsg|]}|���qSrrrrrrr�	rzjDatabaseClientCompositeOperations.create_external_backup_job_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�	rzhDatabaseClientCompositeOperations.create_external_backup_job_and_wait_for_work_request.<locals>.<lambda>r$N)r�create_external_backup_jobrr(r)r*r+r
r,r-r.r/)	r�"create_external_backup_job_detailsr2r3r4r5r6r7r8rr!r�4create_external_backup_job_and_wait_for_work_request�	s 

�
��zVDatabaseClientCompositeOperations.create_external_backup_job_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.create_external_container_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.CreateExternalContainerDatabaseDetails create_external_container_database_details: (required)
            Request to create a new external container database resource.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_external_container_database`

        :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|]}|���qSrrrrrrr
rzrDatabaseClientCompositeOperations.create_external_container_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#
rzpDatabaseClientCompositeOperations.create_external_container_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�"create_external_container_databaserr(r)r*r+r
r,r-r.r/)	r�*create_external_container_database_detailsr2r3r4r5r6r7r8rr!r�<create_external_container_database_and_wait_for_work_request
s 

�
��z^DatabaseClientCompositeOperations.create_external_container_database_and_wait_for_work_requestc

s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
ay
        Calls :py:func:`~oci.database.DatabaseClient.create_external_container_database` and waits for the :py:class:`~oci.database.models.ExternalContainerDatabase` acted upon
        to enter the given state(s).

        :param oci.database.models.CreateExternalContainerDatabaseDetails create_external_container_database_details: (required)
            Request to create a new external container database resource.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.ExternalContainerDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_external_container_database`

        :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|]}|���qSrrrrrrr:
rzkDatabaseClientCompositeOperations.create_external_container_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#A
rziDatabaseClientCompositeOperations.create_external_container_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+�get_external_container_databaserCrDrEr.r/r-)
rr�rFr3r4r5r�r7rGr8rr<r�5create_external_container_database_and_wait_for_state$
s.
�
��&zWDatabaseClientCompositeOperations.create_external_container_database_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.create_external_database_connector` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.CreateExternalDatabaseConnectorDetails create_external_database_connector_details: (required)
            Request to create a connector to an external database.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_external_database_connector`

        :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|]}|���qSrrrrrrrd
rzrDatabaseClientCompositeOperations.create_external_database_connector_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#k
rzpDatabaseClientCompositeOperations.create_external_database_connector_and_wait_for_work_request.<locals>.<lambda>r$N)r�"create_external_database_connectorrr(r)r*r+r
r,r-r.r/)	r�*create_external_database_connector_detailsr2r3r4r5r6r7r8rr!r�<create_external_database_connector_and_wait_for_work_requestO
s 

�
��z^DatabaseClientCompositeOperations.create_external_database_connector_and_wait_for_work_requestc

s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
ar
        Calls :py:func:`~oci.database.DatabaseClient.create_external_database_connector` and waits for the :py:class:`~oci.database.models.ExternalDatabaseConnector` acted upon
        to enter the given state(s).

        :param oci.database.models.CreateExternalDatabaseConnectorDetails create_external_database_connector_details: (required)
            Request to create a connector to an external database.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.ExternalDatabaseConnector.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_external_database_connector`

        :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|]}|���qSrrrrrrr�
rzkDatabaseClientCompositeOperations.create_external_database_connector_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�
rziDatabaseClientCompositeOperations.create_external_database_connector_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+�get_external_database_connectorrCrDrEr.r/r-)
rr�rFr3r4r5r�r7rGr8rr<r�5create_external_database_connector_and_wait_for_stater
s.
�
��&zWDatabaseClientCompositeOperations.create_external_database_connector_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.create_external_non_container_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.CreateExternalNonContainerDatabaseDetails create_external_non_container_database_details: (required)
            Request to create a new external non-container database.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_external_non_container_database`

        :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|]}|���qSrrrrrrr�
rzvDatabaseClientCompositeOperations.create_external_non_container_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�
rztDatabaseClientCompositeOperations.create_external_non_container_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�&create_external_non_container_databaserr(r)r*r+r
r,r-r.r/)	r�.create_external_non_container_database_detailsr2r3r4r5r6r7r8rr!r�@create_external_non_container_database_and_wait_for_work_request�
s 

�
��zbDatabaseClientCompositeOperations.create_external_non_container_database_and_wait_for_work_requestc

s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.create_external_non_container_database` and waits for the :py:class:`~oci.database.models.ExternalNonContainerDatabase` acted upon
        to enter the given state(s).

        :param oci.database.models.CreateExternalNonContainerDatabaseDetails create_external_non_container_database_details: (required)
            Request to create a new external non-container database.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.ExternalNonContainerDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_external_non_container_database`

        :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|]}|���qSrrrrrrr�
rzoDatabaseClientCompositeOperations.create_external_non_container_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�
rzmDatabaseClientCompositeOperations.create_external_non_container_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+�#get_external_non_container_databaserCrDrEr.r/r-)
rrrFr3r4r5r�r7rGr8rr<r�9create_external_non_container_database_and_wait_for_state�
s.
�
��&z[DatabaseClientCompositeOperations.create_external_non_container_database_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.create_external_pluggable_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.CreateExternalPluggableDatabaseDetails create_external_pluggable_database_details: (required)
            Request to create a new external pluggable database.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_external_pluggable_database`

        :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|]}|���qSrrrrrrrrzrDatabaseClientCompositeOperations.create_external_pluggable_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#rzpDatabaseClientCompositeOperations.create_external_pluggable_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�"create_external_pluggable_databaserr(r)r*r+r
r,r-r.r/)	r�*create_external_pluggable_database_detailsr2r3r4r5r6r7r8rr!r�<create_external_pluggable_database_and_wait_for_work_request�
s 

�
��z^DatabaseClientCompositeOperations.create_external_pluggable_database_and_wait_for_work_requestc

s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
ap
        Calls :py:func:`~oci.database.DatabaseClient.create_external_pluggable_database` and waits for the :py:class:`~oci.database.models.ExternalPluggableDatabase` acted upon
        to enter the given state(s).

        :param oci.database.models.CreateExternalPluggableDatabaseDetails create_external_pluggable_database_details: (required)
            Request to create a new external pluggable database.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.ExternalPluggableDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_external_pluggable_database`

        :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|]}|���qSrrrrrrr$rzkDatabaseClientCompositeOperations.create_external_pluggable_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#+rziDatabaseClientCompositeOperations.create_external_pluggable_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrrrArr+�get_external_pluggable_databaserCrDrEr.r/r-)
rrrFr3r4r5r�r7rGr8rr<r�5create_external_pluggable_database_and_wait_for_states.
�
��&zWDatabaseClientCompositeOperations.create_external_pluggable_database_and_wait_for_statec

s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.create_key_store` and waits for the :py:class:`~oci.database.models.KeyStore` acted upon
        to enter the given state(s).

        :param oci.database.models.CreateKeyStoreDetails create_key_store_details: (required)
            Request to create a new key store.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.KeyStore.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_key_store`

        :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|]}|���qSrrrrrrrOrzYDatabaseClientCompositeOperations.create_key_store_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#VrzWDatabaseClientCompositeOperations.create_key_store_and_wait_for_state.<locals>.<lambda>r>r@r$N)
r�create_key_storerrArr+�
get_key_storerCrDrEr.r/r-)
r�create_key_store_detailsrFr3r4r5r�r7rGr8rr<r�#create_key_store_and_wait_for_state9s.
�
��&zEDatabaseClientCompositeOperations.create_key_store_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.create_pluggable_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.CreatePluggableDatabaseDetails create_pluggable_database_details: (required)
            Request to create pluggable database.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_pluggable_database`

        :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|]}|���qSrrrrrrryrziDatabaseClientCompositeOperations.create_pluggable_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzgDatabaseClientCompositeOperations.create_pluggable_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�create_pluggable_databaserr(r)r*r+r
r,r-r.r/)	r�!create_pluggable_database_detailsr2r3r4r5r6r7r8rr!r�3create_pluggable_database_and_wait_for_work_requestds 

�
��zUDatabaseClientCompositeOperations.create_pluggable_database_and_wait_for_work_requestc

s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a.
        Calls :py:func:`~oci.database.DatabaseClient.create_pluggable_database` and waits for the :py:class:`~oci.database.models.PluggableDatabase` acted upon
        to enter the given state(s).

        :param oci.database.models.CreatePluggableDatabaseDetails create_pluggable_database_details: (required)
            Request to create pluggable database.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.PluggableDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_pluggable_database`

        :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|]}|���qSrrrrrrr�rzbDatabaseClientCompositeOperations.create_pluggable_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rz`DatabaseClientCompositeOperations.create_pluggable_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr
rrArr+�get_pluggable_databaserCrDrEr.r/r-)
rrrFr3r4r5�pluggable_database_idr7rGr8rr<r�,create_pluggable_database_and_wait_for_state�s.
�
��&zNDatabaseClientCompositeOperations.create_pluggable_database_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a#
        Calls :py:func:`~oci.database.DatabaseClient.create_vm_cluster` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.CreateVmClusterDetails create_vm_cluster_details: (required)
            Request to create a VM cluster. Applies to Exadata Cloud@Customer instances only.
            See :func:`create_cloud_vm_cluster_details` for details on creating a cloud VM cluster in an Exadata Cloud Service instance.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_vm_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
        cSsg|]}|���qSrrrrrrr�rzaDatabaseClientCompositeOperations.create_vm_cluster_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rz_DatabaseClientCompositeOperations.create_vm_cluster_and_wait_for_work_request.<locals>.<lambda>r$N)r�create_vm_clusterrr(r)r*r+r
r,r-r.r/)	r�create_vm_cluster_detailsr2r3r4r5r6r7r8rr!r�+create_vm_cluster_and_wait_for_work_request�s 

�
��zMDatabaseClientCompositeOperations.create_vm_cluster_and_wait_for_work_requestc

s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.create_vm_cluster` and waits for the :py:class:`~oci.database.models.VmCluster` acted upon
        to enter the given state(s).

        :param oci.database.models.CreateVmClusterDetails create_vm_cluster_details: (required)
            Request to create a VM cluster. Applies to Exadata Cloud@Customer instances only.
            See :func:`create_cloud_vm_cluster_details` for details on creating a cloud VM cluster in an Exadata Cloud Service instance.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.VmCluster.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_vm_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
        cSsg|]}|���qSrrrrrrr�rzZDatabaseClientCompositeOperations.create_vm_cluster_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rzXDatabaseClientCompositeOperations.create_vm_cluster_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrrrArr+r]rCrDrEr.r/r-)
rrrFr3r4r5r[r7rGr8rr<r�$create_vm_cluster_and_wait_for_state�s.
�
��&zFDatabaseClientCompositeOperations.create_vm_cluster_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	aU
        Calls :py:func:`~oci.database.DatabaseClient.create_vm_cluster_network` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str exadata_infrastructure_id: (required)
            The Exadata infrastructure `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.VmClusterNetworkDetails vm_cluster_network_details: (required)
            Request to create the Cloud@Customer VM cluster network.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_vm_cluster_network`

        :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|]}|���qSrrrrrrrrziDatabaseClientCompositeOperations.create_vm_cluster_network_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr##rzgDatabaseClientCompositeOperations.create_vm_cluster_network_and_wait_for_work_request.<locals>.<lambda>r$N)r�create_vm_cluster_networkrr(r)r*r+r
r,r-r.r/)
rr0�vm_cluster_network_detailsr2r3r4r5r6r7r8rr!r�3create_vm_cluster_network_and_wait_for_work_requests 

�
��zUDatabaseClientCompositeOperations.create_vm_cluster_network_and_wait_for_work_requestc
s�|jj||fi|��}|s|Sdd�|D��|jj}z6tj|j|j�||�fd�fdd�i|��}|}	|	WSttfy�}
z6|
j	s�d|
_	|
j	d|
_	tj
j|g|
d��WYd	}
~
n>d	}
~
0ty�}
ztj
j|g|
d��WYd	}
~
n
d	}
~
00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.create_vm_cluster_network` and waits for the :py:class:`~oci.database.models.VmClusterNetwork` acted upon
        to enter the given state(s).

        :param str exadata_infrastructure_id: (required)
            The Exadata infrastructure `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.VmClusterNetworkDetails vm_cluster_network_details: (required)
            Request to create the Cloud@Customer VM cluster network.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.VmClusterNetwork.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.create_vm_cluster_network`

        :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|]}|���qSrrrrrrrErzbDatabaseClientCompositeOperations.create_vm_cluster_network_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#Lrz`DatabaseClientCompositeOperations.create_vm_cluster_network_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrrrArr+�get_vm_cluster_networkrCrDrEr.r/r-)rr0rrFr3r4r5�vm_cluster_network_idr7rGr8rr<r�,create_vm_cluster_network_and_wait_for_state*s.�
��&zNDatabaseClientCompositeOperations.create_vm_cluster_network_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a
        Calls :py:func:`~oci.database.DatabaseClient.db_node_action` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str db_node_id: (required)
            The database node `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str action: (required)
            The action to perform on the DB Node.

            Allowed values are: "STOP", "START", "SOFTRESET", "RESET"

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.db_node_action`

        :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|]}|���qSrrrrrrrvrz^DatabaseClientCompositeOperations.db_node_action_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#}rz\DatabaseClientCompositeOperations.db_node_action_and_wait_for_work_request.<locals>.<lambda>r$N)r�db_node_actionrr(r)r*r+r
r,r-r.r/)
rr��actionr2r3r4r5r6r7r8rr!r�(db_node_action_and_wait_for_work_requestZs 

�
��zJDatabaseClientCompositeOperations.db_node_action_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.db_node_action` and waits for the :py:class:`~oci.database.models.DbNode` acted upon
        to enter the given state(s).

        :param str db_node_id: (required)
            The database node `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str action: (required)
            The action to perform on the DB Node.

            Allowed values are: "STOP", "START", "SOFTRESET", "RESET"

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.DbNode.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.db_node_action`

        :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|]}|���qSrrrrrrr�rzWDatabaseClientCompositeOperations.db_node_action_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rzUDatabaseClientCompositeOperations.db_node_action_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrrrArr+�get_db_noderCrDrEr.r/r-)
rr�rrFr3r4r5r7rGr8rr<r�!db_node_action_and_wait_for_state�s.
�
��&zCDatabaseClientCompositeOperations.db_node_action_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.delete_autonomous_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.delete_autonomous_database`

        :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|]}|���qSrrrrrrr�rzjDatabaseClientCompositeOperations.delete_autonomous_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzhDatabaseClientCompositeOperations.delete_autonomous_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�delete_autonomous_databaserr(r)r*r+r
r,r-r.r/�	rr`r2r3r4r5r6r7r8rr!r�4delete_autonomous_database_and_wait_for_work_request�s 

�
��zVDatabaseClientCompositeOperations.delete_autonomous_database_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.delete_autonomous_vm_cluster` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_vm_cluster_id: (required)
            The autonomous VM cluster `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.delete_autonomous_vm_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
        cSsg|]}|���qSrrrrrrr�rzlDatabaseClientCompositeOperations.delete_autonomous_vm_cluster_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzjDatabaseClientCompositeOperations.delete_autonomous_vm_cluster_and_wait_for_work_request.<locals>.<lambda>r$N)r�delete_autonomous_vm_clusterrr(r)r*r+r
r,r-r.r/)	rrpr2r3r4r5r6r7r8rr!r�6delete_autonomous_vm_cluster_and_wait_for_work_request�s 

�
��zXDatabaseClientCompositeOperations.delete_autonomous_vm_cluster_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	au
        Calls :py:func:`~oci.database.DatabaseClient.delete_backup` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str backup_id: (required)
            The backup `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.delete_backup`

        :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|]}|���qSrrrrrrr
rz]DatabaseClientCompositeOperations.delete_backup_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#
rz[DatabaseClientCompositeOperations.delete_backup_and_wait_for_work_request.<locals>.<lambda>r$N)r�
delete_backuprr(r)r*r+r
r,r-r.r/)	rr�r2r3r4r5r6r7r8rr!r�'delete_backup_and_wait_for_work_request
s 

�
��zIDatabaseClientCompositeOperations.delete_backup_and_wait_for_work_requestc

sD|j�|�}d}z|jj|fi|��}WnFtjjyn}z*|jdkrVtWYd}~S|�WYd}~n
d}~00|sx|Sdd�|D��z.tj|j|f�fdd�dd�|��}|}	|	WSt	t
f�y}z6|js�d	|_|jd
|_tjj|g|d��WYd}~n@d}~0t
�y>}ztjj|g|d��WYd}~n
d}~00dS)aL
        Calls :py:func:`~oci.database.DatabaseClient.delete_backup_destination` and waits for the :py:class:`~oci.database.models.BackupDestination` acted upon
        to enter the given state(s).

        :param str backup_destination_id: (required)
            The `OCID`__ of the backup destination.

            __ 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.database.models.BackupDestination.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.delete_backup_destination`

        :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�cSsg|]}|���qSrrrrrrrF
rzbDatabaseClientCompositeOperations.delete_backup_destination_and_wait_for_state.<locals>.<listcomp>cs t|jd�ot|jd����vSr:rrr<rrr#L
rz`DatabaseClientCompositeOperations.delete_backup_destination_and_wait_for_state.<locals>.<lambda>T�r�succeed_on_not_foundr>r@r$)rr��delete_backup_destinationrr.�ServiceErrorrrr+rCrDrEr/r-)
rrsrFr3r4�initial_get_resultr5r8r7rGrr<r�,delete_backup_destination_and_wait_for_state%
s<
�
��&zNDatabaseClientCompositeOperations.delete_backup_destination_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.delete_cloud_autonomous_vm_cluster` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str cloud_autonomous_vm_cluster_id: (required)
            The Cloud VM cluster `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.delete_cloud_autonomous_vm_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
        cSsg|]}|���qSrrrrrrrr
rzrDatabaseClientCompositeOperations.delete_cloud_autonomous_vm_cluster_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#y
rzpDatabaseClientCompositeOperations.delete_cloud_autonomous_vm_cluster_and_wait_for_work_request.<locals>.<lambda>r$N)r�"delete_cloud_autonomous_vm_clusterrr(r)r*r+r
r,r-r.r/�	rrwr2r3r4r5r6r7r8rr!r�<delete_cloud_autonomous_vm_cluster_and_wait_for_work_request[
s 

�
��z^DatabaseClientCompositeOperations.delete_cloud_autonomous_vm_cluster_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.delete_cloud_exadata_infrastructure` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str cloud_exadata_infrastructure_id: (required)
            The cloud Exadata infrastructure `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.delete_cloud_exadata_infrastructure`

        :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|]}|���qSrrrrrrr�
rzsDatabaseClientCompositeOperations.delete_cloud_exadata_infrastructure_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�
rzqDatabaseClientCompositeOperations.delete_cloud_exadata_infrastructure_and_wait_for_work_request.<locals>.<lambda>r$N)r�#delete_cloud_exadata_infrastructurerr(r)r*r+r
r,r-r.r/rJrr!r�=delete_cloud_exadata_infrastructure_and_wait_for_work_request�
s 

�
��z_DatabaseClientCompositeOperations.delete_cloud_exadata_infrastructure_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.delete_cloud_vm_cluster` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str cloud_vm_cluster_id: (required)
            The cloud VM cluster `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.delete_cloud_vm_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
        cSsg|]}|���qSrrrrrrr�
rzgDatabaseClientCompositeOperations.delete_cloud_vm_cluster_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�
rzeDatabaseClientCompositeOperations.delete_cloud_vm_cluster_and_wait_for_work_request.<locals>.<lambda>r$N)r�delete_cloud_vm_clusterrr(r)r*r+r
r,r-r.r/)	rrUr2r3r4r5r6r7r8rr!r�1delete_cloud_vm_cluster_and_wait_for_work_request�
s 

�
��zSDatabaseClientCompositeOperations.delete_cloud_vm_cluster_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a}
        Calls :py:func:`~oci.database.DatabaseClient.delete_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.delete_database`

        :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|]}|���qSrrrrrrr�
rz_DatabaseClientCompositeOperations.delete_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�
rz]DatabaseClientCompositeOperations.delete_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�delete_databaserr(r)r*r+r
r,r-r.r/�	rr�r2r3r4r5r6r7r8rr!r�)delete_database_and_wait_for_work_request�
s 

�
��zKDatabaseClientCompositeOperations.delete_database_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.delete_database_software_image` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str database_software_image_id: (required)
            The DB system `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.delete_database_software_image`

        :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|]}|���qSrrrrrrrrznDatabaseClientCompositeOperations.delete_database_software_image_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#
rzlDatabaseClientCompositeOperations.delete_database_software_image_and_wait_for_work_request.<locals>.<lambda>r$N)r�delete_database_software_imagerr(r)r*r+r
r,r-r.r/)	rr�r2r3r4r5r6r7r8rr!r�8delete_database_software_image_and_wait_for_work_request�
s 

�
��zZDatabaseClientCompositeOperations.delete_database_software_image_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a
        Calls :py:func:`~oci.database.DatabaseClient.delete_db_home` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str db_home_id: (required)
            The Database Home `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.delete_db_home`

        :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|]}|���qSrrrrrrr+rz^DatabaseClientCompositeOperations.delete_db_home_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#2rz\DatabaseClientCompositeOperations.delete_db_home_and_wait_for_work_request.<locals>.<lambda>r$N)r�delete_db_homerr(r)r*r+r
r,r-r.r/)	rr�r2r3r4r5r6r7r8rr!r�(delete_db_home_and_wait_for_work_requests 

�
��zJDatabaseClientCompositeOperations.delete_db_home_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.delete_exadata_infrastructure` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str exadata_infrastructure_id: (required)
            The Exadata infrastructure `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.delete_exadata_infrastructure`

        :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|]}|���qSrrrrrrrPrzmDatabaseClientCompositeOperations.delete_exadata_infrastructure_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#WrzkDatabaseClientCompositeOperations.delete_exadata_infrastructure_and_wait_for_work_request.<locals>.<lambda>r$N)r�delete_exadata_infrastructurerr(r)r*r+r
r,r-r.r/rPrr!r�7delete_exadata_infrastructure_and_wait_for_work_request9s 

�
��zYDatabaseClientCompositeOperations.delete_exadata_infrastructure_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.delete_external_container_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_container_database_id: (required)
            The ExternalContainerDatabase `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.delete_external_container_database`

        :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|]}|���qSrrrrrrrurzrDatabaseClientCompositeOperations.delete_external_container_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#|rzpDatabaseClientCompositeOperations.delete_external_container_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�"delete_external_container_databaserr(r)r*r+r
r,r-r.r/�	rr�r2r3r4r5r6r7r8rr!r�<delete_external_container_database_and_wait_for_work_request^s 

�
��z^DatabaseClientCompositeOperations.delete_external_container_database_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a
        Calls :py:func:`~oci.database.DatabaseClient.delete_external_database_connector` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_database_connector_id: (required)
            The `OCID`__ of the
            external database connector resource (`ExternalDatabaseConnectorId`).

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.delete_external_database_connector`

        :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|]}|���qSrrrrrrr�rzrDatabaseClientCompositeOperations.delete_external_database_connector_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzpDatabaseClientCompositeOperations.delete_external_database_connector_and_wait_for_work_request.<locals>.<lambda>r$N)r�"delete_external_database_connectorrr(r)r*r+r
r,r-r.r/r�rr!r�<delete_external_database_connector_and_wait_for_work_request�s 

�
��z^DatabaseClientCompositeOperations.delete_external_database_connector_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.delete_external_non_container_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_non_container_database_id: (required)
            The external non-container database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.delete_external_non_container_database`

        :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|]}|���qSrrrrrrr�rzvDatabaseClientCompositeOperations.delete_external_non_container_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rztDatabaseClientCompositeOperations.delete_external_non_container_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�&delete_external_non_container_databaserr(r)r*r+r
r,r-r.r/�	rr�r2r3r4r5r6r7r8rr!r�@delete_external_non_container_database_and_wait_for_work_request�s 

�
��zbDatabaseClientCompositeOperations.delete_external_non_container_database_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.delete_external_pluggable_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_pluggable_database_id: (required)
            The ExternalPluggableDatabaseId `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.delete_external_pluggable_database`

        :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|]}|���qSrrrrrrr�rzrDatabaseClientCompositeOperations.delete_external_pluggable_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzpDatabaseClientCompositeOperations.delete_external_pluggable_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�"delete_external_pluggable_databaserr(r)r*r+r
r,r-r.r/�	rr�r2r3r4r5r6r7r8rr!r�<delete_external_pluggable_database_and_wait_for_work_request�s 

�
��z^DatabaseClientCompositeOperations.delete_external_pluggable_database_and_wait_for_work_requestc

sD|j�|�}d}z|jj|fi|��}WnFtjjyn}z*|jdkrVtWYd}~S|�WYd}~n
d}~00|sx|Sdd�|D��z.tj|j|f�fdd�dd�|��}|}	|	WSt	t
f�y}z6|js�d	|_|jd
|_tjj|g|d��WYd}~n@d}~0t
�y>}ztjj|g|d��WYd}~n
d}~00dS)a
        Calls :py:func:`~oci.database.DatabaseClient.delete_key_store` and waits for the :py:class:`~oci.database.models.KeyStore` acted upon
        to enter the given state(s).

        :param str key_store_id: (required)
            The `OCID`__ of the key store.

            __ 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.database.models.KeyStore.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.delete_key_store`

        :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
        Nr)cSsg|]}|���qSrrrrrrrrzYDatabaseClientCompositeOperations.delete_key_store_and_wait_for_state.<locals>.<listcomp>cs t|jd�ot|jd����vSr:rrr<rrr#rzWDatabaseClientCompositeOperations.delete_key_store_and_wait_for_state.<locals>.<lambda>Tr*r>r@r$)rr
�delete_key_storerr.r-rrr+rCrDrEr/r-)
rr�rFr3r4r.r5r8r7rGrr<r�#delete_key_store_and_wait_for_state�s<
�
��&zEDatabaseClientCompositeOperations.delete_key_store_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.delete_pluggable_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str pluggable_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.delete_pluggable_database`

        :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|]}|���qSrrrrrrr@rziDatabaseClientCompositeOperations.delete_pluggable_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#GrzgDatabaseClientCompositeOperations.delete_pluggable_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�delete_pluggable_databaserr(r)r*r+r
r,r-r.r/�	rrr2r3r4r5r6r7r8rr!r�3delete_pluggable_database_and_wait_for_work_request)s 

�
��zUDatabaseClientCompositeOperations.delete_pluggable_database_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.delete_vm_cluster` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str vm_cluster_id: (required)
            The VM cluster `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.delete_vm_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
        cSsg|]}|���qSrrrrrrrerzaDatabaseClientCompositeOperations.delete_vm_cluster_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#lrz_DatabaseClientCompositeOperations.delete_vm_cluster_and_wait_for_work_request.<locals>.<lambda>r$N)r�delete_vm_clusterrr(r)r*r+r
r,r-r.r/)	rr[r2r3r4r5r6r7r8rr!r�+delete_vm_cluster_and_wait_for_work_requestNs 

�
��zMDatabaseClientCompositeOperations.delete_vm_cluster_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	ag
        Calls :py:func:`~oci.database.DatabaseClient.delete_vm_cluster_network` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str exadata_infrastructure_id: (required)
            The Exadata infrastructure `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str vm_cluster_network_id: (required)
            The VM cluster network `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.delete_vm_cluster_network`

        :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|]}|���qSrrrrrrr�rziDatabaseClientCompositeOperations.delete_vm_cluster_network_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzgDatabaseClientCompositeOperations.delete_vm_cluster_network_and_wait_for_work_request.<locals>.<lambda>r$N)r�delete_vm_cluster_networkrr(r)r*r+r
r,r-r.r/�
rr0rr2r3r4r5r6r7r8rr!r�3delete_vm_cluster_network_and_wait_for_work_requestss 

�
��zUDatabaseClientCompositeOperations.delete_vm_cluster_network_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.deregister_autonomous_database_data_safe` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.deregister_autonomous_database_data_safe`

        :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|]}|���qSrrrrrrr�rzxDatabaseClientCompositeOperations.deregister_autonomous_database_data_safe_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzvDatabaseClientCompositeOperations.deregister_autonomous_database_data_safe_and_wait_for_work_request.<locals>.<lambda>r$N)r�(deregister_autonomous_database_data_saferr(r)r*r+r
r,r-r.r/r#rr!r�Bderegister_autonomous_database_data_safe_and_wait_for_work_request�s 

�
��zdDatabaseClientCompositeOperations.deregister_autonomous_database_data_safe_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.disable_autonomous_database_management` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.disable_autonomous_database_management`

        :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|]}|���qSrrrrrrr�rzvDatabaseClientCompositeOperations.disable_autonomous_database_management_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rztDatabaseClientCompositeOperations.disable_autonomous_database_management_and_wait_for_work_request.<locals>.<lambda>r$N)r�&disable_autonomous_database_managementrr(r)r*r+r
r,r-r.r/r#rr!r�@disable_autonomous_database_management_and_wait_for_work_request�s 

�
��zbDatabaseClientCompositeOperations.disable_autonomous_database_management_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.disable_autonomous_database_operations_insights` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.disable_autonomous_database_operations_insights`

        :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|]}|���qSrrrrrrr�rzDatabaseClientCompositeOperations.disable_autonomous_database_operations_insights_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#rz}DatabaseClientCompositeOperations.disable_autonomous_database_operations_insights_and_wait_for_work_request.<locals>.<lambda>r$N)r�/disable_autonomous_database_operations_insightsrr(r)r*r+r
r,r-r.r/r#rr!r�Idisable_autonomous_database_operations_insights_and_wait_for_work_request�s 

�
��zkDatabaseClientCompositeOperations.disable_autonomous_database_operations_insights_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.disable_database_management` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.disable_database_management`

        :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|]}|���qSrrrrrrr#rzkDatabaseClientCompositeOperations.disable_database_management_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#*rziDatabaseClientCompositeOperations.disable_database_management_and_wait_for_work_request.<locals>.<lambda>r$N)r�disable_database_managementrr(r)r*r+r
r,r-r.r/r8rr!r�5disable_database_management_and_wait_for_work_requests 

�
��zWDatabaseClientCompositeOperations.disable_database_management_and_wait_for_work_requestc	
s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}z6|j	s�d|_	|j	d|_	tj
j|g|d��WYd	}~n>d	}~0ty�}ztj
j|g|d��WYd	}~n
d	}~00d	S)
a#
        Calls :py:func:`~oci.database.DatabaseClient.disable_database_management` and waits for the :py:class:`~oci.database.models.Database` acted upon
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ 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.database.models.Database.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.disable_database_management`

        :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|]}|���qSrrrrrrrIrzdDatabaseClientCompositeOperations.disable_database_management_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#PrzbDatabaseClientCompositeOperations.disable_database_management_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr[rrArr+r�rCrDrEr.r/r-�	rr�rFr3r4r5r7rGr8rr<r�.disable_database_management_and_wait_for_state1s.
�
��&zPDatabaseClientCompositeOperations.disable_database_management_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.disable_external_container_database_database_management` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_container_database_id: (required)
            The ExternalContainerDatabase `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.disable_external_container_database_database_management`

        :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|]}|���qSrrrrrrrurz�DatabaseClientCompositeOperations.disable_external_container_database_database_management_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#|rz�DatabaseClientCompositeOperations.disable_external_container_database_database_management_and_wait_for_work_request.<locals>.<lambda>r$N)r�7disable_external_container_database_database_managementrr(r)r*r+r
r,r-r.r/rArr!r�Qdisable_external_container_database_database_management_and_wait_for_work_request^s 

�
��zsDatabaseClientCompositeOperations.disable_external_container_database_database_management_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.disable_external_container_database_stack_monitoring` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_container_database_id: (required)
            The ExternalContainerDatabase `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.disable_external_container_database_stack_monitoring`

        :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|]}|���qSrrrrrrr�rz�DatabaseClientCompositeOperations.disable_external_container_database_stack_monitoring_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rz�DatabaseClientCompositeOperations.disable_external_container_database_stack_monitoring_and_wait_for_work_request.<locals>.<lambda>r$N)r�4disable_external_container_database_stack_monitoringrr(r)r*r+r
r,r-r.r/rArr!r�Ndisable_external_container_database_stack_monitoring_and_wait_for_work_request�s 

�
��zpDatabaseClientCompositeOperations.disable_external_container_database_stack_monitoring_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a
        Calls :py:func:`~oci.database.DatabaseClient.disable_external_non_container_database_database_management` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_non_container_database_id: (required)
            The external non-container database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.disable_external_non_container_database_database_management`

        :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|]}|���qSrrrrrrr�rz�DatabaseClientCompositeOperations.disable_external_non_container_database_database_management_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rz�DatabaseClientCompositeOperations.disable_external_non_container_database_database_management_and_wait_for_work_request.<locals>.<lambda>r$N)r�;disable_external_non_container_database_database_managementrr(r)r*r+r
r,r-r.r/rFrr!r�Udisable_external_non_container_database_database_management_and_wait_for_work_request�s 

�
��zwDatabaseClientCompositeOperations.disable_external_non_container_database_database_management_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a
        Calls :py:func:`~oci.database.DatabaseClient.disable_external_non_container_database_operations_insights` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_non_container_database_id: (required)
            The external non-container database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.disable_external_non_container_database_operations_insights`

        :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|]}|���qSrrrrrrr�rz�DatabaseClientCompositeOperations.disable_external_non_container_database_operations_insights_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rz�DatabaseClientCompositeOperations.disable_external_non_container_database_operations_insights_and_wait_for_work_request.<locals>.<lambda>r$N)r�;disable_external_non_container_database_operations_insightsrr(r)r*r+r
r,r-r.r/rFrr!r�Udisable_external_non_container_database_operations_insights_and_wait_for_work_request�s 

�
��zwDatabaseClientCompositeOperations.disable_external_non_container_database_operations_insights_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.disable_external_non_container_database_stack_monitoring` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_non_container_database_id: (required)
            The external non-container database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.disable_external_non_container_database_stack_monitoring`

        :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|]}|���qSrrrrrrr	rz�DatabaseClientCompositeOperations.disable_external_non_container_database_stack_monitoring_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#rz�DatabaseClientCompositeOperations.disable_external_non_container_database_stack_monitoring_and_wait_for_work_request.<locals>.<lambda>r$N)r�8disable_external_non_container_database_stack_monitoringrr(r)r*r+r
r,r-r.r/rFrr!r�Rdisable_external_non_container_database_stack_monitoring_and_wait_for_work_request�s 

�
��ztDatabaseClientCompositeOperations.disable_external_non_container_database_stack_monitoring_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.disable_external_pluggable_database_database_management` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_pluggable_database_id: (required)
            The ExternalPluggableDatabaseId `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.disable_external_pluggable_database_database_management`

        :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|]}|���qSrrrrrrr.rz�DatabaseClientCompositeOperations.disable_external_pluggable_database_database_management_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#5rz�DatabaseClientCompositeOperations.disable_external_pluggable_database_database_management_and_wait_for_work_request.<locals>.<lambda>r$N)r�7disable_external_pluggable_database_database_managementrr(r)r*r+r
r,r-r.r/rIrr!r�Qdisable_external_pluggable_database_database_management_and_wait_for_work_requests 

�
��zsDatabaseClientCompositeOperations.disable_external_pluggable_database_database_management_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.disable_external_pluggable_database_operations_insights` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_pluggable_database_id: (required)
            The ExternalPluggableDatabaseId `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.disable_external_pluggable_database_operations_insights`

        :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|]}|���qSrrrrrrrSrz�DatabaseClientCompositeOperations.disable_external_pluggable_database_operations_insights_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#Zrz�DatabaseClientCompositeOperations.disable_external_pluggable_database_operations_insights_and_wait_for_work_request.<locals>.<lambda>r$N)r�7disable_external_pluggable_database_operations_insightsrr(r)r*r+r
r,r-r.r/rIrr!r�Qdisable_external_pluggable_database_operations_insights_and_wait_for_work_request<s 

�
��zsDatabaseClientCompositeOperations.disable_external_pluggable_database_operations_insights_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.disable_external_pluggable_database_stack_monitoring` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_pluggable_database_id: (required)
            The ExternalPluggableDatabaseId `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.disable_external_pluggable_database_stack_monitoring`

        :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|]}|���qSrrrrrrrxrz�DatabaseClientCompositeOperations.disable_external_pluggable_database_stack_monitoring_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#rz�DatabaseClientCompositeOperations.disable_external_pluggable_database_stack_monitoring_and_wait_for_work_request.<locals>.<lambda>r$N)r�4disable_external_pluggable_database_stack_monitoringrr(r)r*r+r
r,r-r.r/rIrr!r�Ndisable_external_pluggable_database_stack_monitoring_and_wait_for_work_requestas 

�
��zpDatabaseClientCompositeOperations.disable_external_pluggable_database_stack_monitoring_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.disable_pluggable_database_management` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str pluggable_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.disable_pluggable_database_management`

        :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|]}|���qSrrrrrrr�rzuDatabaseClientCompositeOperations.disable_pluggable_database_management_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzsDatabaseClientCompositeOperations.disable_pluggable_database_management_and_wait_for_work_request.<locals>.<lambda>r$N)r�%disable_pluggable_database_managementrr(r)r*r+r
r,r-r.r/rNrr!r�?disable_pluggable_database_management_and_wait_for_work_request�s 

�
��zaDatabaseClientCompositeOperations.disable_pluggable_database_management_and_wait_for_work_requestc	
s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}z6|j	s�d|_	|j	d|_	tj
j|g|d��WYd	}~n>d	}~0ty�}ztj
j|g|d��WYd	}~n
d	}~00d	S)
aS
        Calls :py:func:`~oci.database.DatabaseClient.disable_pluggable_database_management` and waits for the :py:class:`~oci.database.models.PluggableDatabase` acted upon
        to enter the given state(s).

        :param str pluggable_database_id: (required)
            The database `OCID`__.

            __ 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.database.models.PluggableDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.disable_pluggable_database_management`

        :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|]}|���qSrrrrrrr�rznDatabaseClientCompositeOperations.disable_pluggable_database_management_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rzlDatabaseClientCompositeOperations.disable_pluggable_database_management_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrorrArr+rrCrDrEr.r/r-�	rrrFr3r4r5r7rGr8rr<r�8disable_pluggable_database_management_and_wait_for_state�s.
�
��&zZDatabaseClientCompositeOperations.disable_pluggable_database_management_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.enable_autonomous_database_management` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.enable_autonomous_database_management`

        :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|]}|���qSrrrrrrr�rzuDatabaseClientCompositeOperations.enable_autonomous_database_management_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzsDatabaseClientCompositeOperations.enable_autonomous_database_management_and_wait_for_work_request.<locals>.<lambda>r$N)r�%enable_autonomous_database_managementrr(r)r*r+r
r,r-r.r/r#rr!r�?enable_autonomous_database_management_and_wait_for_work_request�s 

�
��zaDatabaseClientCompositeOperations.enable_autonomous_database_management_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.enable_autonomous_database_operations_insights` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.enable_autonomous_database_operations_insights`

        :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|]}|���qSrrrrrrrrz~DatabaseClientCompositeOperations.enable_autonomous_database_operations_insights_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#rz|DatabaseClientCompositeOperations.enable_autonomous_database_operations_insights_and_wait_for_work_request.<locals>.<lambda>r$N)r�.enable_autonomous_database_operations_insightsrr(r)r*r+r
r,r-r.r/r#rr!r�Henable_autonomous_database_operations_insights_and_wait_for_work_request�s 

�
��zjDatabaseClientCompositeOperations.enable_autonomous_database_operations_insights_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.enable_database_management` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.EnableDatabaseManagementDetails enable_database_management_details: (required)
            Request to enable the Database Management service for an Oracle Database located in Oracle Cloud Infrastructure.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.enable_database_management`

        :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|]}|���qSrrrrrrr<rzjDatabaseClientCompositeOperations.enable_database_management_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#CrzhDatabaseClientCompositeOperations.enable_database_management_and_wait_for_work_request.<locals>.<lambda>r$N)r�enable_database_managementrr(r)r*r+r
r,r-r.r/)
rr��"enable_database_management_detailsr2r3r4r5r6r7r8rr!r�4enable_database_management_and_wait_for_work_request"s 

�
��zVDatabaseClientCompositeOperations.enable_database_management_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a
        Calls :py:func:`~oci.database.DatabaseClient.enable_database_management` and waits for the :py:class:`~oci.database.models.Database` acted upon
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.EnableDatabaseManagementDetails enable_database_management_details: (required)
            Request to enable the Database Management service for an Oracle Database located in Oracle Cloud Infrastructure.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.Database.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.enable_database_management`

        :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|]}|���qSrrrrrrrerzcDatabaseClientCompositeOperations.enable_database_management_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#lrzaDatabaseClientCompositeOperations.enable_database_management_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrwrrArr+r�rCrDrEr.r/r-)
rr�rxrFr3r4r5r7rGr8rr<r�-enable_database_management_and_wait_for_stateJs.
�
��&zODatabaseClientCompositeOperations.enable_database_management_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.enable_external_container_database_database_management` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_container_database_id: (required)
            The ExternalContainerDatabase `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.EnableExternalContainerDatabaseDatabaseManagementDetails enable_external_container_database_database_management_details: (required)
            Request to enable the Database Management Service for an external container database.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.enable_external_container_database_database_management`

        :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|]}|���qSrrrrrrr�rz�DatabaseClientCompositeOperations.enable_external_container_database_database_management_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rz�DatabaseClientCompositeOperations.enable_external_container_database_database_management_and_wait_for_work_request.<locals>.<lambda>r$N)r�6enable_external_container_database_database_managementrr(r)r*r+r
r,r-r.r/)
rr��>enable_external_container_database_database_management_detailsr2r3r4r5r6r7r8rr!r�Penable_external_container_database_database_management_and_wait_for_work_requestzs 

�
��zrDatabaseClientCompositeOperations.enable_external_container_database_database_management_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.enable_external_container_database_stack_monitoring` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_container_database_id: (required)
            The ExternalContainerDatabase `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.EnableExternalContainerDatabaseStackMonitoringDetails enable_external_container_database_stack_monitoring_details: (required)
            Details to enable Stack Monitoring on the external container database.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.enable_external_container_database_stack_monitoring`

        :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|]}|���qSrrrrrrr�rz�DatabaseClientCompositeOperations.enable_external_container_database_stack_monitoring_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rz�DatabaseClientCompositeOperations.enable_external_container_database_stack_monitoring_and_wait_for_work_request.<locals>.<lambda>r$N)r�3enable_external_container_database_stack_monitoringrr(r)r*r+r
r,r-r.r/)
rr��;enable_external_container_database_stack_monitoring_detailsr2r3r4r5r6r7r8rr!r�Menable_external_container_database_stack_monitoring_and_wait_for_work_request�s 

�
��zoDatabaseClientCompositeOperations.enable_external_container_database_stack_monitoring_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a
        Calls :py:func:`~oci.database.DatabaseClient.enable_external_non_container_database_database_management` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_non_container_database_id: (required)
            The external non-container database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.EnableExternalNonContainerDatabaseDatabaseManagementDetails enable_external_non_container_database_database_management_details: (required)
            Request to enable the Database Management Service for an external non-container database.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.enable_external_non_container_database_database_management`

        :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|]}|���qSrrrrrrr�rz�DatabaseClientCompositeOperations.enable_external_non_container_database_database_management_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rz�DatabaseClientCompositeOperations.enable_external_non_container_database_database_management_and_wait_for_work_request.<locals>.<lambda>r$N)r�:enable_external_non_container_database_database_managementrr(r)r*r+r
r,r-r.r/)
rr��Benable_external_non_container_database_database_management_detailsr2r3r4r5r6r7r8rr!r�Tenable_external_non_container_database_database_management_and_wait_for_work_request�s 

�
��zvDatabaseClientCompositeOperations.enable_external_non_container_database_database_management_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a	
        Calls :py:func:`~oci.database.DatabaseClient.enable_external_non_container_database_operations_insights` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_non_container_database_id: (required)
            The external non-container database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.EnableExternalNonContainerDatabaseOperationsInsightsDetails enable_external_non_container_database_operations_insights_details: (required)
            Details to enable Operations Insights on the external non-container database

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.enable_external_non_container_database_operations_insights`

        :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|]}|���qSrrrrrrrrz�DatabaseClientCompositeOperations.enable_external_non_container_database_operations_insights_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#rz�DatabaseClientCompositeOperations.enable_external_non_container_database_operations_insights_and_wait_for_work_request.<locals>.<lambda>r$N)r�:enable_external_non_container_database_operations_insightsrr(r)r*r+r
r,r-r.r/)
rr��Benable_external_non_container_database_operations_insights_detailsr2r3r4r5r6r7r8rr!r�Tenable_external_non_container_database_operations_insights_and_wait_for_work_request�s 

�
��zvDatabaseClientCompositeOperations.enable_external_non_container_database_operations_insights_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.enable_external_non_container_database_stack_monitoring` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_non_container_database_id: (required)
            The external non-container database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.EnableExternalNonContainerDatabaseStackMonitoringDetails enable_external_non_container_database_stack_monitoring_details: (required)
            Details to enable Stack Monitoring on the external non-container database.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.enable_external_non_container_database_stack_monitoring`

        :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|]}|���qSrrrrrrr4rz�DatabaseClientCompositeOperations.enable_external_non_container_database_stack_monitoring_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#;rz�DatabaseClientCompositeOperations.enable_external_non_container_database_stack_monitoring_and_wait_for_work_request.<locals>.<lambda>r$N)r�7enable_external_non_container_database_stack_monitoringrr(r)r*r+r
r,r-r.r/)
rr��?enable_external_non_container_database_stack_monitoring_detailsr2r3r4r5r6r7r8rr!r�Qenable_external_non_container_database_stack_monitoring_and_wait_for_work_requests 

�
��zsDatabaseClientCompositeOperations.enable_external_non_container_database_stack_monitoring_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.enable_external_pluggable_database_database_management` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_pluggable_database_id: (required)
            The ExternalPluggableDatabaseId `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.EnableExternalPluggableDatabaseDatabaseManagementDetails enable_external_pluggable_database_database_management_details: (required)
            Request to enable the Database Management Service for an external database.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.enable_external_pluggable_database_database_management`

        :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|]}|���qSrrrrrrr\rz�DatabaseClientCompositeOperations.enable_external_pluggable_database_database_management_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#crz�DatabaseClientCompositeOperations.enable_external_pluggable_database_database_management_and_wait_for_work_request.<locals>.<lambda>r$N)r�6enable_external_pluggable_database_database_managementrr(r)r*r+r
r,r-r.r/)
rr��>enable_external_pluggable_database_database_management_detailsr2r3r4r5r6r7r8rr!r�Penable_external_pluggable_database_database_management_and_wait_for_work_requestBs 

�
��zrDatabaseClientCompositeOperations.enable_external_pluggable_database_database_management_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.enable_external_pluggable_database_operations_insights` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_pluggable_database_id: (required)
            The ExternalPluggableDatabaseId `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.EnableExternalPluggableDatabaseOperationsInsightsDetails enable_external_pluggable_database_operations_insights_details: (required)
            Details to enable Operations Insights on the external pluggable database

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.enable_external_pluggable_database_operations_insights`

        :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|]}|���qSrrrrrrr�rz�DatabaseClientCompositeOperations.enable_external_pluggable_database_operations_insights_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rz�DatabaseClientCompositeOperations.enable_external_pluggable_database_operations_insights_and_wait_for_work_request.<locals>.<lambda>r$N)r�6enable_external_pluggable_database_operations_insightsrr(r)r*r+r
r,r-r.r/)
rr��>enable_external_pluggable_database_operations_insights_detailsr2r3r4r5r6r7r8rr!r�Penable_external_pluggable_database_operations_insights_and_wait_for_work_requestjs 

�
��zrDatabaseClientCompositeOperations.enable_external_pluggable_database_operations_insights_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.enable_external_pluggable_database_stack_monitoring` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_pluggable_database_id: (required)
            The ExternalPluggableDatabaseId `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.EnableExternalPluggableDatabaseStackMonitoringDetails enable_external_pluggable_database_stack_monitoring_details: (required)
            Details to enable Stack Monitoring on the external pluggable database.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.enable_external_pluggable_database_stack_monitoring`

        :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|]}|���qSrrrrrrr�rz�DatabaseClientCompositeOperations.enable_external_pluggable_database_stack_monitoring_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rz�DatabaseClientCompositeOperations.enable_external_pluggable_database_stack_monitoring_and_wait_for_work_request.<locals>.<lambda>r$N)r�3enable_external_pluggable_database_stack_monitoringrr(r)r*r+r
r,r-r.r/)
rr��;enable_external_pluggable_database_stack_monitoring_detailsr2r3r4r5r6r7r8rr!r�Menable_external_pluggable_database_stack_monitoring_and_wait_for_work_request�s 

�
��zoDatabaseClientCompositeOperations.enable_external_pluggable_database_stack_monitoring_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.enable_pluggable_database_management` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str pluggable_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.EnablePluggableDatabaseManagementDetails enable_pluggable_database_management_details: (required)
            Request to enable the Database Management service for an Oracle Pluggable Database located in Oracle Cloud Infrastructure.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.enable_pluggable_database_management`

        :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|]}|���qSrrrrrrr�rztDatabaseClientCompositeOperations.enable_pluggable_database_management_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzrDatabaseClientCompositeOperations.enable_pluggable_database_management_and_wait_for_work_request.<locals>.<lambda>r$N)r�$enable_pluggable_database_managementrr(r)r*r+r
r,r-r.r/)
rr�,enable_pluggable_database_management_detailsr2r3r4r5r6r7r8rr!r�>enable_pluggable_database_management_and_wait_for_work_request�s 

�
��z`DatabaseClientCompositeOperations.enable_pluggable_database_management_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a^
        Calls :py:func:`~oci.database.DatabaseClient.enable_pluggable_database_management` and waits for the :py:class:`~oci.database.models.PluggableDatabase` acted upon
        to enter the given state(s).

        :param str pluggable_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.EnablePluggableDatabaseManagementDetails enable_pluggable_database_management_details: (required)
            Request to enable the Database Management service for an Oracle Pluggable Database located in Oracle Cloud Infrastructure.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.PluggableDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.enable_pluggable_database_management`

        :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|]}|���qSrrrrrrr�rzmDatabaseClientCompositeOperations.enable_pluggable_database_management_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#rzkDatabaseClientCompositeOperations.enable_pluggable_database_management_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+rrCrDrEr.r/r-)
rrr�rFr3r4r5r7rGr8rr<r�7enable_pluggable_database_management_and_wait_for_state�s.
�
��&zYDatabaseClientCompositeOperations.enable_pluggable_database_management_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.fail_over_autonomous_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.fail_over_autonomous_database`

        :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|]}|���qSrrrrrrr)rzmDatabaseClientCompositeOperations.fail_over_autonomous_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#0rzkDatabaseClientCompositeOperations.fail_over_autonomous_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�fail_over_autonomous_databaserr(r)r*r+r
r,r-r.r/r#rr!r�7fail_over_autonomous_database_and_wait_for_work_requests 

�
��zYDatabaseClientCompositeOperations.fail_over_autonomous_database_and_wait_for_work_requestc	
s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}z6|j	s�d|_	|j	d|_	tj
j|g|d��WYd	}~n>d	}~0ty�}ztj
j|g|d��WYd	}~n
d	}~00d	S)
aF
        Calls :py:func:`~oci.database.DatabaseClient.fail_over_autonomous_database` and waits for the :py:class:`~oci.database.models.AutonomousDatabase` acted upon
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ 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.database.models.AutonomousDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.fail_over_autonomous_database`

        :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|]}|���qSrrrrrrrOrzfDatabaseClientCompositeOperations.fail_over_autonomous_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#VrzdDatabaseClientCompositeOperations.fail_over_autonomous_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+rcrCrDrEr.r/r-�	rr`rFr3r4r5r7rGr8rr<r�0fail_over_autonomous_database_and_wait_for_state7s.
�
��&zRDatabaseClientCompositeOperations.fail_over_autonomous_database_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a	
        Calls :py:func:`~oci.database.DatabaseClient.failover_autonomous_container_database_dataguard_association` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_container_database_id: (required)
            The Autonomous Container Database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str autonomous_container_database_dataguard_association_id: (required)
            The Autonomous Container Database-Autonomous Data Guard association `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.failover_autonomous_container_database_dataguard_association`

        :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|]}|���qSrrrrrrr�rz�DatabaseClientCompositeOperations.failover_autonomous_container_database_dataguard_association_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rz�DatabaseClientCompositeOperations.failover_autonomous_container_database_dataguard_association_and_wait_for_work_request.<locals>.<lambda>r$N)r�<failover_autonomous_container_database_dataguard_associationrr(r)r*r+r
r,r-r.r/�
rrg�6autonomous_container_database_dataguard_association_idr2r3r4r5r6r7r8rr!r�Vfailover_autonomous_container_database_dataguard_association_and_wait_for_work_requestds 

�
��zxDatabaseClientCompositeOperations.failover_autonomous_container_database_dataguard_association_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z6tj|j|j�||�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.failover_autonomous_container_database_dataguard_association` and waits for the :py:class:`~oci.database.models.AutonomousContainerDatabaseDataguardAssociation` acted upon
        to enter the given state(s).

        :param str autonomous_container_database_id: (required)
            The Autonomous Container Database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str autonomous_container_database_dataguard_association_id: (required)
            The Autonomous Container Database-Autonomous Data Guard association `OCID`__.

            __ 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.database.models.AutonomousContainerDatabaseDataguardAssociation.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.failover_autonomous_container_database_dataguard_association`

        :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|]}|���qSrrrrrrr�rz�DatabaseClientCompositeOperations.failover_autonomous_container_database_dataguard_association_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rz�DatabaseClientCompositeOperations.failover_autonomous_container_database_dataguard_association_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+�7get_autonomous_container_database_dataguard_associationrCrDrEr.r/r-�
rrgr�rFr3r4r5r7rGr8rr<r�Ofailover_autonomous_container_database_dataguard_association_and_wait_for_state�s.�
��&zqDatabaseClientCompositeOperations.failover_autonomous_container_database_dataguard_association_and_wait_for_statec
s�|jj|||fi|��}|r |ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}	|	WSt	y�}
ztj
j|g|
d��WYd}
~
n
d}
~
00dS)	aD
        Calls :py:func:`~oci.database.DatabaseClient.failover_data_guard_association` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str data_guard_association_id: (required)
            The Data Guard association's `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.FailoverDataGuardAssociationDetails failover_data_guard_association_details: (required)
            A request to perform a failover, transitioning a standby database into a primary database.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.failover_data_guard_association`

        :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|]}|���qSrrrrrrr�rzoDatabaseClientCompositeOperations.failover_data_guard_association_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzmDatabaseClientCompositeOperations.failover_data_guard_association_and_wait_for_work_request.<locals>.<lambda>r$N)r�failover_data_guard_associationrr(r)r*r+r
r,r-r.r/)rr�r��'failover_data_guard_association_detailsr2r3r4r5r6r7r8rr!r�9failover_data_guard_association_and_wait_for_work_request�s 

�
��z[DatabaseClientCompositeOperations.failover_data_guard_association_and_wait_for_work_requestc
s�|jj|||fi|��}|s |Sdd�|D��|jj}z6tj|j|j�||�fd�fdd�i|��}|}	|	WSttfy�}
z6|
j	s�d|
_	|
j	d|
_	tj
j|g|
d��WYd	}
~
n>d	}
~
0ty�}
ztj
j|g|
d��WYd	}
~
n
d	}
~
00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.failover_data_guard_association` and waits for the :py:class:`~oci.database.models.DataGuardAssociation` acted upon
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str data_guard_association_id: (required)
            The Data Guard association's `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.FailoverDataGuardAssociationDetails failover_data_guard_association_details: (required)
            A request to perform a failover, transitioning a standby database into a primary database.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.DataGuardAssociation.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.failover_data_guard_association`

        :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|]}|���qSrrrrrrr
rzhDatabaseClientCompositeOperations.failover_data_guard_association_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#rzfDatabaseClientCompositeOperations.failover_data_guard_association_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+r�rCrDrEr.r/r-)rr�r�r�rFr3r4r5r7rGr8rr<r�2failover_data_guard_association_and_wait_for_state�s.�
��&zTDatabaseClientCompositeOperations.failover_data_guard_association_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a)
        Calls :py:func:`~oci.database.DatabaseClient.launch_autonomous_exadata_infrastructure` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.LaunchAutonomousExadataInfrastructureDetails launch_autonomous_exadata_infrastructure_details: (required)
            **Deprecated.** Use the :func:`create_cloud_exadata_infrastructure` or :func:`create_cloud_autonomous_vm_cluster` operations instead.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.launch_autonomous_exadata_infrastructure`

        :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|]}|���qSrrrrrrr7rzxDatabaseClientCompositeOperations.launch_autonomous_exadata_infrastructure_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#>rzvDatabaseClientCompositeOperations.launch_autonomous_exadata_infrastructure_and_wait_for_work_request.<locals>.<lambda>r$N)r�(launch_autonomous_exadata_infrastructurerr(r)r*r+r
r,r-r.r/)	r�0launch_autonomous_exadata_infrastructure_detailsr2r3r4r5r6r7r8rr!r�Blaunch_autonomous_exadata_infrastructure_and_wait_for_work_request"s 

�
��zdDatabaseClientCompositeOperations.launch_autonomous_exadata_infrastructure_and_wait_for_work_requestc

s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.launch_autonomous_exadata_infrastructure` and waits for the :py:class:`~oci.database.models.AutonomousExadataInfrastructure` acted upon
        to enter the given state(s).

        :param oci.database.models.LaunchAutonomousExadataInfrastructureDetails launch_autonomous_exadata_infrastructure_details: (required)
            **Deprecated.** Use the :func:`create_cloud_exadata_infrastructure` or :func:`create_cloud_autonomous_vm_cluster` operations instead.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.AutonomousExadataInfrastructure.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.launch_autonomous_exadata_infrastructure`

        :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|]}|���qSrrrrrrr[rzqDatabaseClientCompositeOperations.launch_autonomous_exadata_infrastructure_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#brzoDatabaseClientCompositeOperations.launch_autonomous_exadata_infrastructure_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+�%get_autonomous_exadata_infrastructurerCrDrEr.r/r-)
rr�rFr3r4r5rlr7rGr8rr<r�;launch_autonomous_exadata_infrastructure_and_wait_for_stateEs.
�
��&z]DatabaseClientCompositeOperations.launch_autonomous_exadata_infrastructure_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.launch_db_system` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.LaunchDbSystemBase launch_db_system_details: (required)
            Request to launch a DB system.

            **Note:** Deprecated for Exadata Cloud Service systems. Use the `new resource model APIs`__ instead.

            For Exadata Cloud Service instances, support for this API will end on May 15th, 2021. See `Switching an Exadata DB System to the New Resource Model and APIs`__ for details on converting existing Exadata DB systems to the new resource model.

            __ https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/exaflexsystem.htm#exaflexsystem_topic-resource_model
            __ https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/exaflexsystem_topic-resource_model_conversion.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.launch_db_system`

        :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|]}|���qSrrrrrrr�rz`DatabaseClientCompositeOperations.launch_db_system_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rz^DatabaseClientCompositeOperations.launch_db_system_and_wait_for_work_request.<locals>.<lambda>r$N)r�launch_db_systemrr(r)r*r+r
r,r-r.r/)	r�launch_db_system_detailsr2r3r4r5r6r7r8rr!r�*launch_db_system_and_wait_for_work_requestps 

�
��zLDatabaseClientCompositeOperations.launch_db_system_and_wait_for_work_requestc

s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a^
        Calls :py:func:`~oci.database.DatabaseClient.launch_db_system` and waits for the :py:class:`~oci.database.models.DbSystem` acted upon
        to enter the given state(s).

        :param oci.database.models.LaunchDbSystemBase launch_db_system_details: (required)
            Request to launch a DB system.

            **Note:** Deprecated for Exadata Cloud Service systems. Use the `new resource model APIs`__ instead.

            For Exadata Cloud Service instances, support for this API will end on May 15th, 2021. See `Switching an Exadata DB System to the New Resource Model and APIs`__ for details on converting existing Exadata DB systems to the new resource model.

            __ https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/exaflexsystem.htm#exaflexsystem_topic-resource_model
            __ https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/exaflexsystem_topic-resource_model_conversion.htm

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.DbSystem.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.launch_db_system`

        :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|]}|���qSrrrrrrr�rzYDatabaseClientCompositeOperations.launch_db_system_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rzWDatabaseClientCompositeOperations.launch_db_system_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+�
get_db_systemrCrDrEr.r/r-)
rr�rFr3r4r5r�r7rGr8rr<r�#launch_db_system_and_wait_for_state�s.
�
��&zEDatabaseClientCompositeOperations.launch_db_system_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	aZ
        Calls :py:func:`~oci.database.DatabaseClient.local_clone_pluggable_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.LocalClonePluggableDatabaseDetails local_clone_pluggable_database_details: (required)
            Request to clone a pluggable database locally.

        :param str pluggable_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.local_clone_pluggable_database`

        :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|]}|���qSrrrrrrr�rznDatabaseClientCompositeOperations.local_clone_pluggable_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzlDatabaseClientCompositeOperations.local_clone_pluggable_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�local_clone_pluggable_databaserr(r)r*r+r
r,r-r.r/)
r�&local_clone_pluggable_database_detailsrr2r3r4r5r6r7r8rr!r�8local_clone_pluggable_database_and_wait_for_work_request�s 

�
��zZDatabaseClientCompositeOperations.local_clone_pluggable_database_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.local_clone_pluggable_database` and waits for the :py:class:`~oci.database.models.PluggableDatabase` acted upon
        to enter the given state(s).

        :param oci.database.models.LocalClonePluggableDatabaseDetails local_clone_pluggable_database_details: (required)
            Request to clone a pluggable database locally.

        :param str pluggable_database_id: (required)
            The database `OCID`__.

            __ 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.database.models.PluggableDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.local_clone_pluggable_database`

        :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|]}|���qSrrrrrrrrzgDatabaseClientCompositeOperations.local_clone_pluggable_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#rzeDatabaseClientCompositeOperations.local_clone_pluggable_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+rrCrDrEr.r/r-)
rr�rrFr3r4r5r7rGr8rr<r�1local_clone_pluggable_database_and_wait_for_state�s.
�
��&zSDatabaseClientCompositeOperations.local_clone_pluggable_database_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.migrate_exadata_db_system_resource_model` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str db_system_id: (required)
            The DB system `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.migrate_exadata_db_system_resource_model`

        :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|]}|���qSrrrrrrr;rzxDatabaseClientCompositeOperations.migrate_exadata_db_system_resource_model_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#BrzvDatabaseClientCompositeOperations.migrate_exadata_db_system_resource_model_and_wait_for_work_request.<locals>.<lambda>r$N)r�(migrate_exadata_db_system_resource_modelrr(r)r*r+r
r,r-r.r/�	rr�r2r3r4r5r6r7r8rr!r�Bmigrate_exadata_db_system_resource_model_and_wait_for_work_request$s 

�
��zdDatabaseClientCompositeOperations.migrate_exadata_db_system_resource_model_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a3
        Calls :py:func:`~oci.database.DatabaseClient.migrate_vault_key` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.MigrateVaultKeyDetails migrate_vault_key_details: (required)
            Request to change the source of the encryption key for the database.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.migrate_vault_key`

        :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|]}|���qSrrrrrrrcrzaDatabaseClientCompositeOperations.migrate_vault_key_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#jrz_DatabaseClientCompositeOperations.migrate_vault_key_and_wait_for_work_request.<locals>.<lambda>r$N)r�migrate_vault_keyrr(r)r*r+r
r,r-r.r/)
rr��migrate_vault_key_detailsr2r3r4r5r6r7r8rr!r�+migrate_vault_key_and_wait_for_work_requestIs 

�
��zMDatabaseClientCompositeOperations.migrate_vault_key_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.migrate_vault_key` and waits for the :py:class:`~oci.database.models.Database` acted upon
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.MigrateVaultKeyDetails migrate_vault_key_details: (required)
            Request to change the source of the encryption key for the database.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.Database.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.migrate_vault_key`

        :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|]}|���qSrrrrrrr�rzZDatabaseClientCompositeOperations.migrate_vault_key_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rzXDatabaseClientCompositeOperations.migrate_vault_key_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+r�rCrDrEr.r/r-)
rr�r�rFr3r4r5r7rGr8rr<r�$migrate_vault_key_and_wait_for_stateqs.
�
��&zFDatabaseClientCompositeOperations.migrate_vault_key_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	aq
        Calls :py:func:`~oci.database.DatabaseClient.modify_database_management` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.ModifyDatabaseManagementDetails modify_database_management_details: (required)
            The data to update one or more attributes of the Database Management Service for the database.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.modify_database_management`

        :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|]}|���qSrrrrrrr�rzjDatabaseClientCompositeOperations.modify_database_management_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzhDatabaseClientCompositeOperations.modify_database_management_and_wait_for_work_request.<locals>.<lambda>r$N)r�modify_database_managementrr(r)r*r+r
r,r-r.r/)
rr��"modify_database_management_detailsr2r3r4r5r6r7r8rr!r�4modify_database_management_and_wait_for_work_request�s 

�
��zVDatabaseClientCompositeOperations.modify_database_management_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.modify_database_management` and waits for the :py:class:`~oci.database.models.Database` acted upon
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.ModifyDatabaseManagementDetails modify_database_management_details: (required)
            The data to update one or more attributes of the Database Management Service for the database.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.Database.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.modify_database_management`

        :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|]}|���qSrrrrrrr�rzcDatabaseClientCompositeOperations.modify_database_management_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rzaDatabaseClientCompositeOperations.modify_database_management_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+r�rCrDrEr.r/r-)
rr�r�rFr3r4r5r7rGr8rr<r�-modify_database_management_and_wait_for_state�s.
�
��&zODatabaseClientCompositeOperations.modify_database_management_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.modify_pluggable_database_management` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str pluggable_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.ModifyPluggableDatabaseManagementDetails modify_pluggable_database_management_details: (required)
            The data to update one or more attributes of the Database Management Service for the pluggable database.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.modify_pluggable_database_management`

        :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|]}|���qSrrrrrrrrztDatabaseClientCompositeOperations.modify_pluggable_database_management_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#rzrDatabaseClientCompositeOperations.modify_pluggable_database_management_and_wait_for_work_request.<locals>.<lambda>r$N)r�$modify_pluggable_database_managementrr(r)r*r+r
r,r-r.r/)
rr�,modify_pluggable_database_management_detailsr2r3r4r5r6r7r8rr!r�>modify_pluggable_database_management_and_wait_for_work_request�s 

�
��z`DatabaseClientCompositeOperations.modify_pluggable_database_management_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
aL
        Calls :py:func:`~oci.database.DatabaseClient.modify_pluggable_database_management` and waits for the :py:class:`~oci.database.models.PluggableDatabase` acted upon
        to enter the given state(s).

        :param str pluggable_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.ModifyPluggableDatabaseManagementDetails modify_pluggable_database_management_details: (required)
            The data to update one or more attributes of the Database Management Service for the pluggable database.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.PluggableDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.modify_pluggable_database_management`

        :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|]}|���qSrrrrrrr<rzmDatabaseClientCompositeOperations.modify_pluggable_database_management_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#CrzkDatabaseClientCompositeOperations.modify_pluggable_database_management_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+rrCrDrEr.r/r-)
rrr�rFr3r4r5r7rGr8rr<r�7modify_pluggable_database_management_and_wait_for_state!s.
�
��&zYDatabaseClientCompositeOperations.modify_pluggable_database_management_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.register_autonomous_database_data_safe` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.register_autonomous_database_data_safe`

        :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|]}|���qSrrrrrrrhrzvDatabaseClientCompositeOperations.register_autonomous_database_data_safe_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#orztDatabaseClientCompositeOperations.register_autonomous_database_data_safe_and_wait_for_work_request.<locals>.<lambda>r$N)r�&register_autonomous_database_data_saferr(r)r*r+r
r,r-r.r/r#rr!r�@register_autonomous_database_data_safe_and_wait_for_work_requestQs 

�
��zbDatabaseClientCompositeOperations.register_autonomous_database_data_safe_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a
        Calls :py:func:`~oci.database.DatabaseClient.reinstate_autonomous_container_database_dataguard_association` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_container_database_id: (required)
            The Autonomous Container Database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str autonomous_container_database_dataguard_association_id: (required)
            The Autonomous Container Database-Autonomous Data Guard association `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.reinstate_autonomous_container_database_dataguard_association`

        :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|]}|���qSrrrrrrr�rz�DatabaseClientCompositeOperations.reinstate_autonomous_container_database_dataguard_association_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rz�DatabaseClientCompositeOperations.reinstate_autonomous_container_database_dataguard_association_and_wait_for_work_request.<locals>.<lambda>r$N)r�=reinstate_autonomous_container_database_dataguard_associationrr(r)r*r+r
r,r-r.r/r�rr!r�Wreinstate_autonomous_container_database_dataguard_association_and_wait_for_work_requestvs 

�
��zyDatabaseClientCompositeOperations.reinstate_autonomous_container_database_dataguard_association_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z6tj|j|j�||�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.reinstate_autonomous_container_database_dataguard_association` and waits for the :py:class:`~oci.database.models.AutonomousContainerDatabaseDataguardAssociation` acted upon
        to enter the given state(s).

        :param str autonomous_container_database_id: (required)
            The Autonomous Container Database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str autonomous_container_database_dataguard_association_id: (required)
            The Autonomous Container Database-Autonomous Data Guard association `OCID`__.

            __ 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.database.models.AutonomousContainerDatabaseDataguardAssociation.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.reinstate_autonomous_container_database_dataguard_association`

        :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|]}|���qSrrrrrrr�rz�DatabaseClientCompositeOperations.reinstate_autonomous_container_database_dataguard_association_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rz�DatabaseClientCompositeOperations.reinstate_autonomous_container_database_dataguard_association_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+r�rCrDrEr.r/r-r�rr<r�Preinstate_autonomous_container_database_dataguard_association_and_wait_for_state�s.�
��&zrDatabaseClientCompositeOperations.reinstate_autonomous_container_database_dataguard_association_and_wait_for_statec
s�|jj|||fi|��}|r |ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}	|	WSt	y�}
ztj
j|g|
d��WYd}
~
n
d}
~
00dS)	a"
        Calls :py:func:`~oci.database.DatabaseClient.reinstate_data_guard_association` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str data_guard_association_id: (required)
            The Data Guard association's `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.ReinstateDataGuardAssociationDetails reinstate_data_guard_association_details: (required)
            A request to reinstate a database in a standby role.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.reinstate_data_guard_association`

        :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|]}|���qSrrrrrrr�rzpDatabaseClientCompositeOperations.reinstate_data_guard_association_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rznDatabaseClientCompositeOperations.reinstate_data_guard_association_and_wait_for_work_request.<locals>.<lambda>r$N)r� reinstate_data_guard_associationrr(r)r*r+r
r,r-r.r/)rr�r��(reinstate_data_guard_association_detailsr2r3r4r5r6r7r8rr!r�:reinstate_data_guard_association_and_wait_for_work_request�s 

�
��z\DatabaseClientCompositeOperations.reinstate_data_guard_association_and_wait_for_work_requestc
s�|jj|||fi|��}|s |Sdd�|D��|jj}z6tj|j|j�||�fd�fdd�i|��}|}	|	WSttfy�}
z6|
j	s�d|
_	|
j	d|
_	tj
j|g|
d��WYd	}
~
n>d	}
~
0ty�}
ztj
j|g|
d��WYd	}
~
n
d	}
~
00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.reinstate_data_guard_association` and waits for the :py:class:`~oci.database.models.DataGuardAssociation` acted upon
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str data_guard_association_id: (required)
            The Data Guard association's `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.ReinstateDataGuardAssociationDetails reinstate_data_guard_association_details: (required)
            A request to reinstate a database in a standby role.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.DataGuardAssociation.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.reinstate_data_guard_association`

        :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|]}|���qSrrrrrrrrziDatabaseClientCompositeOperations.reinstate_data_guard_association_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#&rzgDatabaseClientCompositeOperations.reinstate_data_guard_association_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+r�rCrDrEr.r/r-)rr�r�r�rFr3r4r5r7rGr8rr<r�3reinstate_data_guard_association_and_wait_for_state�s.�
��&zUDatabaseClientCompositeOperations.reinstate_data_guard_association_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.remote_clone_pluggable_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.RemoteClonePluggableDatabaseDetails remote_clone_pluggable_database_details: (required)
            Request to clone a pluggable database (PDB) to a different database (CDB) from the source PDB.

        :param str pluggable_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.remote_clone_pluggable_database`

        :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|]}|���qSrrrrrrrNrzoDatabaseClientCompositeOperations.remote_clone_pluggable_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#UrzmDatabaseClientCompositeOperations.remote_clone_pluggable_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�remote_clone_pluggable_databaserr(r)r*r+r
r,r-r.r/)
r�'remote_clone_pluggable_database_detailsrr2r3r4r5r6r7r8rr!r�9remote_clone_pluggable_database_and_wait_for_work_request4s 

�
��z[DatabaseClientCompositeOperations.remote_clone_pluggable_database_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a.
        Calls :py:func:`~oci.database.DatabaseClient.remote_clone_pluggable_database` and waits for the :py:class:`~oci.database.models.PluggableDatabase` acted upon
        to enter the given state(s).

        :param oci.database.models.RemoteClonePluggableDatabaseDetails remote_clone_pluggable_database_details: (required)
            Request to clone a pluggable database (PDB) to a different database (CDB) from the source PDB.

        :param str pluggable_database_id: (required)
            The database `OCID`__.

            __ 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.database.models.PluggableDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.remote_clone_pluggable_database`

        :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|]}|���qSrrrrrrrwrzhDatabaseClientCompositeOperations.remote_clone_pluggable_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#~rzfDatabaseClientCompositeOperations.remote_clone_pluggable_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+rrCrDrEr.r/r-)
rr�rrFr3r4r5r7rGr8rr<r�2remote_clone_pluggable_database_and_wait_for_state\s.
�
��&zTDatabaseClientCompositeOperations.remote_clone_pluggable_database_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.remove_virtual_machine_from_cloud_vm_cluster` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.RemoveVirtualMachineFromCloudVmClusterDetails remove_virtual_machine_from_cloud_vm_cluster_details: (required)
            Request to remove Virtual Machines from the Cloud VM cluster.

        :param str cloud_vm_cluster_id: (required)
            The cloud VM cluster `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.remove_virtual_machine_from_cloud_vm_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
        cSsg|]}|���qSrrrrrrr�rz|DatabaseClientCompositeOperations.remove_virtual_machine_from_cloud_vm_cluster_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzzDatabaseClientCompositeOperations.remove_virtual_machine_from_cloud_vm_cluster_and_wait_for_work_request.<locals>.<lambda>r$N)r�,remove_virtual_machine_from_cloud_vm_clusterrr(r)r*r+r
r,r-r.r/)
r�4remove_virtual_machine_from_cloud_vm_cluster_detailsrUr2r3r4r5r6r7r8rr!r�Fremove_virtual_machine_from_cloud_vm_cluster_and_wait_for_work_request�s 

�
��zhDatabaseClientCompositeOperations.remove_virtual_machine_from_cloud_vm_cluster_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a>
        Calls :py:func:`~oci.database.DatabaseClient.remove_virtual_machine_from_cloud_vm_cluster` and waits for the :py:class:`~oci.database.models.CloudVmCluster` acted upon
        to enter the given state(s).

        :param oci.database.models.RemoveVirtualMachineFromCloudVmClusterDetails remove_virtual_machine_from_cloud_vm_cluster_details: (required)
            Request to remove Virtual Machines from the Cloud VM cluster.

        :param str cloud_vm_cluster_id: (required)
            The cloud VM cluster `OCID`__.

            __ 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.database.models.CloudVmCluster.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.remove_virtual_machine_from_cloud_vm_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
        cSsg|]}|���qSrrrrrrr�rzuDatabaseClientCompositeOperations.remove_virtual_machine_from_cloud_vm_cluster_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rzsDatabaseClientCompositeOperations.remove_virtual_machine_from_cloud_vm_cluster_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+rWrCrDrEr.r/r-)
rr�rUrFr3r4r5r7rGr8rr<r�?remove_virtual_machine_from_cloud_vm_cluster_and_wait_for_state�s.
�
��&zaDatabaseClientCompositeOperations.remove_virtual_machine_from_cloud_vm_cluster_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a{
        Calls :py:func:`~oci.database.DatabaseClient.remove_virtual_machine_from_vm_cluster` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.RemoveVirtualMachineFromVmClusterDetails remove_virtual_machine_from_vm_cluster_details: (required)
            Request to remove Virtual Machines from the VM cluster.

        :param str vm_cluster_id: (required)
            The VM cluster `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.remove_virtual_machine_from_vm_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
        cSsg|]}|���qSrrrrrrr�rzvDatabaseClientCompositeOperations.remove_virtual_machine_from_vm_cluster_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#rztDatabaseClientCompositeOperations.remove_virtual_machine_from_vm_cluster_and_wait_for_work_request.<locals>.<lambda>r$N)r�&remove_virtual_machine_from_vm_clusterrr(r)r*r+r
r,r-r.r/)
r�.remove_virtual_machine_from_vm_cluster_detailsr[r2r3r4r5r6r7r8rr!r�@remove_virtual_machine_from_vm_cluster_and_wait_for_work_request�s 

�
��zbDatabaseClientCompositeOperations.remove_virtual_machine_from_vm_cluster_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a
        Calls :py:func:`~oci.database.DatabaseClient.remove_virtual_machine_from_vm_cluster` and waits for the :py:class:`~oci.database.models.VmCluster` acted upon
        to enter the given state(s).

        :param oci.database.models.RemoveVirtualMachineFromVmClusterDetails remove_virtual_machine_from_vm_cluster_details: (required)
            Request to remove Virtual Machines from the VM cluster.

        :param str vm_cluster_id: (required)
            The VM cluster `OCID`__.

            __ 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.database.models.VmCluster.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.remove_virtual_machine_from_vm_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
        cSsg|]}|���qSrrrrrrr'rzoDatabaseClientCompositeOperations.remove_virtual_machine_from_vm_cluster_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#.rzmDatabaseClientCompositeOperations.remove_virtual_machine_from_vm_cluster_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+r]rCrDrEr.r/r-)
rr�r[rFr3r4r5r7rGr8rr<r�9remove_virtual_machine_from_vm_cluster_and_wait_for_states.
�
��&z[DatabaseClientCompositeOperations.remove_virtual_machine_from_vm_cluster_and_wait_for_statec
s�|jj|||fi|��}|r |ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}	|	WSt	y�}
ztj
j|g|
d��WYd}
~
n
d}
~
00dS)	a/
        Calls :py:func:`~oci.database.DatabaseClient.resize_vm_cluster_network` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str exadata_infrastructure_id: (required)
            The Exadata infrastructure `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str vm_cluster_network_id: (required)
            The VM cluster network `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.ResizeVmClusterNetworkDetails resize_vm_cluster_network_details: (required)
            Request to add or remove Db server network nodes in the VM cluster network.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.resize_vm_cluster_network`

        :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|]}|���qSrrrrrrr[rziDatabaseClientCompositeOperations.resize_vm_cluster_network_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#brzgDatabaseClientCompositeOperations.resize_vm_cluster_network_and_wait_for_work_request.<locals>.<lambda>r$N)r�resize_vm_cluster_networkrr(r)r*r+r
r,r-r.r/)rr0r�!resize_vm_cluster_network_detailsr2r3r4r5r6r7r8rr!r�3resize_vm_cluster_network_and_wait_for_work_request<s 

�
��zUDatabaseClientCompositeOperations.resize_vm_cluster_network_and_wait_for_work_requestc
s�|jj|||fi|��}|s |Sdd�|D��|jj}z6tj|j|j�||�fd�fdd�i|��}|}	|	WSttfy�}
z6|
j	s�d|
_	|
j	d|
_	tj
j|g|
d��WYd	}
~
n>d	}
~
0ty�}
ztj
j|g|
d��WYd	}
~
n
d	}
~
00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.resize_vm_cluster_network` and waits for the :py:class:`~oci.database.models.VmClusterNetwork` acted upon
        to enter the given state(s).

        :param str exadata_infrastructure_id: (required)
            The Exadata infrastructure `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str vm_cluster_network_id: (required)
            The VM cluster network `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.ResizeVmClusterNetworkDetails resize_vm_cluster_network_details: (required)
            Request to add or remove Db server network nodes in the VM cluster network.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.VmClusterNetwork.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.resize_vm_cluster_network`

        :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|]}|���qSrrrrrrr�rzbDatabaseClientCompositeOperations.resize_vm_cluster_network_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rz`DatabaseClientCompositeOperations.resize_vm_cluster_network_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+rrCrDrEr.r/r-)rr0rr�rFr3r4r5r7rGr8rr<r�,resize_vm_cluster_network_and_wait_for_stateis.�
��&zNDatabaseClientCompositeOperations.resize_vm_cluster_network_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.restart_autonomous_container_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_container_database_id: (required)
            The Autonomous Container Database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.restart_autonomous_container_database`

        :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|]}|���qSrrrrrrr�rzuDatabaseClientCompositeOperations.restart_autonomous_container_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzsDatabaseClientCompositeOperations.restart_autonomous_container_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�%restart_autonomous_container_databaserr(r)r*r+r
r,r-r.r/�	rrgr2r3r4r5r6r7r8rr!r�?restart_autonomous_container_database_and_wait_for_work_request�s 

�
��zaDatabaseClientCompositeOperations.restart_autonomous_container_database_and_wait_for_work_requestc	
s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}z6|j	s�d|_	|j	d|_	tj
j|g|d��WYd	}~n>d	}~0ty�}ztj
j|g|d��WYd	}~n
d	}~00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.restart_autonomous_container_database` and waits for the :py:class:`~oci.database.models.AutonomousContainerDatabase` acted upon
        to enter the given state(s).

        :param str autonomous_container_database_id: (required)
            The Autonomous Container Database `OCID`__.

            __ 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.database.models.AutonomousContainerDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.restart_autonomous_container_database`

        :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|]}|���qSrrrrrrr�rznDatabaseClientCompositeOperations.restart_autonomous_container_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rzlDatabaseClientCompositeOperations.restart_autonomous_container_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+r�rCrDrEr.r/r-�	rrgrFr3r4r5r7rGr8rr<r�8restart_autonomous_container_database_and_wait_for_state�s.
�
��&zZDatabaseClientCompositeOperations.restart_autonomous_container_database_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.restart_autonomous_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.restart_autonomous_database`

        :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|]}|���qSrrrrrrrrzkDatabaseClientCompositeOperations.restart_autonomous_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#rziDatabaseClientCompositeOperations.restart_autonomous_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�restart_autonomous_databaserr(r)r*r+r
r,r-r.r/r#rr!r�5restart_autonomous_database_and_wait_for_work_request�s 

�
��zWDatabaseClientCompositeOperations.restart_autonomous_database_and_wait_for_work_requestc	
s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}z6|j	s�d|_	|j	d|_	tj
j|g|d��WYd	}~n>d	}~0ty�}ztj
j|g|d��WYd	}~n
d	}~00d	S)
aB
        Calls :py:func:`~oci.database.DatabaseClient.restart_autonomous_database` and waits for the :py:class:`~oci.database.models.AutonomousDatabase` acted upon
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ 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.database.models.AutonomousDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.restart_autonomous_database`

        :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|]}|���qSrrrrrrr-rzdDatabaseClientCompositeOperations.restart_autonomous_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#4rzbDatabaseClientCompositeOperations.restart_autonomous_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+rcrCrDrEr.r/r-r�rr<r�.restart_autonomous_database_and_wait_for_states.
�
��&zPDatabaseClientCompositeOperations.restart_autonomous_database_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	aT
        Calls :py:func:`~oci.database.DatabaseClient.restore_autonomous_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.RestoreAutonomousDatabaseDetails restore_autonomous_database_details: (required)
            Request to perform an Autonomous Database restore.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.restore_autonomous_database`

        :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|]}|���qSrrrrrrr\rzkDatabaseClientCompositeOperations.restore_autonomous_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#crziDatabaseClientCompositeOperations.restore_autonomous_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�restore_autonomous_databaserr(r)r*r+r
r,r-r.r/)
rr`�#restore_autonomous_database_detailsr2r3r4r5r6r7r8rr!r�5restore_autonomous_database_and_wait_for_work_requestBs 

�
��zWDatabaseClientCompositeOperations.restore_autonomous_database_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.restore_autonomous_database` and waits for the :py:class:`~oci.database.models.AutonomousDatabase` acted upon
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.RestoreAutonomousDatabaseDetails restore_autonomous_database_details: (required)
            Request to perform an Autonomous Database restore.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.AutonomousDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.restore_autonomous_database`

        :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|]}|���qSrrrrrrr�rzdDatabaseClientCompositeOperations.restore_autonomous_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rzbDatabaseClientCompositeOperations.restore_autonomous_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+rcrCrDrEr.r/r-)
rr`r�rFr3r4r5r7rGr8rr<r�.restore_autonomous_database_and_wait_for_statejs.
�
��&zPDatabaseClientCompositeOperations.restore_autonomous_database_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a
        Calls :py:func:`~oci.database.DatabaseClient.restore_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.RestoreDatabaseDetails restore_database_details: (required)
            Request to perform database restore.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.restore_database`

        :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|]}|���qSrrrrrrr�rz`DatabaseClientCompositeOperations.restore_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rz^DatabaseClientCompositeOperations.restore_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�restore_databaserr(r)r*r+r
r,r-r.r/)
rr��restore_database_detailsr2r3r4r5r6r7r8rr!r�*restore_database_and_wait_for_work_request�s 

�
��zLDatabaseClientCompositeOperations.restore_database_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.restore_database` and waits for the :py:class:`~oci.database.models.Database` acted upon
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.RestoreDatabaseDetails restore_database_details: (required)
            Request to perform database restore.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.Database.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.restore_database`

        :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|]}|���qSrrrrrrr�rzYDatabaseClientCompositeOperations.restore_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rzWDatabaseClientCompositeOperations.restore_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+r�rCrDrEr.r/r-)
rr�r�rFr3r4r5r7rGr8rr<r�#restore_database_and_wait_for_state�s.
�
��&zEDatabaseClientCompositeOperations.restore_database_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.rotate_autonomous_container_database_encryption_key` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_container_database_id: (required)
            The Autonomous Container Database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.rotate_autonomous_container_database_encryption_key`

        :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|]}|���qSrrrrrrr	rz�DatabaseClientCompositeOperations.rotate_autonomous_container_database_encryption_key_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#rz�DatabaseClientCompositeOperations.rotate_autonomous_container_database_encryption_key_and_wait_for_work_request.<locals>.<lambda>r$N)r�3rotate_autonomous_container_database_encryption_keyrr(r)r*r+r
r,r-r.r/r�rr!r�Mrotate_autonomous_container_database_encryption_key_and_wait_for_work_request�s 

�
��zoDatabaseClientCompositeOperations.rotate_autonomous_container_database_encryption_key_and_wait_for_work_requestc	
s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}z6|j	s�d|_	|j	d|_	tj
j|g|d��WYd	}~n>d	}~0ty�}ztj
j|g|d��WYd	}~n
d	}~00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.rotate_autonomous_container_database_encryption_key` and waits for the :py:class:`~oci.database.models.AutonomousContainerDatabase` acted upon
        to enter the given state(s).

        :param str autonomous_container_database_id: (required)
            The Autonomous Container Database `OCID`__.

            __ 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.database.models.AutonomousContainerDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.rotate_autonomous_container_database_encryption_key`

        :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|]}|���qSrrrrrrr/rz|DatabaseClientCompositeOperations.rotate_autonomous_container_database_encryption_key_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#6rzzDatabaseClientCompositeOperations.rotate_autonomous_container_database_encryption_key_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+r�rCrDrEr.r/r-r�rr<r�Frotate_autonomous_container_database_encryption_key_and_wait_for_states.
�
��&zhDatabaseClientCompositeOperations.rotate_autonomous_container_database_encryption_key_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.rotate_autonomous_database_encryption_key` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.rotate_autonomous_database_encryption_key`

        :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|]}|���qSrrrrrrr[rzyDatabaseClientCompositeOperations.rotate_autonomous_database_encryption_key_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#brzwDatabaseClientCompositeOperations.rotate_autonomous_database_encryption_key_and_wait_for_work_request.<locals>.<lambda>r$N)r�)rotate_autonomous_database_encryption_keyrr(r)r*r+r
r,r-r.r/r#rr!r�Crotate_autonomous_database_encryption_key_and_wait_for_work_requestDs 

�
��zeDatabaseClientCompositeOperations.rotate_autonomous_database_encryption_key_and_wait_for_work_requestc	
s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}z6|j	s�d|_	|j	d|_	tj
j|g|d��WYd	}~n>d	}~0ty�}ztj
j|g|d��WYd	}~n
d	}~00d	S)
a^
        Calls :py:func:`~oci.database.DatabaseClient.rotate_autonomous_database_encryption_key` and waits for the :py:class:`~oci.database.models.AutonomousDatabase` acted upon
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ 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.database.models.AutonomousDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.rotate_autonomous_database_encryption_key`

        :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|]}|���qSrrrrrrr�rzrDatabaseClientCompositeOperations.rotate_autonomous_database_encryption_key_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rzpDatabaseClientCompositeOperations.rotate_autonomous_database_encryption_key_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+rcrCrDrEr.r/r-r�rr<r�<rotate_autonomous_database_encryption_key_and_wait_for_stateis.
�
��&z^DatabaseClientCompositeOperations.rotate_autonomous_database_encryption_key_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.rotate_cloud_autonomous_vm_cluster_ords_certs` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str cloud_autonomous_vm_cluster_id: (required)
            The Cloud VM cluster `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.rotate_cloud_autonomous_vm_cluster_ords_certs`

        :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|]}|���qSrrrrrrr�rz}DatabaseClientCompositeOperations.rotate_cloud_autonomous_vm_cluster_ords_certs_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rz{DatabaseClientCompositeOperations.rotate_cloud_autonomous_vm_cluster_ords_certs_and_wait_for_work_request.<locals>.<lambda>r$N)r�-rotate_cloud_autonomous_vm_cluster_ords_certsrr(r)r*r+r
r,r-r.r/r1rr!r�Grotate_cloud_autonomous_vm_cluster_ords_certs_and_wait_for_work_request�s 

�
��ziDatabaseClientCompositeOperations.rotate_cloud_autonomous_vm_cluster_ords_certs_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.rotate_cloud_autonomous_vm_cluster_ssl_certs` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str cloud_autonomous_vm_cluster_id: (required)
            The Cloud VM cluster `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.rotate_cloud_autonomous_vm_cluster_ssl_certs`

        :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|]}|���qSrrrrrrr�rz|DatabaseClientCompositeOperations.rotate_cloud_autonomous_vm_cluster_ssl_certs_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzzDatabaseClientCompositeOperations.rotate_cloud_autonomous_vm_cluster_ssl_certs_and_wait_for_work_request.<locals>.<lambda>r$N)r�,rotate_cloud_autonomous_vm_cluster_ssl_certsrr(r)r*r+r
r,r-r.r/r1rr!r�Frotate_cloud_autonomous_vm_cluster_ssl_certs_and_wait_for_work_request�s 

�
��zhDatabaseClientCompositeOperations.rotate_cloud_autonomous_vm_cluster_ssl_certs_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.rotate_ords_certs` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_exadata_infrastructure_id: (required)
            The Autonomous Exadata Infrastructure  `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.rotate_ords_certs`

        :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|]}|���qSrrrrrrr�rzaDatabaseClientCompositeOperations.rotate_ords_certs_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rz_DatabaseClientCompositeOperations.rotate_ords_certs_and_wait_for_work_request.<locals>.<lambda>r$N)r�rotate_ords_certsrr(r)r*r+r
r,r-r.r/�	rrlr2r3r4r5r6r7r8rr!r�+rotate_ords_certs_and_wait_for_work_request�s 

�
��zMDatabaseClientCompositeOperations.rotate_ords_certs_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.rotate_ssl_certs` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_exadata_infrastructure_id: (required)
            The Autonomous Exadata Infrastructure  `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.rotate_ssl_certs`

        :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|]}|���qSrrrrrrrrz`DatabaseClientCompositeOperations.rotate_ssl_certs_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr##rz^DatabaseClientCompositeOperations.rotate_ssl_certs_and_wait_for_work_request.<locals>.<lambda>r$N)r�rotate_ssl_certsrr(r)r*r+r
r,r-r.r/r�rr!r�*rotate_ssl_certs_and_wait_for_work_requests 

�
��zLDatabaseClientCompositeOperations.rotate_ssl_certs_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a
        Calls :py:func:`~oci.database.DatabaseClient.rotate_vault_key` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.rotate_vault_key`

        :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|]}|���qSrrrrrrrArz`DatabaseClientCompositeOperations.rotate_vault_key_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#Hrz^DatabaseClientCompositeOperations.rotate_vault_key_and_wait_for_work_request.<locals>.<lambda>r$N)r�rotate_vault_keyrr(r)r*r+r
r,r-r.r/r8rr!r�*rotate_vault_key_and_wait_for_work_request*s 

�
��zLDatabaseClientCompositeOperations.rotate_vault_key_and_wait_for_work_requestc	
s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}z6|j	s�d|_	|j	d|_	tj
j|g|d��WYd	}~n>d	}~0ty�}ztj
j|g|d��WYd	}~n
d	}~00d	S)
a

        Calls :py:func:`~oci.database.DatabaseClient.rotate_vault_key` and waits for the :py:class:`~oci.database.models.Database` acted upon
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ 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.database.models.Database.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.rotate_vault_key`

        :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|]}|���qSrrrrrrrgrzYDatabaseClientCompositeOperations.rotate_vault_key_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#nrzWDatabaseClientCompositeOperations.rotate_vault_key_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+r�rCrDrEr.r/r-r]rr<r�#rotate_vault_key_and_wait_for_stateOs.
�
��&zEDatabaseClientCompositeOperations.rotate_vault_key_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.scan_external_container_database_pluggable_databases` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_container_database_id: (required)
            The ExternalContainerDatabase `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str external_database_connector_id: (required)
            The `OCID`__ of the
            external database connector resource (`ExternalDatabaseConnectorId`).

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.scan_external_container_database_pluggable_databases`

        :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|]}|���qSrrrrrrr�rz�DatabaseClientCompositeOperations.scan_external_container_database_pluggable_databases_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rz�DatabaseClientCompositeOperations.scan_external_container_database_pluggable_databases_and_wait_for_work_request.<locals>.<lambda>r$N)r�4scan_external_container_database_pluggable_databasesrr(r)r*r+r
r,r-r.r/)
rr�r�r2r3r4r5r6r7r8rr!r�Nscan_external_container_database_pluggable_databases_and_wait_for_work_request|s 

�
��zpDatabaseClientCompositeOperations.scan_external_container_database_pluggable_databases_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.shrink_autonomous_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.shrink_autonomous_database`

        :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|]}|���qSrrrrrrr�rzjDatabaseClientCompositeOperations.shrink_autonomous_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzhDatabaseClientCompositeOperations.shrink_autonomous_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�shrink_autonomous_databaserr(r)r*r+r
r,r-r.r/r#rr!r�4shrink_autonomous_database_and_wait_for_work_request�s 

�
��zVDatabaseClientCompositeOperations.shrink_autonomous_database_and_wait_for_work_requestc	
s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}z6|j	s�d|_	|j	d|_	tj
j|g|d��WYd	}~n>d	}~0ty�}ztj
j|g|d��WYd	}~n
d	}~00d	S)
a@
        Calls :py:func:`~oci.database.DatabaseClient.shrink_autonomous_database` and waits for the :py:class:`~oci.database.models.AutonomousDatabase` acted upon
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ 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.database.models.AutonomousDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.shrink_autonomous_database`

        :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|]}|���qSrrrrrrr�rzcDatabaseClientCompositeOperations.shrink_autonomous_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rzaDatabaseClientCompositeOperations.shrink_autonomous_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrrrArr+rcrCrDrEr.r/r-r�rr<r�-shrink_autonomous_database_and_wait_for_state�s.
�
��&zODatabaseClientCompositeOperations.shrink_autonomous_database_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.start_autonomous_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.start_autonomous_database`

        :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|]}|���qSrrrrrrrrziDatabaseClientCompositeOperations.start_autonomous_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#rzgDatabaseClientCompositeOperations.start_autonomous_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�start_autonomous_databaserr(r)r*r+r
r,r-r.r/r#rr!r�3start_autonomous_database_and_wait_for_work_request�s 

�
��zUDatabaseClientCompositeOperations.start_autonomous_database_and_wait_for_work_requestc	
s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}z6|j	s�d|_	|j	d|_	tj
j|g|d��WYd	}~n>d	}~0ty�}ztj
j|g|d��WYd	}~n
d	}~00d	S)
a>
        Calls :py:func:`~oci.database.DatabaseClient.start_autonomous_database` and waits for the :py:class:`~oci.database.models.AutonomousDatabase` acted upon
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ 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.database.models.AutonomousDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.start_autonomous_database`

        :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|]}|���qSrrrrrrr6rzbDatabaseClientCompositeOperations.start_autonomous_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#=rz`DatabaseClientCompositeOperations.start_autonomous_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrrrArr+rcrCrDrEr.r/r-r�rr<r�,start_autonomous_database_and_wait_for_states.
�
��&zNDatabaseClientCompositeOperations.start_autonomous_database_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.start_pluggable_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str pluggable_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.start_pluggable_database`

        :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|]}|���qSrrrrrrrbrzhDatabaseClientCompositeOperations.start_pluggable_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#irzfDatabaseClientCompositeOperations.start_pluggable_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�start_pluggable_databaserr(r)r*r+r
r,r-r.r/rNrr!r�2start_pluggable_database_and_wait_for_work_requestKs 

�
��zTDatabaseClientCompositeOperations.start_pluggable_database_and_wait_for_work_requestc	
s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}z6|j	s�d|_	|j	d|_	tj
j|g|d��WYd	}~n>d	}~0ty�}ztj
j|g|d��WYd	}~n
d	}~00d	S)
a9
        Calls :py:func:`~oci.database.DatabaseClient.start_pluggable_database` and waits for the :py:class:`~oci.database.models.PluggableDatabase` acted upon
        to enter the given state(s).

        :param str pluggable_database_id: (required)
            The database `OCID`__.

            __ 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.database.models.PluggableDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.start_pluggable_database`

        :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|]}|���qSrrrrrrr�rzaDatabaseClientCompositeOperations.start_pluggable_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rz_DatabaseClientCompositeOperations.start_pluggable_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrrrArr+rrCrDrEr.r/r-rqrr<r�+start_pluggable_database_and_wait_for_stateps.
�
��&zMDatabaseClientCompositeOperations.start_pluggable_database_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.stop_autonomous_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.stop_autonomous_database`

        :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|]}|���qSrrrrrrr�rzhDatabaseClientCompositeOperations.stop_autonomous_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzfDatabaseClientCompositeOperations.stop_autonomous_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�stop_autonomous_databaserr(r)r*r+r
r,r-r.r/r#rr!r�2stop_autonomous_database_and_wait_for_work_request�s 

�
��zTDatabaseClientCompositeOperations.stop_autonomous_database_and_wait_for_work_requestc	
s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}z6|j	s�d|_	|j	d|_	tj
j|g|d��WYd	}~n>d	}~0ty�}ztj
j|g|d��WYd	}~n
d	}~00d	S)
a<
        Calls :py:func:`~oci.database.DatabaseClient.stop_autonomous_database` and waits for the :py:class:`~oci.database.models.AutonomousDatabase` acted upon
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ 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.database.models.AutonomousDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.stop_autonomous_database`

        :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|]}|���qSrrrrrrr�rzaDatabaseClientCompositeOperations.stop_autonomous_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rz_DatabaseClientCompositeOperations.stop_autonomous_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr	rrArr+rcrCrDrEr.r/r-r�rr<r�+stop_autonomous_database_and_wait_for_state�s.
�
��&zMDatabaseClientCompositeOperations.stop_autonomous_database_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.stop_pluggable_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str pluggable_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.stop_pluggable_database`

        :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|]}|���qSrrrrrrrrzgDatabaseClientCompositeOperations.stop_pluggable_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#
rzeDatabaseClientCompositeOperations.stop_pluggable_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�stop_pluggable_databaserr(r)r*r+r
r,r-r.r/rNrr!r�1stop_pluggable_database_and_wait_for_work_request�s 

�
��zSDatabaseClientCompositeOperations.stop_pluggable_database_and_wait_for_work_requestc	
s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}z6|j	s�d|_	|j	d|_	tj
j|g|d��WYd	}~n>d	}~0ty�}ztj
j|g|d��WYd	}~n
d	}~00d	S)
a7
        Calls :py:func:`~oci.database.DatabaseClient.stop_pluggable_database` and waits for the :py:class:`~oci.database.models.PluggableDatabase` acted upon
        to enter the given state(s).

        :param str pluggable_database_id: (required)
            The database `OCID`__.

            __ 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.database.models.PluggableDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.stop_pluggable_database`

        :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|]}|���qSrrrrrrr,rz`DatabaseClientCompositeOperations.stop_pluggable_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#3rz^DatabaseClientCompositeOperations.stop_pluggable_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrrrArr+rrCrDrEr.r/r-rqrr<r�*stop_pluggable_database_and_wait_for_states.
�
��&zLDatabaseClientCompositeOperations.stop_pluggable_database_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a

        Calls :py:func:`~oci.database.DatabaseClient.switchover_autonomous_container_database_dataguard_association` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_container_database_id: (required)
            The Autonomous Container Database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str autonomous_container_database_dataguard_association_id: (required)
            The Autonomous Container Database-Autonomous Data Guard association `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.switchover_autonomous_container_database_dataguard_association`

        :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|]}|���qSrrrrrrr]rz�DatabaseClientCompositeOperations.switchover_autonomous_container_database_dataguard_association_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#drz�DatabaseClientCompositeOperations.switchover_autonomous_container_database_dataguard_association_and_wait_for_work_request.<locals>.<lambda>r$N)r�>switchover_autonomous_container_database_dataguard_associationrr(r)r*r+r
r,r-r.r/r�rr!r�Xswitchover_autonomous_container_database_dataguard_association_and_wait_for_work_requestAs 

�
��zzDatabaseClientCompositeOperations.switchover_autonomous_container_database_dataguard_association_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z6tj|j|j�||�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.switchover_autonomous_container_database_dataguard_association` and waits for the :py:class:`~oci.database.models.AutonomousContainerDatabaseDataguardAssociation` acted upon
        to enter the given state(s).

        :param str autonomous_container_database_id: (required)
            The Autonomous Container Database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str autonomous_container_database_dataguard_association_id: (required)
            The Autonomous Container Database-Autonomous Data Guard association `OCID`__.

            __ 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.database.models.AutonomousContainerDatabaseDataguardAssociation.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.switchover_autonomous_container_database_dataguard_association`

        :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|]}|���qSrrrrrrr�rz�DatabaseClientCompositeOperations.switchover_autonomous_container_database_dataguard_association_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rz�DatabaseClientCompositeOperations.switchover_autonomous_container_database_dataguard_association_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrrrArr+r�rCrDrEr.r/r-r�rr<r�Qswitchover_autonomous_container_database_dataguard_association_and_wait_for_stateks.�
��&zsDatabaseClientCompositeOperations.switchover_autonomous_container_database_dataguard_association_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.switchover_autonomous_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.switchover_autonomous_database`

        :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|]}|���qSrrrrrrr�rznDatabaseClientCompositeOperations.switchover_autonomous_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzlDatabaseClientCompositeOperations.switchover_autonomous_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�switchover_autonomous_databaserr(r)r*r+r
r,r-r.r/r#rr!r�8switchover_autonomous_database_and_wait_for_work_request�s 

�
��zZDatabaseClientCompositeOperations.switchover_autonomous_database_and_wait_for_work_requestc	
s�|jj|fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}z6|j	s�d|_	|j	d|_	tj
j|g|d��WYd	}~n>d	}~0ty�}ztj
j|g|d��WYd	}~n
d	}~00d	S)
aH
        Calls :py:func:`~oci.database.DatabaseClient.switchover_autonomous_database` and waits for the :py:class:`~oci.database.models.AutonomousDatabase` acted upon
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ 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.database.models.AutonomousDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.switchover_autonomous_database`

        :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|]}|���qSrrrrrrr�rzgDatabaseClientCompositeOperations.switchover_autonomous_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�rzeDatabaseClientCompositeOperations.switchover_autonomous_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrrrArr+rcrCrDrEr.r/r-r�rr<r�1switchover_autonomous_database_and_wait_for_state�s.
�
��&zSDatabaseClientCompositeOperations.switchover_autonomous_database_and_wait_for_statec
s�|jj|||fi|��}|r |ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}	|	WSt	y�}
ztj
j|g|
d��WYd}
~
n
d}
~
00dS)	a
        Calls :py:func:`~oci.database.DatabaseClient.switchover_data_guard_association` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str data_guard_association_id: (required)
            The Data Guard association's `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.SwitchoverDataGuardAssociationDetails switchover_data_guard_association_details: (required)
            Request to swtichover a primary to a standby.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.switchover_data_guard_association`

        :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|]}|���qSrrrrrrrrzqDatabaseClientCompositeOperations.switchover_data_guard_association_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#rzoDatabaseClientCompositeOperations.switchover_data_guard_association_and_wait_for_work_request.<locals>.<lambda>r$N)r�!switchover_data_guard_associationrr(r)r*r+r
r,r-r.r/)rr�r��)switchover_data_guard_association_detailsr2r3r4r5r6r7r8rr!r�;switchover_data_guard_association_and_wait_for_work_request�s 

�
��z]DatabaseClientCompositeOperations.switchover_data_guard_association_and_wait_for_work_requestc
s�|jj|||fi|��}|s |Sdd�|D��|jj}z6tj|j|j�||�fd�fdd�i|��}|}	|	WSttfy�}
z6|
j	s�d|
_	|
j	d|
_	tj
j|g|
d��WYd	}
~
n>d	}
~
0ty�}
ztj
j|g|
d��WYd	}
~
n
d	}
~
00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.switchover_data_guard_association` and waits for the :py:class:`~oci.database.models.DataGuardAssociation` acted upon
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str data_guard_association_id: (required)
            The Data Guard association's `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.SwitchoverDataGuardAssociationDetails switchover_data_guard_association_details: (required)
            Request to swtichover a primary to a standby.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.DataGuardAssociation.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.switchover_data_guard_association`

        :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|]}|���qSrrrrrrr<rzjDatabaseClientCompositeOperations.switchover_data_guard_association_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#CrzhDatabaseClientCompositeOperations.switchover_data_guard_association_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrrrArr+r�rCrDrEr.r/r-)rr�r�rrFr3r4r5r7rGr8rr<r�4switchover_data_guard_association_and_wait_for_states.�
��&zVDatabaseClientCompositeOperations.switchover_data_guard_association_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.terminate_autonomous_container_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_container_database_id: (required)
            The Autonomous Container Database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.terminate_autonomous_container_database`

        :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|]}|���qSrrrrrrrhrzwDatabaseClientCompositeOperations.terminate_autonomous_container_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#orzuDatabaseClientCompositeOperations.terminate_autonomous_container_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�'terminate_autonomous_container_databaserr(r)r*r+r
r,r-r.r/r�rr!r�Aterminate_autonomous_container_database_and_wait_for_work_requestQs 

�
��zcDatabaseClientCompositeOperations.terminate_autonomous_container_database_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.terminate_autonomous_exadata_infrastructure` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_exadata_infrastructure_id: (required)
            The Autonomous Exadata Infrastructure  `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.terminate_autonomous_exadata_infrastructure`

        :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|]}|���qSrrrrrrr�rz{DatabaseClientCompositeOperations.terminate_autonomous_exadata_infrastructure_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzyDatabaseClientCompositeOperations.terminate_autonomous_exadata_infrastructure_and_wait_for_work_request.<locals>.<lambda>r$N)r�+terminate_autonomous_exadata_infrastructurerr(r)r*r+r
r,r-r.r/r�rr!r�Eterminate_autonomous_exadata_infrastructure_and_wait_for_work_requestvs 

�
��zgDatabaseClientCompositeOperations.terminate_autonomous_exadata_infrastructure_and_wait_for_work_requestc	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.terminate_db_system` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str db_system_id: (required)
            The DB system `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.terminate_db_system`

        :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|]}|���qSrrrrrrr�rzcDatabaseClientCompositeOperations.terminate_db_system_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzaDatabaseClientCompositeOperations.terminate_db_system_and_wait_for_work_request.<locals>.<lambda>r$N)r�terminate_db_systemrr(r)r*r+r
r,r-r.r/r�rr!r�-terminate_db_system_and_wait_for_work_request�s 

�
��zODatabaseClientCompositeOperations.terminate_db_system_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.update_autonomous_container_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_container_database_id: (required)
            The Autonomous Container Database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateAutonomousContainerDatabaseDetails update_autonomous_container_database_details: (required)
            Request to update the properties of an Autonomous Container Database.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_autonomous_container_database`

        :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|]}|���qSrrrrrrr�rztDatabaseClientCompositeOperations.update_autonomous_container_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�rzrDatabaseClientCompositeOperations.update_autonomous_container_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�$update_autonomous_container_databaserr(r)r*r+r
r,r-r.r/)
rrg�,update_autonomous_container_database_detailsr2r3r4r5r6r7r8rr!r�>update_autonomous_container_database_and_wait_for_work_request�s 

�
��z`DatabaseClientCompositeOperations.update_autonomous_container_database_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a]
        Calls :py:func:`~oci.database.DatabaseClient.update_autonomous_container_database` and waits for the :py:class:`~oci.database.models.AutonomousContainerDatabase` acted upon
        to enter the given state(s).

        :param str autonomous_container_database_id: (required)
            The Autonomous Container Database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateAutonomousContainerDatabaseDetails update_autonomous_container_database_details: (required)
            Request to update the properties of an Autonomous Container Database.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.AutonomousContainerDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_autonomous_container_database`

        :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|]}|���qSrrrrrrr rzmDatabaseClientCompositeOperations.update_autonomous_container_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#
 rzkDatabaseClientCompositeOperations.update_autonomous_container_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrrrArr+r�rCrDrEr.r/r-)
rrgr rFr3r4r5r7rGr8rr<r�7update_autonomous_container_database_and_wait_for_state�s.
�
��&zYDatabaseClientCompositeOperations.update_autonomous_container_database_and_wait_for_statec
s�|jj|||fi|��}|r |ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}	|	WSt	y�}
ztj
j|g|
d��WYd}
~
n
d}
~
00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.update_autonomous_container_database_dataguard_association` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_container_database_id: (required)
            The Autonomous Container Database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str autonomous_container_database_dataguard_association_id: (required)
            The Autonomous Container Database-Autonomous Data Guard association `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateAutonomousContainerDatabaseDataGuardAssociationDetails update_autonomous_container_database_data_guard_association_details: (required)
            A request to update Data Guard association of a database.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_autonomous_container_database_dataguard_association`

        :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|]}|���qSrrrrrrr7 rz�DatabaseClientCompositeOperations.update_autonomous_container_database_dataguard_association_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#> rz�DatabaseClientCompositeOperations.update_autonomous_container_database_dataguard_association_and_wait_for_work_request.<locals>.<lambda>r$N)r�:update_autonomous_container_database_dataguard_associationrr(r)r*r+r
r,r-r.r/)rrgr��Cupdate_autonomous_container_database_data_guard_association_detailsr2r3r4r5r6r7r8rr!r�Tupdate_autonomous_container_database_dataguard_association_and_wait_for_work_request s 

�
��zvDatabaseClientCompositeOperations.update_autonomous_container_database_dataguard_association_and_wait_for_work_requestc
s�|jj|||fi|��}|s |Sdd�|D��|jj}z6tj|j|j�||�fd�fdd�i|��}|}	|	WSttfy�}
z6|
j	s�d|
_	|
j	d|
_	tj
j|g|
d��WYd	}
~
n>d	}
~
0ty�}
ztj
j|g|
d��WYd	}
~
n
d	}
~
00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.update_autonomous_container_database_dataguard_association` and waits for the :py:class:`~oci.database.models.AutonomousContainerDatabaseDataguardAssociation` acted upon
        to enter the given state(s).

        :param str autonomous_container_database_id: (required)
            The Autonomous Container Database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str autonomous_container_database_dataguard_association_id: (required)
            The Autonomous Container Database-Autonomous Data Guard association `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateAutonomousContainerDatabaseDataGuardAssociationDetails update_autonomous_container_database_data_guard_association_details: (required)
            A request to update Data Guard association of a database.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.AutonomousContainerDatabaseDataguardAssociation.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_autonomous_container_database_dataguard_association`

        :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|]}|���qSrrrrrrre rz�DatabaseClientCompositeOperations.update_autonomous_container_database_dataguard_association_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#l rz�DatabaseClientCompositeOperations.update_autonomous_container_database_dataguard_association_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr#rrArr+r�rCrDrEr.r/r-)rrgr�r$rFr3r4r5r7rGr8rr<r�Mupdate_autonomous_container_database_dataguard_association_and_wait_for_stateE s.�
��&zoDatabaseClientCompositeOperations.update_autonomous_container_database_dataguard_association_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	aY
        Calls :py:func:`~oci.database.DatabaseClient.update_autonomous_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateAutonomousDatabaseDetails update_autonomous_database_details: (required)
            Request to update the properties of an Autonomous Database.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_autonomous_database`

        :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|]}|���qSrrrrrrr� rzjDatabaseClientCompositeOperations.update_autonomous_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#� rzhDatabaseClientCompositeOperations.update_autonomous_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�update_autonomous_databaserr(r)r*r+r
r,r-r.r/)
rr`�"update_autonomous_database_detailsr2r3r4r5r6r7r8rr!r�4update_autonomous_database_and_wait_for_work_requestz s 

�
��zVDatabaseClientCompositeOperations.update_autonomous_database_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.update_autonomous_database` and waits for the :py:class:`~oci.database.models.AutonomousDatabase` acted upon
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateAutonomousDatabaseDetails update_autonomous_database_details: (required)
            Request to update the properties of an Autonomous Database.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.AutonomousDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_autonomous_database`

        :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|]}|���qSrrrrrrr� rzcDatabaseClientCompositeOperations.update_autonomous_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#� rzaDatabaseClientCompositeOperations.update_autonomous_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr'rrArr+rcrCrDrEr.r/r-)
rr`r(rFr3r4r5r7rGr8rr<r�-update_autonomous_database_and_wait_for_state� s.
�
��&zODatabaseClientCompositeOperations.update_autonomous_database_and_wait_for_statec	
s�|jj|fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}ztj
j|g|d��WYd}~n
d}~00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.update_autonomous_database_regional_wallet` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param oci.database.models.UpdateAutonomousDatabaseWalletDetails update_autonomous_database_wallet_details: (required)
            Request to update the properties of Autonomous Database regional wallet.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_autonomous_database_regional_wallet`

        :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|]}|���qSrrrrrrr� rzzDatabaseClientCompositeOperations.update_autonomous_database_regional_wallet_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#� rzxDatabaseClientCompositeOperations.update_autonomous_database_regional_wallet_and_wait_for_work_request.<locals>.<lambda>r$N)r�*update_autonomous_database_regional_walletrr(r)r*r+r
r,r-r.r/)	r�)update_autonomous_database_wallet_detailsr2r3r4r5r6r7r8rr!r�Dupdate_autonomous_database_regional_wallet_and_wait_for_work_request� s 

�
��zfDatabaseClientCompositeOperations.update_autonomous_database_regional_wallet_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a{
        Calls :py:func:`~oci.database.DatabaseClient.update_autonomous_database_wallet` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateAutonomousDatabaseWalletDetails update_autonomous_database_wallet_details: (required)
            Request to update the properties of an Autonomous Database wallet.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_autonomous_database_wallet`

        :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|]}|���qSrrrrrrr!rzqDatabaseClientCompositeOperations.update_autonomous_database_wallet_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#!rzoDatabaseClientCompositeOperations.update_autonomous_database_wallet_and_wait_for_work_request.<locals>.<lambda>r$N)r�!update_autonomous_database_walletrr(r)r*r+r
r,r-r.r/)
rr`r,r2r3r4r5r6r7r8rr!r�;update_autonomous_database_wallet_and_wait_for_work_request� s 

�
��z]DatabaseClientCompositeOperations.update_autonomous_database_wallet_and_wait_for_work_requestc

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.update_autonomous_exadata_infrastructure` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_exadata_infrastructure_id: (required)
            The Autonomous Exadata Infrastructure  `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateAutonomousExadataInfrastructureDetails update_autonomous_exadata_infrastructures_details: (required)
            Request to update the properties of a Autonomous Exadata Infrastructure.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_autonomous_exadata_infrastructure`

        :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|]}|���qSrrrrrrr7!rzxDatabaseClientCompositeOperations.update_autonomous_exadata_infrastructure_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#>!rzvDatabaseClientCompositeOperations.update_autonomous_exadata_infrastructure_and_wait_for_work_request.<locals>.<lambda>r$N)r�(update_autonomous_exadata_infrastructurerr(r)r*r+r
r,r-r.r/)
rrl�1update_autonomous_exadata_infrastructures_detailsr2r3r4r5r6r7r8rr!r�Bupdate_autonomous_exadata_infrastructure_and_wait_for_work_request!s 

�
��zdDatabaseClientCompositeOperations.update_autonomous_exadata_infrastructure_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.update_autonomous_exadata_infrastructure` and waits for the :py:class:`~oci.database.models.AutonomousExadataInfrastructure` acted upon
        to enter the given state(s).

        :param str autonomous_exadata_infrastructure_id: (required)
            The Autonomous Exadata Infrastructure  `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateAutonomousExadataInfrastructureDetails update_autonomous_exadata_infrastructures_details: (required)
            Request to update the properties of a Autonomous Exadata Infrastructure.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.AutonomousExadataInfrastructure.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_autonomous_exadata_infrastructure`

        :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|]}|���qSrrrrrrr`!rzqDatabaseClientCompositeOperations.update_autonomous_exadata_infrastructure_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#g!rzoDatabaseClientCompositeOperations.update_autonomous_exadata_infrastructure_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr0rrArr+r�rCrDrEr.r/r-)
rrlr1rFr3r4r5r7rGr8rr<r�;update_autonomous_exadata_infrastructure_and_wait_for_stateE!s.
�
��&z]DatabaseClientCompositeOperations.update_autonomous_exadata_infrastructure_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	aq
        Calls :py:func:`~oci.database.DatabaseClient.update_autonomous_vm_cluster` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str autonomous_vm_cluster_id: (required)
            The autonomous VM cluster `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateAutonomousVmClusterDetails update_autonomous_vm_cluster_details: (required)
            Request to update the attributes of an Autonomous VM cluster.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_autonomous_vm_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
        cSsg|]}|���qSrrrrrrr�!rzlDatabaseClientCompositeOperations.update_autonomous_vm_cluster_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�!rzjDatabaseClientCompositeOperations.update_autonomous_vm_cluster_and_wait_for_work_request.<locals>.<lambda>r$N)r�update_autonomous_vm_clusterrr(r)r*r+r
r,r-r.r/)
rrp�$update_autonomous_vm_cluster_detailsr2r3r4r5r6r7r8rr!r�6update_autonomous_vm_cluster_and_wait_for_work_requestu!s 

�
��zXDatabaseClientCompositeOperations.update_autonomous_vm_cluster_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a
        Calls :py:func:`~oci.database.DatabaseClient.update_autonomous_vm_cluster` and waits for the :py:class:`~oci.database.models.AutonomousVmCluster` acted upon
        to enter the given state(s).

        :param str autonomous_vm_cluster_id: (required)
            The autonomous VM cluster `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateAutonomousVmClusterDetails update_autonomous_vm_cluster_details: (required)
            Request to update the attributes of an Autonomous VM cluster.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.AutonomousVmCluster.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_autonomous_vm_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
        cSsg|]}|���qSrrrrrrr�!rzeDatabaseClientCompositeOperations.update_autonomous_vm_cluster_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�!rzcDatabaseClientCompositeOperations.update_autonomous_vm_cluster_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr4rrArr+r�rCrDrEr.r/r-)
rrpr5rFr3r4r5r7rGr8rr<r�/update_autonomous_vm_cluster_and_wait_for_state�!s.
�
��&zQDatabaseClientCompositeOperations.update_autonomous_vm_cluster_and_wait_for_statec

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.update_backup_destination` and waits for the :py:class:`~oci.database.models.BackupDestination` acted upon
        to enter the given state(s).

        :param str backup_destination_id: (required)
            The `OCID`__ of the backup destination.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateBackupDestinationDetails update_backup_destination_details: (required)
            For a RECOVERY_APPLIANCE backup destination, request to update the connection string and/or the list of VPC users.
            For an NFS backup destination, request to update the NFS location.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.BackupDestination.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_backup_destination`

        :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|]}|���qSrrrrrrr�!rzbDatabaseClientCompositeOperations.update_backup_destination_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�!rz`DatabaseClientCompositeOperations.update_backup_destination_and_wait_for_state.<locals>.<lambda>r>r@r$N)
r�update_backup_destinationrrArr+r�rCrDrEr.r/r-)
rrs�!update_backup_destination_detailsrFr3r4r5r7rGr8rr<r�,update_backup_destination_and_wait_for_state�!s.
�
��&zNDatabaseClientCompositeOperations.update_backup_destination_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.update_cloud_autonomous_vm_cluster` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str cloud_autonomous_vm_cluster_id: (required)
            The Cloud VM cluster `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateCloudAutonomousVmClusterDetails update_cloud_autonomous_vm_cluster_details: (required)
            Request to update the attributes of a cloud VM cluster.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_cloud_autonomous_vm_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
        cSsg|]}|���qSrrrrrrr"rzrDatabaseClientCompositeOperations.update_cloud_autonomous_vm_cluster_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#"rzpDatabaseClientCompositeOperations.update_cloud_autonomous_vm_cluster_and_wait_for_work_request.<locals>.<lambda>r$N)r�"update_cloud_autonomous_vm_clusterrr(r)r*r+r
r,r-r.r/)
rrw�*update_cloud_autonomous_vm_cluster_detailsr2r3r4r5r6r7r8rr!r�<update_cloud_autonomous_vm_cluster_and_wait_for_work_request�!s 

�
��z^DatabaseClientCompositeOperations.update_cloud_autonomous_vm_cluster_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a1
        Calls :py:func:`~oci.database.DatabaseClient.update_cloud_autonomous_vm_cluster` and waits for the :py:class:`~oci.database.models.CloudAutonomousVmCluster` acted upon
        to enter the given state(s).

        :param str cloud_autonomous_vm_cluster_id: (required)
            The Cloud VM cluster `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateCloudAutonomousVmClusterDetails update_cloud_autonomous_vm_cluster_details: (required)
            Request to update the attributes of a cloud VM cluster.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.CloudAutonomousVmCluster.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_cloud_autonomous_vm_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
        cSsg|]}|���qSrrrrrrrA"rzkDatabaseClientCompositeOperations.update_cloud_autonomous_vm_cluster_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#H"rziDatabaseClientCompositeOperations.update_cloud_autonomous_vm_cluster_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr;rrArr+r�rCrDrEr.r/r-)
rrwr<rFr3r4r5r7rGr8rr<r�5update_cloud_autonomous_vm_cluster_and_wait_for_state&"s.
�
��&zWDatabaseClientCompositeOperations.update_cloud_autonomous_vm_cluster_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.update_cloud_exadata_infrastructure` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str cloud_exadata_infrastructure_id: (required)
            The cloud Exadata infrastructure `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateCloudExadataInfrastructureDetails update_cloud_exadata_infrastructure_details: (required)
            Request to update the properties of an cloud Exadata infrastructure resource.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_cloud_exadata_infrastructure`

        :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|]}|���qSrrrrrrrp"rzsDatabaseClientCompositeOperations.update_cloud_exadata_infrastructure_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#w"rzqDatabaseClientCompositeOperations.update_cloud_exadata_infrastructure_and_wait_for_work_request.<locals>.<lambda>r$N)r�#update_cloud_exadata_infrastructurerr(r)r*r+r
r,r-r.r/)
rrK�+update_cloud_exadata_infrastructure_detailsr2r3r4r5r6r7r8rr!r�=update_cloud_exadata_infrastructure_and_wait_for_work_requestV"s 

�
��z_DatabaseClientCompositeOperations.update_cloud_exadata_infrastructure_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a]
        Calls :py:func:`~oci.database.DatabaseClient.update_cloud_exadata_infrastructure` and waits for the :py:class:`~oci.database.models.CloudExadataInfrastructure` acted upon
        to enter the given state(s).

        :param str cloud_exadata_infrastructure_id: (required)
            The cloud Exadata infrastructure `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateCloudExadataInfrastructureDetails update_cloud_exadata_infrastructure_details: (required)
            Request to update the properties of an cloud Exadata infrastructure resource.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.CloudExadataInfrastructure.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_cloud_exadata_infrastructure`

        :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|]}|���qSrrrrrrr�"rzlDatabaseClientCompositeOperations.update_cloud_exadata_infrastructure_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�"rzjDatabaseClientCompositeOperations.update_cloud_exadata_infrastructure_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr?rrArr+rMrCrDrEr.r/r-)
rrKr@rFr3r4r5r7rGr8rr<r�6update_cloud_exadata_infrastructure_and_wait_for_state~"s.
�
��&zXDatabaseClientCompositeOperations.update_cloud_exadata_infrastructure_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	aM
        Calls :py:func:`~oci.database.DatabaseClient.update_cloud_vm_cluster` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str cloud_vm_cluster_id: (required)
            The cloud VM cluster `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateCloudVmClusterDetails update_cloud_vm_cluster_details: (required)
            Request to update the attributes of a cloud VM cluster.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_cloud_vm_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
        cSsg|]}|���qSrrrrrrr�"rzgDatabaseClientCompositeOperations.update_cloud_vm_cluster_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�"rzeDatabaseClientCompositeOperations.update_cloud_vm_cluster_and_wait_for_work_request.<locals>.<lambda>r$N)r�update_cloud_vm_clusterrr(r)r*r+r
r,r-r.r/)
rrU�update_cloud_vm_cluster_detailsr2r3r4r5r6r7r8rr!r�1update_cloud_vm_cluster_and_wait_for_work_request�"s 

�
��zSDatabaseClientCompositeOperations.update_cloud_vm_cluster_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.update_cloud_vm_cluster` and waits for the :py:class:`~oci.database.models.CloudVmCluster` acted upon
        to enter the given state(s).

        :param str cloud_vm_cluster_id: (required)
            The cloud VM cluster `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateCloudVmClusterDetails update_cloud_vm_cluster_details: (required)
            Request to update the attributes of a cloud VM cluster.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.CloudVmCluster.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_cloud_vm_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
        cSsg|]}|���qSrrrrrrr�"rz`DatabaseClientCompositeOperations.update_cloud_vm_cluster_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�"rz^DatabaseClientCompositeOperations.update_cloud_vm_cluster_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrCrrArr+rWrCrDrEr.r/r-)
rrUrDrFr3r4r5r7rGr8rr<r�*update_cloud_vm_cluster_and_wait_for_state�"s.
�
��&zLDatabaseClientCompositeOperations.update_cloud_vm_cluster_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a`
        Calls :py:func:`~oci.database.DatabaseClient.update_cloud_vm_cluster_iorm_config` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str cloud_vm_cluster_id: (required)
            The cloud VM cluster `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.ExadataIormConfigUpdateDetails cloud_vm_cluster_iorm_config_update_details: (required)
            Request to perform database update.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_cloud_vm_cluster_iorm_config`

        :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|]}|���qSrrrrrrr #rzsDatabaseClientCompositeOperations.update_cloud_vm_cluster_iorm_config_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#'#rzqDatabaseClientCompositeOperations.update_cloud_vm_cluster_iorm_config_and_wait_for_work_request.<locals>.<lambda>r$N)r�#update_cloud_vm_cluster_iorm_configrr(r)r*r+r
r,r-r.r/)
rrU�+cloud_vm_cluster_iorm_config_update_detailsr2r3r4r5r6r7r8rr!r�=update_cloud_vm_cluster_iorm_config_and_wait_for_work_request#s 

�
��z_DatabaseClientCompositeOperations.update_cloud_vm_cluster_iorm_config_and_wait_for_work_requestc
s�|jj|||fi|��}|r |ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}	|	WSt	y�}
ztj
j|g|
d��WYd}
~
n
d}
~
00dS)	a
        Calls :py:func:`~oci.database.DatabaseClient.update_data_guard_association` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str data_guard_association_id: (required)
            The Data Guard association's `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateDataGuardAssociationDetails update_data_guard_association_details: (required)
            A request to update Data Guard association of a database.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_data_guard_association`

        :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|]}|���qSrrrrrrrM#rzmDatabaseClientCompositeOperations.update_data_guard_association_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#T#rzkDatabaseClientCompositeOperations.update_data_guard_association_and_wait_for_work_request.<locals>.<lambda>r$N)r�update_data_guard_associationrr(r)r*r+r
r,r-r.r/)rr�r��%update_data_guard_association_detailsr2r3r4r5r6r7r8rr!r�7update_data_guard_association_and_wait_for_work_request.#s 

�
��zYDatabaseClientCompositeOperations.update_data_guard_association_and_wait_for_work_requestc
s�|jj|||fi|��}|s |Sdd�|D��|jj}z6tj|j|j�||�fd�fdd�i|��}|}	|	WSttfy�}
z6|
j	s�d|
_	|
j	d|
_	tj
j|g|
d��WYd	}
~
n>d	}
~
0ty�}
ztj
j|g|
d��WYd	}
~
n
d	}
~
00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.update_data_guard_association` and waits for the :py:class:`~oci.database.models.DataGuardAssociation` acted upon
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str data_guard_association_id: (required)
            The Data Guard association's `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateDataGuardAssociationDetails update_data_guard_association_details: (required)
            A request to update Data Guard association of a database.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.DataGuardAssociation.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_data_guard_association`

        :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|]}|���qSrrrrrrr{#rzfDatabaseClientCompositeOperations.update_data_guard_association_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�#rzdDatabaseClientCompositeOperations.update_data_guard_association_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrJrrArr+r�rCrDrEr.r/r-)rr�r�rKrFr3r4r5r7rGr8rr<r�0update_data_guard_association_and_wait_for_state[#s.�
��&zRDatabaseClientCompositeOperations.update_data_guard_association_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a
        Calls :py:func:`~oci.database.DatabaseClient.update_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateDatabaseDetails update_database_details: (required)
            Request to perform database update.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_database`

        :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|]}|���qSrrrrrrr�#rz_DatabaseClientCompositeOperations.update_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�#rz]DatabaseClientCompositeOperations.update_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�update_databaserr(r)r*r+r
r,r-r.r/)
rr��update_database_detailsr2r3r4r5r6r7r8rr!r�)update_database_and_wait_for_work_request�#s 

�
��zKDatabaseClientCompositeOperations.update_database_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.update_database` and waits for the :py:class:`~oci.database.models.Database` acted upon
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateDatabaseDetails update_database_details: (required)
            Request to perform database update.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.Database.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_database`

        :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|]}|���qSrrrrrrr�#rzXDatabaseClientCompositeOperations.update_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�#rzVDatabaseClientCompositeOperations.update_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrNrrArr+r�rCrDrEr.r/r-)
rr�rOrFr3r4r5r7rGr8rr<r�"update_database_and_wait_for_state�#s.
�
��&zDDatabaseClientCompositeOperations.update_database_and_wait_for_statec

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a

        Calls :py:func:`~oci.database.DatabaseClient.update_database_software_image` and waits for the :py:class:`~oci.database.models.DatabaseSoftwareImage` acted upon
        to enter the given state(s).

        :param str database_software_image_id: (required)
            The DB system `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateDatabaseSoftwareImageDetails update_database_software_image_details: (required)
            Request to update the properties of a DB system.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.DatabaseSoftwareImage.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_database_software_image`

        :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|]}|���qSrrrrrrr$rzgDatabaseClientCompositeOperations.update_database_software_image_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#
$rzeDatabaseClientCompositeOperations.update_database_software_image_and_wait_for_state.<locals>.<lambda>r>r@r$N)
r�update_database_software_imagerrArr+r�rCrDrEr.r/r-)
rr��&update_database_software_image_detailsrFr3r4r5r7rGr8rr<r�1update_database_software_image_and_wait_for_state�#s.
�
��&zSDatabaseClientCompositeOperations.update_database_software_image_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a
        Calls :py:func:`~oci.database.DatabaseClient.update_db_home` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str db_home_id: (required)
            The Database Home `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateDbHomeDetails update_db_home_details: (required)
            Request to update the properties of a Database Home.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_db_home`

        :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|]}|���qSrrrrrrr2$rz^DatabaseClientCompositeOperations.update_db_home_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#9$rz\DatabaseClientCompositeOperations.update_db_home_and_wait_for_work_request.<locals>.<lambda>r$N)r�update_db_homerr(r)r*r+r
r,r-r.r/)
rr��update_db_home_detailsr2r3r4r5r6r7r8rr!r�(update_db_home_and_wait_for_work_request$s 

�
��zJDatabaseClientCompositeOperations.update_db_home_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.update_db_home` and waits for the :py:class:`~oci.database.models.DbHome` acted upon
        to enter the given state(s).

        :param str db_home_id: (required)
            The Database Home `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateDbHomeDetails update_db_home_details: (required)
            Request to update the properties of a Database Home.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.DbHome.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_db_home`

        :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|]}|���qSrrrrrrr[$rzWDatabaseClientCompositeOperations.update_db_home_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#b$rzUDatabaseClientCompositeOperations.update_db_home_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrUrrArr+r�rCrDrEr.r/r-)
rr�rVrFr3r4r5r7rGr8rr<r�!update_db_home_and_wait_for_state@$s.
�
��&zCDatabaseClientCompositeOperations.update_db_home_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a
        Calls :py:func:`~oci.database.DatabaseClient.update_db_system` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str db_system_id: (required)
            The DB system `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateDbSystemDetails update_db_system_details: (required)
            Request to update the properties of a DB system.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_db_system`

        :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|]}|���qSrrrrrrr�$rz`DatabaseClientCompositeOperations.update_db_system_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�$rz^DatabaseClientCompositeOperations.update_db_system_and_wait_for_work_request.<locals>.<lambda>r$N)r�update_db_systemrr(r)r*r+r
r,r-r.r/)
rr��update_db_system_detailsr2r3r4r5r6r7r8rr!r�*update_db_system_and_wait_for_work_requestp$s 

�
��zLDatabaseClientCompositeOperations.update_db_system_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.update_db_system` and waits for the :py:class:`~oci.database.models.DbSystem` acted upon
        to enter the given state(s).

        :param str db_system_id: (required)
            The DB system `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateDbSystemDetails update_db_system_details: (required)
            Request to update the properties of a DB system.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.DbSystem.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_db_system`

        :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|]}|���qSrrrrrrr�$rzYDatabaseClientCompositeOperations.update_db_system_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�$rzWDatabaseClientCompositeOperations.update_db_system_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrYrrArr+r�rCrDrEr.r/r-)
rr�rZrFr3r4r5r7rGr8rr<r�#update_db_system_and_wait_for_state�$s.
�
��&zEDatabaseClientCompositeOperations.update_db_system_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.update_exadata_infrastructure` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str exadata_infrastructure_id: (required)
            The Exadata infrastructure `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateExadataInfrastructureDetails update_exadata_infrastructure_details: (required)
            Request to update the properties of an Exadata Cloud@Customer infrastructure.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_exadata_infrastructure`

        :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|]}|���qSrrrrrrr�$rzmDatabaseClientCompositeOperations.update_exadata_infrastructure_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�$rzkDatabaseClientCompositeOperations.update_exadata_infrastructure_and_wait_for_work_request.<locals>.<lambda>r$N)r�update_exadata_infrastructurerr(r)r*r+r
r,r-r.r/)
rr0�%update_exadata_infrastructure_detailsr2r3r4r5r6r7r8rr!r�7update_exadata_infrastructure_and_wait_for_work_request�$s 

�
��zYDatabaseClientCompositeOperations.update_exadata_infrastructure_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a0
        Calls :py:func:`~oci.database.DatabaseClient.update_exadata_infrastructure` and waits for the :py:class:`~oci.database.models.ExadataInfrastructure` acted upon
        to enter the given state(s).

        :param str exadata_infrastructure_id: (required)
            The Exadata infrastructure `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateExadataInfrastructureDetails update_exadata_infrastructure_details: (required)
            Request to update the properties of an Exadata Cloud@Customer infrastructure.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.ExadataInfrastructure.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_exadata_infrastructure`

        :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|]}|���qSrrrrrrr%rzfDatabaseClientCompositeOperations.update_exadata_infrastructure_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#%rzdDatabaseClientCompositeOperations.update_exadata_infrastructure_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr]rrArr+rBrCrDrEr.r/r-)
rr0r^rFr3r4r5r7rGr8rr<r�0update_exadata_infrastructure_and_wait_for_state�$s.
�
��&zRDatabaseClientCompositeOperations.update_exadata_infrastructure_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a7
        Calls :py:func:`~oci.database.DatabaseClient.update_exadata_iorm_config` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str db_system_id: (required)
            The DB system `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.ExadataIormConfigUpdateDetails exadata_iorm_config_update_details: (required)
            Request to perform database update.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_exadata_iorm_config`

        :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|]}|���qSrrrrrrr:%rzjDatabaseClientCompositeOperations.update_exadata_iorm_config_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#A%rzhDatabaseClientCompositeOperations.update_exadata_iorm_config_and_wait_for_work_request.<locals>.<lambda>r$N)r�update_exadata_iorm_configrr(r)r*r+r
r,r-r.r/)
rr��"exadata_iorm_config_update_detailsr2r3r4r5r6r7r8rr!r�4update_exadata_iorm_config_and_wait_for_work_request %s 

�
��zVDatabaseClientCompositeOperations.update_exadata_iorm_config_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.update_exadata_iorm_config` and waits for the :py:class:`~oci.database.models.ExadataIormConfig` acted upon
        to enter the given state(s).

        :param str db_system_id: (required)
            The DB system `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.ExadataIormConfigUpdateDetails exadata_iorm_config_update_details: (required)
            Request to perform database update.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.ExadataIormConfig.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_exadata_iorm_config`

        :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|]}|���qSrrrrrrrc%rzcDatabaseClientCompositeOperations.update_exadata_iorm_config_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#j%rzaDatabaseClientCompositeOperations.update_exadata_iorm_config_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrarrArr+�get_exadata_iorm_configrCrDrEr.r/r-)
rr�rbrFr3r4r5r7rGr8rr<r�-update_exadata_iorm_config_and_wait_for_stateH%s.
�
��&zODatabaseClientCompositeOperations.update_exadata_iorm_config_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.update_external_container_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_container_database_id: (required)
            The ExternalContainerDatabase `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateExternalContainerDatabaseDetails update_external_container_database_details: (required)
            Request to update the properties of an
            :func:`create_external_container_database_details` resource.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_external_container_database`

        :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|]}|���qSrrrrrrr�%rzrDatabaseClientCompositeOperations.update_external_container_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�%rzpDatabaseClientCompositeOperations.update_external_container_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�"update_external_container_databaserr(r)r*r+r
r,r-r.r/)
rr��*update_external_container_database_detailsr2r3r4r5r6r7r8rr!r�<update_external_container_database_and_wait_for_work_requestx%s 

�
��z^DatabaseClientCompositeOperations.update_external_container_database_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
au
        Calls :py:func:`~oci.database.DatabaseClient.update_external_container_database` and waits for the :py:class:`~oci.database.models.ExternalContainerDatabase` acted upon
        to enter the given state(s).

        :param str external_container_database_id: (required)
            The ExternalContainerDatabase `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateExternalContainerDatabaseDetails update_external_container_database_details: (required)
            Request to update the properties of an
            :func:`create_external_container_database_details` resource.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.ExternalContainerDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_external_container_database`

        :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|]}|���qSrrrrrrr�%rzkDatabaseClientCompositeOperations.update_external_container_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�%rziDatabaseClientCompositeOperations.update_external_container_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrfrrArr+r�rCrDrEr.r/r-)
rr�rgrFr3r4r5r7rGr8rr<r�5update_external_container_database_and_wait_for_state�%s.
�
��&zWDatabaseClientCompositeOperations.update_external_container_database_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.update_external_database_connector` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_database_connector_id: (required)
            The `OCID`__ of the
            external database connector resource (`ExternalDatabaseConnectorId`).

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateExternalDatabaseConnectorDetails update_external_database_connector_details: (required)
            Request to update the properties of an external database connector.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_external_database_connector`

        :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|]}|���qSrrrrrrr�%rzrDatabaseClientCompositeOperations.update_external_database_connector_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�%rzpDatabaseClientCompositeOperations.update_external_database_connector_and_wait_for_work_request.<locals>.<lambda>r$N)r�"update_external_database_connectorrr(r)r*r+r
r,r-r.r/)
rr��*update_external_database_connector_detailsr2r3r4r5r6r7r8rr!r�<update_external_database_connector_and_wait_for_work_request�%s 

�
��z^DatabaseClientCompositeOperations.update_external_database_connector_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.update_external_database_connector` and waits for the :py:class:`~oci.database.models.ExternalDatabaseConnector` acted upon
        to enter the given state(s).

        :param str external_database_connector_id: (required)
            The `OCID`__ of the
            external database connector resource (`ExternalDatabaseConnectorId`).

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateExternalDatabaseConnectorDetails update_external_database_connector_details: (required)
            Request to update the properties of an external database connector.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.ExternalDatabaseConnector.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_external_database_connector`

        :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|]}|���qSrrrrrrr&rzkDatabaseClientCompositeOperations.update_external_database_connector_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#&rziDatabaseClientCompositeOperations.update_external_database_connector_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrjrrArr+r�rCrDrEr.r/r-)
rr�rkrFr3r4r5r7rGr8rr<r�5update_external_database_connector_and_wait_for_state�%s.
�
��&zWDatabaseClientCompositeOperations.update_external_database_connector_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.update_external_non_container_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_non_container_database_id: (required)
            The external non-container database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateExternalNonContainerDatabaseDetails update_external_non_container_database_details: (required)
            Request to update the properties of an external non-container database.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_external_non_container_database`

        :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|]}|���qSrrrrrrrF&rzvDatabaseClientCompositeOperations.update_external_non_container_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#M&rztDatabaseClientCompositeOperations.update_external_non_container_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�&update_external_non_container_databaserr(r)r*r+r
r,r-r.r/)
rr��.update_external_non_container_database_detailsr2r3r4r5r6r7r8rr!r�@update_external_non_container_database_and_wait_for_work_request,&s 

�
��zbDatabaseClientCompositeOperations.update_external_non_container_database_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
al
        Calls :py:func:`~oci.database.DatabaseClient.update_external_non_container_database` and waits for the :py:class:`~oci.database.models.ExternalNonContainerDatabase` acted upon
        to enter the given state(s).

        :param str external_non_container_database_id: (required)
            The external non-container database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateExternalNonContainerDatabaseDetails update_external_non_container_database_details: (required)
            Request to update the properties of an external non-container database.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.ExternalNonContainerDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_external_non_container_database`

        :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|]}|���qSrrrrrrro&rzoDatabaseClientCompositeOperations.update_external_non_container_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#v&rzmDatabaseClientCompositeOperations.update_external_non_container_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrnrrArr+rrCrDrEr.r/r-)
rr�rorFr3r4r5r7rGr8rr<r�9update_external_non_container_database_and_wait_for_stateT&s.
�
��&z[DatabaseClientCompositeOperations.update_external_non_container_database_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a�
        Calls :py:func:`~oci.database.DatabaseClient.update_external_pluggable_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str external_pluggable_database_id: (required)
            The ExternalPluggableDatabaseId `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateExternalPluggableDatabaseDetails update_external_pluggable_database_details: (required)
            Request to update the properties of an external pluggable database resource.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_external_pluggable_database`

        :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|]}|���qSrrrrrrr�&rzrDatabaseClientCompositeOperations.update_external_pluggable_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�&rzpDatabaseClientCompositeOperations.update_external_pluggable_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�"update_external_pluggable_databaserr(r)r*r+r
r,r-r.r/)
rr��*update_external_pluggable_database_detailsr2r3r4r5r6r7r8rr!r�<update_external_pluggable_database_and_wait_for_work_request�&s 

�
��z^DatabaseClientCompositeOperations.update_external_pluggable_database_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
aT
        Calls :py:func:`~oci.database.DatabaseClient.update_external_pluggable_database` and waits for the :py:class:`~oci.database.models.ExternalPluggableDatabase` acted upon
        to enter the given state(s).

        :param str external_pluggable_database_id: (required)
            The ExternalPluggableDatabaseId `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateExternalPluggableDatabaseDetails update_external_pluggable_database_details: (required)
            Request to update the properties of an external pluggable database resource.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.ExternalPluggableDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_external_pluggable_database`

        :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|]}|���qSrrrrrrr�&rzkDatabaseClientCompositeOperations.update_external_pluggable_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�&rziDatabaseClientCompositeOperations.update_external_pluggable_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rrrrrArr+rrCrDrEr.r/r-)
rr�rsrFr3r4r5r7rGr8rr<r�5update_external_pluggable_database_and_wait_for_state�&s.
�
��&zWDatabaseClientCompositeOperations.update_external_pluggable_database_and_wait_for_statec

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.update_key_store` and waits for the :py:class:`~oci.database.models.KeyStore` acted upon
        to enter the given state(s).

        :param str key_store_id: (required)
            The `OCID`__ of the key store.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateKeyStoreDetails update_key_store_details: (required)
            Request to update the attributes of a key store.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.KeyStore.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_key_store`

        :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|]}|���qSrrrrrrr�&rzYDatabaseClientCompositeOperations.update_key_store_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�&rzWDatabaseClientCompositeOperations.update_key_store_and_wait_for_state.<locals>.<lambda>r>r@r$N)
r�update_key_storerrArr+r
rCrDrEr.r/r-)
rr��update_key_store_detailsrFr3r4r5r7rGr8rr<r�#update_key_store_and_wait_for_state�&s.
�
��&zEDatabaseClientCompositeOperations.update_key_store_and_wait_for_statec

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.update_maintenance_run` and waits for the :py:class:`~oci.database.models.MaintenanceRun` acted upon
        to enter the given state(s).

        :param str maintenance_run_id: (required)
            The maintenance run OCID.

        :param oci.database.models.UpdateMaintenanceRunDetails update_maintenance_run_details: (required)
            Request to update the properties of a maintenance run.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.MaintenanceRun.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_maintenance_run`

        :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|]}|���qSrrrrrrr%'rz_DatabaseClientCompositeOperations.update_maintenance_run_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#,'rz]DatabaseClientCompositeOperations.update_maintenance_run_and_wait_for_state.<locals>.<lambda>r>r@r$N)
r�update_maintenance_runrrArr+�get_maintenance_runrCrDrEr.r/r-)
r�maintenance_run_id�update_maintenance_run_detailsrFr3r4r5r7rGr8rr<r�)update_maintenance_run_and_wait_for_state's.
�
��&zKDatabaseClientCompositeOperations.update_maintenance_run_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	aF
        Calls :py:func:`~oci.database.DatabaseClient.update_pluggable_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str pluggable_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdatePluggableDatabaseDetails update_pluggable_database_details: (required)
            Request to perform pluggable database update.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_pluggable_database`

        :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|]}|���qSrrrrrrrT'rziDatabaseClientCompositeOperations.update_pluggable_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#['rzgDatabaseClientCompositeOperations.update_pluggable_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�update_pluggable_databaserr(r)r*r+r
r,r-r.r/)
rr�!update_pluggable_database_detailsr2r3r4r5r6r7r8rr!r�3update_pluggable_database_and_wait_for_work_request:'s 

�
��zUDatabaseClientCompositeOperations.update_pluggable_database_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.update_pluggable_database` and waits for the :py:class:`~oci.database.models.PluggableDatabase` acted upon
        to enter the given state(s).

        :param str pluggable_database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdatePluggableDatabaseDetails update_pluggable_database_details: (required)
            Request to perform pluggable database update.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.PluggableDatabase.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_pluggable_database`

        :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|]}|���qSrrrrrrr}'rzbDatabaseClientCompositeOperations.update_pluggable_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�'rz`DatabaseClientCompositeOperations.update_pluggable_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr~rrArr+rrCrDrEr.r/r-)
rrrrFr3r4r5r7rGr8rr<r�,update_pluggable_database_and_wait_for_stateb's.
�
��&zNDatabaseClientCompositeOperations.update_pluggable_database_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a$
        Calls :py:func:`~oci.database.DatabaseClient.update_vm_cluster` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str vm_cluster_id: (required)
            The VM cluster `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateVmClusterDetails update_vm_cluster_details: (required)
            Request to update the attributes of a VM cluster.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_vm_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
        cSsg|]}|���qSrrrrrrr�'rzaDatabaseClientCompositeOperations.update_vm_cluster_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�'rz_DatabaseClientCompositeOperations.update_vm_cluster_and_wait_for_work_request.<locals>.<lambda>r$N)r�update_vm_clusterrr(r)r*r+r
r,r-r.r/)
rr[�update_vm_cluster_detailsr2r3r4r5r6r7r8rr!r�+update_vm_cluster_and_wait_for_work_request�'s 

�
��zMDatabaseClientCompositeOperations.update_vm_cluster_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.update_vm_cluster` and waits for the :py:class:`~oci.database.models.VmCluster` acted upon
        to enter the given state(s).

        :param str vm_cluster_id: (required)
            The VM cluster `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateVmClusterDetails update_vm_cluster_details: (required)
            Request to update the attributes of a VM cluster.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.VmCluster.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_vm_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
        cSsg|]}|���qSrrrrrrr�'rzZDatabaseClientCompositeOperations.update_vm_cluster_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�'rzXDatabaseClientCompositeOperations.update_vm_cluster_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+r]rCrDrEr.r/r-)
rr[r�rFr3r4r5r7rGr8rr<r�$update_vm_cluster_and_wait_for_state�'s.
�
��&zFDatabaseClientCompositeOperations.update_vm_cluster_and_wait_for_statec
s�|jj|||fi|��}|r |ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}	|	WSt	y�}
ztj
j|g|
d��WYd}
~
n
d}
~
00dS)	a
        Calls :py:func:`~oci.database.DatabaseClient.update_vm_cluster_network` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str exadata_infrastructure_id: (required)
            The Exadata infrastructure `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str vm_cluster_network_id: (required)
            The VM cluster network `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateVmClusterNetworkDetails update_vm_cluster_network_details: (required)
            Request to update the properties of a VM cluster network.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_vm_cluster_network`

        :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|]}|���qSrrrrrrr	(rziDatabaseClientCompositeOperations.update_vm_cluster_network_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#(rzgDatabaseClientCompositeOperations.update_vm_cluster_network_and_wait_for_work_request.<locals>.<lambda>r$N)r�update_vm_cluster_networkrr(r)r*r+r
r,r-r.r/)rr0r�!update_vm_cluster_network_detailsr2r3r4r5r6r7r8rr!r�3update_vm_cluster_network_and_wait_for_work_request�'s 

�
��zUDatabaseClientCompositeOperations.update_vm_cluster_network_and_wait_for_work_requestc
s�|jj|||fi|��}|s |Sdd�|D��|jj}z6tj|j|j�||�fd�fdd�i|��}|}	|	WSttfy�}
z6|
j	s�d|
_	|
j	d|
_	tj
j|g|
d��WYd	}
~
n>d	}
~
0ty�}
ztj
j|g|
d��WYd	}
~
n
d	}
~
00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.update_vm_cluster_network` and waits for the :py:class:`~oci.database.models.VmClusterNetwork` acted upon
        to enter the given state(s).

        :param str exadata_infrastructure_id: (required)
            The Exadata infrastructure `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str vm_cluster_network_id: (required)
            The VM cluster network `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpdateVmClusterNetworkDetails update_vm_cluster_network_details: (required)
            Request to update the properties of a VM cluster network.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.VmClusterNetwork.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.update_vm_cluster_network`

        :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|]}|���qSrrrrrrr7(rzbDatabaseClientCompositeOperations.update_vm_cluster_network_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#>(rz`DatabaseClientCompositeOperations.update_vm_cluster_network_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+rrCrDrEr.r/r-)rr0rr�rFr3r4r5r7rGr8rr<r�,update_vm_cluster_network_and_wait_for_state(s.�
��&zNDatabaseClientCompositeOperations.update_vm_cluster_network_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a
        Calls :py:func:`~oci.database.DatabaseClient.upgrade_database` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpgradeDatabaseDetails upgrade_database_details: (required)
            Request to perform a database upgrade.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.upgrade_database`

        :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|]}|���qSrrrrrrrf(rz`DatabaseClientCompositeOperations.upgrade_database_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#m(rz^DatabaseClientCompositeOperations.upgrade_database_and_wait_for_work_request.<locals>.<lambda>r$N)r�upgrade_databaserr(r)r*r+r
r,r-r.r/)
rr��upgrade_database_detailsr2r3r4r5r6r7r8rr!r�*upgrade_database_and_wait_for_work_requestL(s 

�
��zLDatabaseClientCompositeOperations.upgrade_database_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.upgrade_database` and waits for the :py:class:`~oci.database.models.Database` acted upon
        to enter the given state(s).

        :param str database_id: (required)
            The database `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpgradeDatabaseDetails upgrade_database_details: (required)
            Request to perform a database upgrade.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.Database.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.upgrade_database`

        :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|]}|���qSrrrrrrr�(rzYDatabaseClientCompositeOperations.upgrade_database_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�(rzWDatabaseClientCompositeOperations.upgrade_database_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+r�rCrDrEr.r/r-)
rr�r�rFr3r4r5r7rGr8rr<r�#upgrade_database_and_wait_for_statet(s.
�
��&zEDatabaseClientCompositeOperations.upgrade_database_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	a`
        Calls :py:func:`~oci.database.DatabaseClient.upgrade_db_system` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str db_system_id: (required)
            The DB system `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpgradeDbSystemDetails upgrade_db_system_details: (required)
            Request to perform an upgrade of the operating system and the Oracle Grid Infrastructure (GI) of the DB system.

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.upgrade_db_system`

        :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|]}|���qSrrrrrrr�(rzaDatabaseClientCompositeOperations.upgrade_db_system_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#�(rz_DatabaseClientCompositeOperations.upgrade_db_system_and_wait_for_work_request.<locals>.<lambda>r$N)r�upgrade_db_systemrr(r)r*r+r
r,r-r.r/)
rr��upgrade_db_system_detailsr2r3r4r5r6r7r8rr!r�+upgrade_db_system_and_wait_for_work_request�(s 

�
��zMDatabaseClientCompositeOperations.upgrade_db_system_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z4tj|j|j�|�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a�
        Calls :py:func:`~oci.database.DatabaseClient.upgrade_db_system` and waits for the :py:class:`~oci.database.models.DbSystem` acted upon
        to enter the given state(s).

        :param str db_system_id: (required)
            The DB system `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param oci.database.models.UpgradeDbSystemDetails upgrade_db_system_details: (required)
            Request to perform an upgrade of the operating system and the Oracle Grid Infrastructure (GI) of the DB system.

        :param list[str] wait_for_states:
            An array of states to wait on. These should be valid values for :py:attr:`~oci.database.models.DbSystem.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.upgrade_db_system`

        :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|]}|���qSrrrrrrr�(rzZDatabaseClientCompositeOperations.upgrade_db_system_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#�(rzXDatabaseClientCompositeOperations.upgrade_db_system_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+r�rCrDrEr.r/r-)
rr�r�rFr3r4r5r7rGr8rr<r�$upgrade_db_system_and_wait_for_state�(s.
�
��&zFDatabaseClientCompositeOperations.upgrade_db_system_and_wait_for_statec

s�|jj||fi|��}|r|ntjj}dd�|D��|jd}z0tj|j|j�|�fd�fdd�i|��}|WSt	y�}	ztj
j|g|	d��WYd}	~	n
d}	~	00dS)	ak
        Calls :py:func:`~oci.database.DatabaseClient.validate_vm_cluster_network` and waits for the oci.work_requests.models.WorkRequest
        to enter the given state(s).

        :param str exadata_infrastructure_id: (required)
            The Exadata infrastructure `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str vm_cluster_network_id: (required)
            The VM cluster network `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param list[str] work_request_states: (optional)
            An array of work requests states to wait on. These should be valid values for :py:attr:`~oci.work_requests.models.WorkRequest.status`
            Default values are termination states: [STATUS_SUCCEEDED, STATUS_FAILED, STATUS_CANCELED]

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.validate_vm_cluster_network`

        :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|]}|���qSrrrrrrr)rzkDatabaseClientCompositeOperations.validate_vm_cluster_network_and_wait_for_work_request.<locals>.<listcomp>rrcs t|jd�ot|jd����vSrrrr!rrr#)rziDatabaseClientCompositeOperations.validate_vm_cluster_network_and_wait_for_work_request.<locals>.<lambda>r$N)r�validate_vm_cluster_networkrr(r)r*r+r
r,r-r.r/rSrr!r�5validate_vm_cluster_network_and_wait_for_work_request�(s 

�
��zWDatabaseClientCompositeOperations.validate_vm_cluster_network_and_wait_for_work_requestc

s�|jj||fi|��}|s|Sdd�|D��|jj}z6tj|j|j�||�fd�fdd�i|��}|}|WSttfy�}	z6|	j	s�d|	_	|	j	d|	_	tj
j|g|	d��WYd	}	~	n>d	}	~	0ty�}	ztj
j|g|	d��WYd	}	~	n
d	}	~	00d	S)
a	
        Calls :py:func:`~oci.database.DatabaseClient.validate_vm_cluster_network` and waits for the :py:class:`~oci.database.models.VmClusterNetwork` acted upon
        to enter the given state(s).

        :param str exadata_infrastructure_id: (required)
            The Exadata infrastructure `OCID`__.

            __ https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm

        :param str vm_cluster_network_id: (required)
            The VM cluster network `OCID`__.

            __ 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.database.models.VmClusterNetwork.lifecycle_state`

        :param dict operation_kwargs:
            A dictionary of keyword arguments to pass to :py:func:`~oci.database.DatabaseClient.validate_vm_cluster_network`

        :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|]}|���qSrrrrrrrC)rzdDatabaseClientCompositeOperations.validate_vm_cluster_network_and_wait_for_state.<locals>.<listcomp>rcs t|jd�ot|jd����vSr:rrr<rrr#J)rzbDatabaseClientCompositeOperations.validate_vm_cluster_network_and_wait_for_state.<locals>.<lambda>r>r@r$N)
rr�rrArr+rrCrDrEr.r/r-)
rr0rrFr3r4r5r7rGr8rr<r�.validate_vm_cluster_network_and_wait_for_state&)s.�
��&zPDatabaseClientCompositeOperations.validate_vm_cluster_network_and_wait_for_state)N(�__name__�
__module__�__qualname__�__doc__rr9rHrLrNrQrRrVrXr\r^rbrdrhrjrmrqrtrxr{r~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrrrrrr!r$r&r(r/r2r4r6r9r;r=r?rBrDrGrJrLrOrQrTrVrXrZr\r^r`rbrdrfrhrjrlrnrprrrtrvryrzr}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrr
rr
rrrrrrrrrrr!r"r%r&r)r*r-r/r2r3r6r7r:r=r>rArBrErFrIrLrMrPrQrTrWrXr[r\r_r`rcrerhrirlrmrprqrtrurxr}r�r�r�r�r�r�r�r�r�r�r�r�rrrrr	s�
(0%-%-(0(0(0(((((((((/(((*((&(*(0#+#+#+#+#++#+%-%-0(0#+#+#+#+##+#+#+#++#+$,(0*2%%%6%%%%%%%%&%%6%%*%%%%-%%%%%%%%%-%%(0(((((((((0%-*2-5#+*2(0%(0(0(0%*2-5(0(0(0-5%-%-(0(0%-%-%%%%%-+%-%-%-%-%-*2%--5%%%(0-5(0#((0(01(0(0(0(-5(00(0(0(0(0)1)1(0(00.(0(0-5(0(0*r)r�oci.utilr�objectrrrrr�<module>s

Youez - 2016 - github.com/yon3zu
LinuXploit