o
    ɶdU                    @   s   d dl mZ d dlmZ d dlmZ d dlmZmZ d dlm	Z	 d dl
mZmZ d dlmZ d dlmZmZmZ d	d
lmZ edZG dd deZdS )    )absolute_import)requests)six)retrycircuit_breaker)
BaseClient)get_config_value_or_defaultvalidate_config)Signer)Sentinel#get_signer_from_authentication_typeAUTHENTICATION_TYPE_FIELD_NAME   )database_type_mappingZMissingc                   @   s  e Zd ZdZdd Zdd Zdd Zdd	 Zd
d Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Zd&d' Zd(d) Zd*d+ Zd,d- Zd.d/ Zd0d1 Zd2d3 Zd4d5 Zd6d7 Zd8d9 Zd:d; Z d<d= Z!d>d? Z"d@dA Z#dBdC Z$dDdE Z%dFdG Z&dHdI Z'dJdK Z(dLdM Z)dNdO Z*dPdQ Z+dRdS Z,dTdU Z-dVdW Z.dXdY Z/dZd[ Z0d\d] Z1d^d_ Z2d`da Z3dbdc Z4ddde Z5dfdg Z6dhdi Z7djdk Z8dldm Z9dndo Z:dpdq Z;drds Z<dtdu Z=dvdw Z>dxdy Z?dzd{ Z@d|d} ZAd~d ZBdd ZCdd ZDdd ZEdd ZFdd ZGdd ZHdd ZIdd ZJdd ZKdd ZLdd ZMdd ZNdd ZOdd ZPdd ZQdd ZRdd ZSdd ZTdd ZUdd ZVdd ZWdd ZXdd ZYdd ZZdd Z[dd Z\dd Z]dd Z^dd Z_dd Z`dd Zadd Zbdd ZcddÄ Zdddń ZeddǄ ZfddɄ Zgdd˄ Zhdd̈́ Ziddτ Zjddф Zkddӄ ZlddՄ Zmddׄ Znddل Zoddۄ Zpdd݄ Zqdd߄ Zrdd Zsdd Ztdd Zudd Zvdd Zwdd Zxdd Zydd Zzdd Z{dd Z|dd Z}dd Z~dd Zdd Zdd Zdd Zd d Zdd Zdd Zdd Zdd	 Zd
d Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Zd&d' Zd(d) Zd*d+ Zd,d- Zd.d/ Zd0d1 Zd2d3 Zd4d5 Zd6d7 Zd8d9 Zd:d; Zd<d= Zd>d? Zd@dA ZdBdC ZdDdE ZdFdG ZdHdI ZdJdK ZdLdM ZdNdO ZdPdQ ZdRdS ZdTdU ZdVdW ZdXdY ZdZd[ Zd\d] Zd^d_ Zd`da Zdbdc Zddde Zdfdg Zdhdi Zdjdk Zdldm Zdndo Zdpdq Zdrds Zdtdu Zdvdw Zdxdy Zdzd{ Zd|d} Zd~d Zdd ZÐdd ZĐdd ZŐdd ZƐdd Zǐdd ZȐdd Zɐdd Zʐdd Zːdd Z̐dd Z͐dd Zΐdd Zϐdd ZАdd Zѐdd ZҐdd ZӐdd ZԐdd ZՐdd Z֐dd Zאdd Zؐdd Zِdd Zڐdd Zېdd Zܐdd Zݐdd Zސdd Zߐdd Zdd Zdd Zdd ZddÄ ZdĐdń ZdƐdǄ ZdȐdɄ Zdʐd˄ Zd̐d̈́ Zdΐdτ ZdАdф ZdҐdӄ ZdԐdՄ Zd֐dׄ Zdؐdل Zdڐdۄ Zdܐd݄ Zdސd߄ Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Z dd Zdd Zd d Zdd Zdd Zdd Zdd	 Zd
d Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Zd&d' Zd(d) Zd*d+ Zd,d- Zd.d/ Zd0d1 Zd2d3 Zd4d5 Zd6d7 Zd8d9 Zd:d; Z d<d= Z!d>d? Z"d@dA Z#dBdC Z$dDdE Z%dFdG Z&dHdI Z'dJdK Z(dLdM Z)dNdO Z*dPdQ Z+dRdS Z,dTdU Z-dVdW Z.dXdY Z/dZd[ Z0d\d] Z1d^d_ Z2d`da Z3dbdc Z4ddde Z5dfdg Z6dhdi Z7djdk Z8dlS (m  DatabaseClientz
    The API for the Database Service. Use this API to manage resources such as databases and DB Systems. For more information, see [Overview of the Database Service](/iaas/Content/Database/Concepts/databaseoverview.htm).
    c              
   K   s   t ||dd d|v r|d }n"t|v rt|}nt|d |d |d |dt|d|dd	}d
|dddi |dd|dtj|dd}d|v rY|d|d< |ddu retj|d< d|v rp|d|d< t	d||t
fi || _|d| _|d| _|| _|| _dS )a  
        Creates a new service client

        :param dict config:
            Configuration keys and values as per `SDK and Tool Configuration <https://docs.cloud.oracle.com/Content/API/Concepts/sdkconfig.htm>`__.
            The :py:meth:`~oci.config.from_file` method can be used to load configuration from a file. Alternatively, a ``dict`` can be passed. You can validate_config
            the dict using :py:meth:`~oci.config.validate_config`

        :param str service_endpoint: (optional)
            The endpoint of the service to call using this client. For example ``https://iaas.us-ashburn-1.oraclecloud.com``. If this keyword argument is
            not provided then it will be derived using the region in the config parameter. You should only provide this keyword argument if you have an explicit
            need to specify a service endpoint.

        :param timeout: (optional)
            The connection and read timeouts for the client. The default values are connection timeout 10 seconds and read timeout 60 seconds. This keyword argument can be provided
            as a single float, in which case the value provided is used for both the read and connection timeouts, or as a tuple of two floats. If
            a tuple is provided then the first value is used as the connection timeout and the second value as the read timeout.
        :type timeout: float or tuple(float, float)

        :param signer: (optional)
            The signer to use when signing requests made by the service client. The default is to use a :py:class:`~oci.signer.Signer` based on the values
            provided in the config parameter.

            One use case for this parameter is for `Instance Principals authentication <https://docs.cloud.oracle.com/Content/Identity/Tasks/callingservicesfrominstances.htm>`__
            by passing an instance of :py:class:`~oci.auth.signers.InstancePrincipalsSecurityTokenSigner` as the value for this keyword argument
        :type signer: :py:class:`~oci.signer.AbstractBaseSigner`

        :param obj retry_strategy: (optional)
            A retry strategy to apply to all calls made by this service client (i.e. at the client level). There is no retry strategy applied by default.
            Retry strategies can also be applied at the operation level by passing a ``retry_strategy`` keyword argument as part of calling the operation.
            Any value provided at the operation level will override whatever is specified at the client level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. A convenience :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY`
            is also available. The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

        :param obj circuit_breaker_strategy: (optional)
            A circuit breaker strategy to apply to all calls made by this service client (i.e. at the client level).
            This client uses :py:data:`~oci.circuit_breaker.DEFAULT_CIRCUIT_BREAKER_STRATEGY` as default if no circuit breaker strategy is provided.
            The specifics of circuit breaker strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/circuit_breakers.html>`__.

        :param function circuit_breaker_callback: (optional)
            Callback function to receive any exceptions triggerred by the circuit breaker.

        :param bool client_level_realm_specific_endpoint_template_enabled: (optional)
            A boolean flag to indicate whether or not this client should be created with realm specific endpoint template enabled or disable. By default, this will be set as None.

        :param allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this client should allow control characters in the response object. By default, the client will not
            allow control characters to be in the response object.
        signer)r   tenancyuserfingerprintZkey_filepass_phraseZkey_content)r   r   r   Zprivate_key_file_locationr   Zprivate_key_contentTservice_endpointz	/20160918z-https://database.{region}.{secondLevelDomain}skip_deserializationFcircuit_breaker_strategy5client_level_realm_specific_endpoint_template_enabled)Zregional_clientr   	base_pathZservice_endpoint_templateZ#service_endpoint_template_per_realmr   r   r   timeoutNallow_control_charsZdatabaseretry_strategycircuit_breaker_callback)r	   getr   r   r
   r   r   ZGLOBAL_CIRCUIT_BREAKER_STRATEGYZ DEFAULT_CIRCUIT_BREAKER_STRATEGYr   r   base_clientr   r   Z_config_kwargs)selfconfigkwargsr   Zbase_client_init_kwargs r%   @usr/lib/python3.10/site-packages/oci/database/database_client.py__init__   sB   3






zDatabaseClient.__init__c                    x  dg}d}d}d}d}g d  fddt |D }	|	r$td	|	d|i}
d
d t |
D }
t |
D ]\}}|du sMt|t jrTt| dkrTtd|q7dd|	dt
|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| | j| || j |j| jj|||
||d|	d|||dS | jj|||
||d|	d|||d
S )a
  
        Activates the specified Exadata infrastructure resource. Applies to Exadata Cloud@Customer instances only.


        :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 str opc_request_id: (optional)
            Unique identifier for the request.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExadataInfrastructure`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/activate_exadata_infrastructure.py.html>`__ to see an example of how to use activate_exadata_infrastructure API.
        exadataInfrastructureIdzB/exadataInfrastructures/{exadataInfrastructureId}/actions/activatePOSTactivate_exadata_infrastructurezkhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExadataInfrastructure/ActivateExadataInfrastructurer   r   opc_request_idopc_retry_tokenc                       g | ]}| vr|qS r%   r%   .0_keyZexpected_kwargsr%   r&   
<listcomp>       zBDatabaseClient.activate_exadata_infrastructure.<locals>.<listcomp>z8activate_exadata_infrastructure got unknown kwargs: {!r}c                 S      i | ]\}}|t ur||qS r%   missingr1   kvr%   r%   r&   
<dictcomp>       zBDatabaseClient.activate_exadata_infrastructure.<locals>.<dictcomp>Nr   7Parameter {} cannot be None, whitespace or empty stringapplication/jsonr-   r.   acceptcontent-typeopc-request-idopc-retry-tokenc                 S   &   i | ]\}}|t ur|d ur||qS Nr7   r9   r%   r%   r&   r<         & r   Zoperation_retry_strategyZclient_retry_strategyExadataInfrastructurer   
resource_pathmethodpath_paramsheader_paramsbodyresponse_typer   operation_nameapi_reference_linkrequired_argumentsr   iterkeys
ValueErrorformat	iteritems
isinstancestring_typeslenstripr   r8   r    get_preferred_retry_strategyr   r   NoneRetryStrategyadd_opc_retry_token_if_neededadd_opc_client_retries_headeradd_circuit_breaker_callbackr   make_retrying_callcall_api)r"   exadata_infrastructure_idZ'activate_exadata_infrastructure_detailsr$   rS   rK   rL   rQ   rR   extra_kwargsrM   r:   r;   rN   r   r%   r3   r&   r+   t   t   *$

z.DatabaseClient.activate_exadata_infrastructurec                    ~  dg}d}d}d}d}g d  fddt |D }|r$td	|d|i}	d
d t |	D }	t |	D ]\}
}|du sMt|t jrTt| dkrTtd|
q7dd|	dt
|	dt
|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| | j| || j |j| jj|||	|d|	d|||d
S | jj|||	|d|	d|||d	S )a=  
        Makes the storage capacity from additional storage servers available for Cloud VM Cluster consumption. Applies to Exadata Cloud Service instances and Autonomous Database on dedicated Exadata infrastructure only.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.CloudExadataInfrastructure`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/add_storage_capacity_cloud_exadata_infrastructure.py.html>`__ to see an example of how to use add_storage_capacity_cloud_exadata_infrastructure API.
        cloudExadataInfrastructureIdzV/cloudExadataInfrastructures/{cloudExadataInfrastructureId}/actions/addStorageCapacityr*   1add_storage_capacity_cloud_exadata_infrastructurezhttps://docs.oracle.com/iaas/api/#/en/database/20160918/CloudExadataInfrastructure/AddStorageCapacityCloudExadataInfrastructurer   r   if_matchr-   r.   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   zTDatabaseClient.add_storage_capacity_cloud_exadata_infrastructure.<locals>.<listcomp>zJadd_storage_capacity_cloud_exadata_infrastructure got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   (  r=   zTDatabaseClient.add_storage_capacity_cloud_exadata_infrastructure.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r.   rA   rB   if-matchrC   rD   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   5  rG   r   rH   CloudExadataInfrastructurer   	rK   rL   rM   rN   rP   r   rQ   rR   rS   rT   r"   cloud_exadata_infrastructure_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   ri      r   ,$


z@DatabaseClient.add_storage_capacity_cloud_exadata_infrastructurec                    rg   )a
  
        Makes the storage capacity from additional storage servers available for VM Cluster consumption. Applies to Exadata Cloud@Customer instances only.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExadataInfrastructure`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/add_storage_capacity_exadata_infrastructure.py.html>`__ to see an example of how to use add_storage_capacity_exadata_infrastructure API.
        r)   zL/exadataInfrastructures/{exadataInfrastructureId}/actions/addStorageCapacityr*   +add_storage_capacity_exadata_infrastructurezuhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExadataInfrastructure/AddStorageCapacityExadataInfrastructurerj   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   zNDatabaseClient.add_storage_capacity_exadata_infrastructure.<locals>.<listcomp>zDadd_storage_capacity_exadata_infrastructure got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   zNDatabaseClient.add_storage_capacity_exadata_infrastructure.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r.   rl   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   rI   r   ro   rT   r"   rd   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rs   X  rr   z:DatabaseClient.add_storage_capacity_exadata_infrastructurec                      dg}d}d}d}d}g d  fddt |D }	|	r$td	|	d|i}
d
d t |
D }
t |
D ]\}}|du sMt|t jrTt| dkrTtd|q7dd|	dt
|	dt
|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| | j| || j |j| jj|||
||d|	d|||dS | jj|||
||d|	d|||d
S )aV  
        Add Virtual Machines to the Cloud VM cluster. Applies to Exadata Cloud instances only.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.CloudVmCluster`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/add_virtual_machine_to_cloud_vm_cluster.py.html>`__ to see an example of how to use add_virtual_machine_to_cloud_vm_cluster API.
        cloudVmClusterIdz=/cloudVmClusters/{cloudVmClusterId}/actions/addVirtualMachiner*   'add_virtual_machine_to_cloud_vm_clusterzhhttps://docs.oracle.com/iaas/api/#/en/database/20160918/CloudVmCluster/AddVirtualMachineToCloudVmClusterr   r   r.   r-   rk   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   zJDatabaseClient.add_virtual_machine_to_cloud_vm_cluster.<locals>.<listcomp>z@add_virtual_machine_to_cloud_vm_cluster got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   zJDatabaseClient.add_virtual_machine_to_cloud_vm_cluster.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   rA   rB   rD   rC   rm   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   CloudVmClusterr   rJ   rT   )r"   Z/add_virtual_machine_to_cloud_vm_cluster_detailscloud_vm_cluster_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rw     v   /$


z6DatabaseClient.add_virtual_machine_to_cloud_vm_clusterc                    ru   )a+  
        Add Virtual Machines to the VM cluster. Applies to Exadata Cloud@Customer instances only.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.VmCluster`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/add_virtual_machine_to_vm_cluster.py.html>`__ to see an example of how to use add_virtual_machine_to_vm_cluster API.
        vmClusterIdz3/vmClusters/{vmClusterId}/actions/addVirtualMachiner*   !add_virtual_machine_to_vm_clusterz^https://docs.oracle.com/iaas/api/#/en/database/20160918/VmCluster/AddVirtualMachineToVmClusterrx   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   zDDatabaseClient.add_virtual_machine_to_vm_cluster.<locals>.<listcomp>z:add_virtual_machine_to_vm_cluster got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   zDDatabaseClient.add_virtual_machine_to_vm_cluster.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   	VmClusterr   rJ   rT   )r"   Z)add_virtual_machine_to_vm_cluster_detailsvm_cluster_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r~   C  r|   z0DatabaseClient.add_virtual_machine_to_vm_clusterc                      dg}d}d}d}d}g d  fddt |D }	|	r$td	|	d|i}
d
d t |
D }
t |
D ]\}}|du sMt|t jrTt| dkrTtd|q7dd|	dt
|	dt
|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| | j| || j |j| jj|||
||d|	d|||dS | jj|||
||d|	d|||d
S )a  
        Initiates a data refresh for an Autonomous Database refreshable clone. Data is refreshed from the source database to the point of a specified timestamp.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/autonomous_database_manual_refresh.py.html>`__ to see an example of how to use autonomous_database_manual_refresh API.
        autonomousDatabaseIdz;/autonomousDatabases/{autonomousDatabaseId}/actions/refreshr*   "autonomous_database_manual_refreshzjhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/AutonomousDatabaseManualRefreshr   r   rk   r.   r-   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   zEDatabaseClient.autonomous_database_manual_refresh.<locals>.<listcomp>z;autonomous_database_manual_refresh got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   zEDatabaseClient.autonomous_database_manual_refresh.<locals>.<dictcomp>Nr   r>   r?   rk   r.   r-   rA   rB   rm   rD   rC   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   AutonomousDatabaser   rJ   rT   )r"   autonomous_database_idZ*autonomous_database_manual_refresh_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r     r|   z1DatabaseClient.autonomous_database_manual_refreshc                    z  dg}d}d}d}d}g d  fddt |D }|r$td	|d|i}	d
d t |	D }	t |	D ]\}
}|du sMt|t jrTt| dkrTtd|
q7dd|	dt
|	dt
|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| | j| || j |j| jj|||	||	d|||d	S | jj|||	||	d|||dS )a%
  
        Cancel automatic/standalone full/incremental create backup workrequests specified by the backup Id.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/cancel_backup.py.html>`__ to see an example of how to use cancel_backup API.
        backupIdz"/backups/{backupId}/actions/cancelr*   cancel_backupzKhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Backup/CancelBackuprj   c                    r/   r%   r%   r0   r3   r%   r&   r4   m  r5   z0DatabaseClient.cancel_backup.<locals>.<listcomp>z&cancel_backup got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   v  r=   z0DatabaseClient.cancel_backup.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r.   rl   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r   rK   rL   rM   rN   r   rQ   rR   rS   rT   r"   	backup_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r   3  n   ,$


zDatabaseClient.cancel_backupc                    ~  dg}d}d}d}d}g d  fddt |D }	|	r$td	|	d|i}
d
d t |
D }
t |
D ]\}}|du sMt|t jrTt| dkrTtd|q7dd|	dt
|	dt
|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| | j| || j |j| jj|||
|||	d|||d
S | jj|||
|||	d|||d	S )a@  
        Move the Autonomous Container Database and its dependent resources to the specified compartment.
        For more information about moving Autonomous Container Databases, see
        `Moving Database Resources to a Different Compartment`__.

        __ https://docs.cloud.oracle.com/Content/Database/Concepts/databaseoverview.htm#moveRes


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/change_autonomous_container_database_compartment.py.html>`__ to see an example of how to use change_autonomous_container_database_compartment API.
        autonomousContainerDatabaseIdzW/autonomousContainerDatabases/{autonomousContainerDatabaseId}/actions/changeCompartmentr*   0change_autonomous_container_database_compartmentzhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousContainerDatabase/ChangeAutonomousContainerDatabaseCompartmentrx   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   zSDatabaseClient.change_autonomous_container_database_compartment.<locals>.<listcomp>zIchange_autonomous_container_database_compartment got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   zSDatabaseClient.change_autonomous_container_database_compartment.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r   	rK   rL   rM   rN   rO   r   rQ   rR   rS   rT   )r"   change_compartment_details autonomous_container_database_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r     r   3$


z?DatabaseClient.change_autonomous_container_database_compartmentc                    r   )a  
        Move the Autonomous Database and its dependent resources to the specified compartment.
        For more information about moving Autonomous Databases, see
        `Moving Database Resources to a Different Compartment`__.

        __ https://docs.cloud.oracle.com/Content/Database/Concepts/databaseoverview.htm#moveRes


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/change_autonomous_database_compartment.py.html>`__ to see an example of how to use change_autonomous_database_compartment API.
        r   zE/autonomousDatabases/{autonomousDatabaseId}/actions/changeCompartmentr*   &change_autonomous_database_compartmentznhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/ChangeAutonomousDatabaseCompartmentrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   _  r5   zIDatabaseClient.change_autonomous_database_compartment.<locals>.<listcomp>z?change_autonomous_database_compartment got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   h  r=   zIDatabaseClient.change_autonomous_database_compartment.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   u  rG   r   rH   r   r   rT   )r"   r   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r     r   z5DatabaseClient.change_autonomous_database_compartmentc                    r   )a   
        **Deprecated.** Use the :func:`change_cloud_exadata_infrastructure_compartment` operation to move an Exadata infrastructure resource to a different compartment and  :func:`change_cloud_autonomous_vm_cluster_compartment` operation to move an Autonomous Exadata VM cluster to a different compartment.
        For more information, see
        `Moving Database Resources to a Different Compartment`__.

        __ https://docs.cloud.oracle.com/Content/Database/Concepts/databaseoverview.htm#moveRes


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/change_autonomous_exadata_infrastructure_compartment.py.html>`__ to see an example of how to use change_autonomous_exadata_infrastructure_compartment API.
        !autonomousExadataInfrastructureIdz_/autonomousExadataInfrastructures/{autonomousExadataInfrastructureId}/actions/changeCompartmentr*   4change_autonomous_exadata_infrastructure_compartmentzhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousExadataInfrastructure/ChangeAutonomousExadataInfrastructureCompartmentrx   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   zWDatabaseClient.change_autonomous_exadata_infrastructure_compartment.<locals>.<listcomp>zMchange_autonomous_exadata_infrastructure_compartment got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   zWDatabaseClient.change_autonomous_exadata_infrastructure_compartment.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r   r   rT   )r"   r   $autonomous_exadata_infrastructure_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r     r   zCDatabaseClient.change_autonomous_exadata_infrastructure_compartmentc                    r   )a  
        Moves an Autonomous VM cluster and its dependent resources to another compartment. Applies to Exadata Cloud@Customer  only. For systems in the Oracle cloud, see :func:`change_autonomous_vm_cluster_compartment`.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/change_autonomous_vm_cluster_compartment.py.html>`__ to see an example of how to use change_autonomous_vm_cluster_compartment API.
        autonomousVmClusterIdzG/autonomousVmClusters/{autonomousVmClusterId}/actions/changeCompartmentr*   (change_autonomous_vm_cluster_compartmentzphttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousVmCluster/ChangeAutonomousVmClusterCompartmentrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   O  r5   zKDatabaseClient.change_autonomous_vm_cluster_compartment.<locals>.<listcomp>zAchange_autonomous_vm_cluster_compartment got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   X  r=   zKDatabaseClient.change_autonomous_vm_cluster_compartment.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   e  rG   r   rH   r   r   rT   )r"   Z0change_autonomous_vm_cluster_compartment_detailsautonomous_vm_cluster_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r     r   /$


z7DatabaseClient.change_autonomous_vm_cluster_compartmentc                    r   )a  
        Move the backup destination and its dependent resources to the specified compartment.
        For more information, see
        `Moving Database Resources to a Different Compartment`__.

        __ https://docs.cloud.oracle.com/Content/Database/Concepts/databaseoverview.htm#moveRes


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/change_backup_destination_compartment.py.html>`__ to see an example of how to use change_backup_destination_compartment API.
        backupDestinationIdzC/backupDestinations/{backupDestinationId}/actions/changeCompartmentr*   %change_backup_destination_compartmentzlhttps://docs.oracle.com/iaas/api/#/en/database/20160918/BackupDestination/ChangeBackupDestinationCompartmentrx   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   zHDatabaseClient.change_backup_destination_compartment.<locals>.<listcomp>z>change_backup_destination_compartment got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   zHDatabaseClient.change_backup_destination_compartment.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r   r   rT   )r"   r   backup_destination_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r     r   z4DatabaseClient.change_backup_destination_compartmentc                    r   )a  
        Moves an Autonomous Exadata VM cluster in the Oracle cloud and its dependent resources to another compartment. For Exadata Cloud@Customer systems, see :func:`change_autonomous_vm_cluster_compartment`.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/change_cloud_autonomous_vm_cluster_compartment.py.html>`__ to see an example of how to use change_cloud_autonomous_vm_cluster_compartment API.
        cloudAutonomousVmClusterIdzQ/cloudAutonomousVmClusters/{cloudAutonomousVmClusterId}/actions/changeCompartmentr*   .change_cloud_autonomous_vm_cluster_compartmentzzhttps://docs.oracle.com/iaas/api/#/en/database/20160918/CloudAutonomousVmCluster/ChangeCloudAutonomousVmClusterCompartmentrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   ?  r5   zQDatabaseClient.change_cloud_autonomous_vm_cluster_compartment.<locals>.<listcomp>zGchange_cloud_autonomous_vm_cluster_compartment got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   H  r=   zQDatabaseClient.change_cloud_autonomous_vm_cluster_compartment.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   U  rG   r   rH   r   r   rT   )r"   Z6change_cloud_autonomous_vm_cluster_compartment_detailscloud_autonomous_vm_cluster_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r     r   z=DatabaseClient.change_cloud_autonomous_vm_cluster_compartmentc                    r   )a  
        Moves a cloud Exadata infrastructure resource and its dependent resources to another compartment. Applies to Exadata Cloud Service instances and Autonomous Database on dedicated Exadata infrastructure only.For more information about moving resources to a different compartment, see `Moving Database Resources to a Different Compartment`__.

        __ https://docs.cloud.oracle.com/Content/Database/Concepts/databaseoverview.htm#moveRes


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/change_cloud_exadata_infrastructure_compartment.py.html>`__ to see an example of how to use change_cloud_exadata_infrastructure_compartment API.
        rh   zU/cloudExadataInfrastructures/{cloudExadataInfrastructureId}/actions/changeCompartmentr*   /change_cloud_exadata_infrastructure_compartmentz~https://docs.oracle.com/iaas/api/#/en/database/20160918/CloudExadataInfrastructure/ChangeCloudExadataInfrastructureCompartmentrx   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   zRDatabaseClient.change_cloud_exadata_infrastructure_compartment.<locals>.<listcomp>zHchange_cloud_exadata_infrastructure_compartment got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   zRDatabaseClient.change_cloud_exadata_infrastructure_compartment.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r   r   rT   )r"   Z7change_cloud_exadata_infrastructure_compartment_detailsrq   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r   x  sr   1$


z>DatabaseClient.change_cloud_exadata_infrastructure_compartmentc                    r   )a  
        Moves a cloud VM cluster and its dependent resources to another compartment. Applies to Exadata Cloud Service instances and Autonomous Database on dedicated Exadata infrastructure only.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/change_cloud_vm_cluster_compartment.py.html>`__ to see an example of how to use change_cloud_vm_cluster_compartment API.
        rv   z=/cloudVmClusters/{cloudVmClusterId}/actions/changeCompartmentr*   #change_cloud_vm_cluster_compartmentzfhttps://docs.oracle.com/iaas/api/#/en/database/20160918/CloudVmCluster/ChangeCloudVmClusterCompartmentrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   -  r5   zFDatabaseClient.change_cloud_vm_cluster_compartment.<locals>.<listcomp>z<change_cloud_vm_cluster_compartment got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   6  r=   zFDatabaseClient.change_cloud_vm_cluster_compartment.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   C  rG   r   rH   r   r   rT   )r"   Z+change_cloud_vm_cluster_compartment_detailsr{   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r     r   z2DatabaseClient.change_cloud_vm_cluster_compartmentc                    r   )a  
        Move the Database Software Image and its dependent resources to the specified compartment.
        For more information about moving Databse Software Images, see
        `Moving Database Resources to a Different Compartment`__.

        __ https://docs.cloud.oracle.com/Content/Database/Concepts/databaseoverview.htm#moveRes


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/change_database_software_image_compartment.py.html>`__ to see an example of how to use change_database_software_image_compartment API.
        databaseSoftwareImageIdzK/databaseSoftwareImages/{databaseSoftwareImageId}/actions/changeCompartmentr*   *change_database_software_image_compartmentzthttps://docs.oracle.com/iaas/api/#/en/database/20160918/DatabaseSoftwareImage/ChangeDatabaseSoftwareImageCompartmentrx   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   zMDatabaseClient.change_database_software_image_compartment.<locals>.<listcomp>zCchange_database_software_image_compartment got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   zMDatabaseClient.change_database_software_image_compartment.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r   r   rT   )r"   r   database_software_image_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r   f  r   z9DatabaseClient.change_database_software_image_compartmentc                    ru   )a0  
        Switch the Autonomous Container Database role between Standby and Snapshot Standby.
        For more information about changing Autonomous Container Databases Dataguard Role, see
        `Convert Physical Standby to Snapshot Standby`__ and `Convert Snapshot Standby to Physical Standby`__.

        __ https://docs.oracle.com/en/cloud/paas/autonomous-database/dedicated/adbcl/index.html#ADBCL-GUID-D3B503F1-0032-4B0D-9F00-ACAE8151AB80
        __ https://docs.oracle.com/en/cloud/paas/autonomous-database/dedicated/adbcl/index.html#ADBCL-GUID-E8D7E0EE-8244-467D-B33A-1BC6F969A0A4


        :param oci.database.models.ChangeDataguardRoleDetails change_dataguard_role_details: (required)
            Request to Change the Autonomous Container Database Dataguard role.

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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousContainerDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/change_dataguard_role.py.html>`__ to see an example of how to use change_dataguard_role API.
        r   zY/autonomousContainerDatabases/{autonomousContainerDatabaseId}/actions/changeDataguardRoler*   change_dataguard_rolezghttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousContainerDatabase/ChangeDataguardRoler   r   r-   r.   rk   c                    r/   r%   r%   r0   r3   r%   r&   r4   "  r5   z8DatabaseClient.change_dataguard_role.<locals>.<listcomp>z.change_dataguard_role got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   +  r=   z8DatabaseClient.change_dataguard_role.<locals>.<dictcomp>Nr   r>   r?   r-   r.   rk   rA   rB   rC   rD   rm   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   8  rG   r   rH   AutonomousContainerDatabaser   rJ   rT   )r"   Zchange_dataguard_role_detailsr   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r     sv   4$


z$DatabaseClient.change_dataguard_rolec                    r   )a*  
        Moves the DB system and its dependent resources to the specified compartment.
        For more information about moving DB systems, see
        `Moving Database Resources to a Different Compartment`__.

        __ https://docs.cloud.oracle.com/Content/Database/Concepts/databaseoverview.htm#moveRes


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/change_db_system_compartment.py.html>`__ to see an example of how to use change_db_system_compartment API.
        
dbSystemIdz1/dbSystems/{dbSystemId}/actions/changeCompartmentr*   change_db_system_compartmentzZhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DbSystem/ChangeDbSystemCompartmentrx   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z?DatabaseClient.change_db_system_compartment.<locals>.<listcomp>z5change_db_system_compartment got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z?DatabaseClient.change_db_system_compartment.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r   r   rT   )r"   r   db_system_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r   ]  sr   :$


z+DatabaseClient.change_db_system_compartmentc                    l  dg}d}d}d}d}g d  fddt |D }	|	r$td	|	d|i}
d
d t |
D }
t |
D ]\}}|du sMt|t jrTt| dkrTtd|q7dd|	dt
|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| || j |j| jj|||
||d|	d|||dS | jj|||
||d|	d|||d
S )a	  
        This operation updates the cross-region disaster recovery (DR) details of the standby Shared Autonomous Database, and must be run on the standby side.


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

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

        :param oci.database.models.ChangeDisasterRecoveryConfigurationDetails change_disaster_recovery_configuration_details: (required)
            Request to update the cross-region disaster recovery (DR) details of the standby Shared Autonomous Database.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/change_disaster_recovery_configuration.py.html>`__ to see an example of how to use change_disaster_recovery_configuration API.
        r   zW/autonomousDatabases/{autonomousDatabaseId}/actions/changeDisasterRecoveryConfigurationPUT&change_disaster_recovery_configurationznhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/ChangeDisasterRecoveryConfigurationr   r   rk   r-   c                    r/   r%   r%   r0   r3   r%   r&   r4   	  r5   zIDatabaseClient.change_disaster_recovery_configuration.<locals>.<listcomp>z?change_disaster_recovery_configuration got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   	  r=   zIDatabaseClient.change_disaster_recovery_configuration.<locals>.<dictcomp>Nr   r>   r?   rk   r-   rA   rB   rm   rC   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   (	  rG   r   rH   r   r   rJ   r   rU   rV   rW   rX   rY   rZ   r[   r\   r   r8   r    r]   r   r   r^   r`   ra   r   rb   rc   )r"   r   Z.change_disaster_recovery_configuration_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r     r   ($

z5DatabaseClient.change_disaster_recovery_configurationc                    r   )a+  
        Moves an Exadata infrastructure resource and its dependent resources to another compartment. Applies to Exadata Cloud@Customer instances only.
        To move an Exadata Cloud Service infrastructure resource to another compartment, use the  :func:`change_cloud_exadata_infrastructure_compartment` operation.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/change_exadata_infrastructure_compartment.py.html>`__ to see an example of how to use change_exadata_infrastructure_compartment API.
        r)   zK/exadataInfrastructures/{exadataInfrastructureId}/actions/changeCompartmentr*   )change_exadata_infrastructure_compartmentzthttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExadataInfrastructure/ChangeExadataInfrastructureCompartmentrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   	  r5   zLDatabaseClient.change_exadata_infrastructure_compartment.<locals>.<listcomp>zBchange_exadata_infrastructure_compartment got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   	  r=   zLDatabaseClient.change_exadata_infrastructure_compartment.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   	  rG   r   rH   r   r   rT   )r"   Z1change_exadata_infrastructure_compartment_detailsrd   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r   L	  r   0$


z8DatabaseClient.change_exadata_infrastructure_compartmentc                    r   )aT  
        Move the :func:`create_external_container_database_details`
        and its dependent resources to the specified compartment.
        For more information about moving external container databases, see
        `Moving Database Resources to a Different Compartment`__.

        __ https://docs.cloud.oracle.com/Content/Database/Concepts/databaseoverview.htm#moveRes


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/change_external_container_database_compartment.py.html>`__ to see an example of how to use change_external_container_database_compartment API.
        externalContainerDatabaseIdzS/externalcontainerdatabases/{externalContainerDatabaseId}/actions/changeCompartmentr*   .change_external_container_database_compartmentz|https://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalContainerDatabase/ChangeExternalContainerDatabaseCompartmentrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   
  r5   zQDatabaseClient.change_external_container_database_compartment.<locals>.<listcomp>zGchange_external_container_database_compartment got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   
  r=   zQDatabaseClient.change_external_container_database_compartment.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   
  rG   r   rH   r   r   rT   )r"   r   external_container_database_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r   	  sr   4$


z=DatabaseClient.change_external_container_database_compartmentc                    r   )aS  
        Move the external non-container database and its dependent resources to the specified compartment.
        For more information about moving external non-container databases, see
        `Moving Database Resources to a Different Compartment`__.

        __ https://docs.cloud.oracle.com/Content/Database/Concepts/databaseoverview.htm#moveRes


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/change_external_non_container_database_compartment.py.html>`__ to see an example of how to use change_external_non_container_database_compartment API.
        externalNonContainerDatabaseIdzY/externalnoncontainerdatabases/{externalNonContainerDatabaseId}/actions/changeCompartmentr*   2change_external_non_container_database_compartmentzhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalNonContainerDatabase/ChangeExternalNonContainerDatabaseCompartmentrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   
  r5   zUDatabaseClient.change_external_non_container_database_compartment.<locals>.<listcomp>zKchange_external_non_container_database_compartment got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   
  r=   zUDatabaseClient.change_external_non_container_database_compartment.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   
  rG   r   rH   r   r   rT   )r"   r   "external_non_container_database_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r   >
  r   zADatabaseClient.change_external_non_container_database_compartmentc                    r   )a  
        Move the :func:`create_external_pluggable_database_details` and
        its dependent resources to the specified compartment.
        For more information about moving external pluggable databases, see
        `Moving Database Resources to a Different Compartment`__.

        __ https://docs.cloud.oracle.com/Content/Database/Concepts/databaseoverview.htm#moveRes


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/change_external_pluggable_database_compartment.py.html>`__ to see an example of how to use change_external_pluggable_database_compartment API.
        externalPluggableDatabaseIdzS/externalpluggabledatabases/{externalPluggableDatabaseId}/actions/changeCompartmentr*   .change_external_pluggable_database_compartmentz|https://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalPluggableDatabase/ChangeExternalPluggableDatabaseCompartmentrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   
  r5   zQDatabaseClient.change_external_pluggable_database_compartment.<locals>.<listcomp>zGchange_external_pluggable_database_compartment got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   zQDatabaseClient.change_external_pluggable_database_compartment.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r   r   rT   )r"   r   external_pluggable_database_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r   
  sr   6$


z=DatabaseClient.change_external_pluggable_database_compartmentc                    r   )a  
        Move the key store resource to the specified compartment.
        For more information about moving key stores, see
        `Moving Database Resources to a Different Compartment`__.

        __ https://docs.cloud.oracle.com/Content/Database/Concepts/databaseoverview.htm#moveRes


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/change_key_store_compartment.py.html>`__ to see an example of how to use change_key_store_compartment API.
        
keyStoreIdz1/keyStores/{keyStoreId}/actions/changeCompartmentr*   change_key_store_compartmentzZhttps://docs.oracle.com/iaas/api/#/en/database/20160918/KeyStore/ChangeKeyStoreCompartmentrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   v  r5   z?DatabaseClient.change_key_store_compartment.<locals>.<listcomp>z5change_key_store_compartment got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z?DatabaseClient.change_key_store_compartment.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r   r   rT   )r"   Z$change_key_store_compartment_detailskey_store_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r   5  r   z+DatabaseClient.change_key_store_compartmentc                    ~  dg}d}d}d}d}g d  fddt |D }	|	r$td	|	d|i}
d
d t |
D }
t |
D ]\}}|du sMt|t jrTt| dkrTtd|q7dd|	dt
|	dt
|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| | j| || j |j| jj|||
|||	d|||d
S | jj|||
|||	d|||d	S )a
  
        Changes encryption key management type


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

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

        :param oci.database.models.ChangeKeyStoreTypeDetails change_key_store_type_details: (required)
            Request to change the source of the encryption key for the database.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/change_key_store_type.py.html>`__ to see an example of how to use change_key_store_type API.
        
databaseIdz2/databases/{databaseId}/actions/changeKeyStoreTyper*   change_key_store_typezShttps://docs.oracle.com/iaas/api/#/en/database/20160918/Database/ChangeKeyStoreTyper   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z8DatabaseClient.change_key_store_type.<locals>.<listcomp>z.change_key_store_type got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z8DatabaseClient.change_key_store_type.<locals>.<dictcomp>Nr   r>   r?   rk   r.   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r   r   rT   )r"   database_idZchange_key_store_type_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r     r   z$DatabaseClient.change_key_store_typec                    r   )a
  
        Move the one-off patch to the specified compartment.


        :param oci.database.models.ChangeCompartmentDetails change_compartment_details: (required)
            Request to move one-off patch to a different compartment

        :param str oneoff_patch_id: (required)
            The one-off patch `OCID`__.

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

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/change_oneoff_patch_compartment.py.html>`__ to see an example of how to use change_oneoff_patch_compartment API.
        oneoffPatchIdz8/oneoffPatches/{oneoffPatchId}/actions/changeCompartmentr*   change_oneoff_patch_compartmentz`https://docs.oracle.com/iaas/api/#/en/database/20160918/OneoffPatch/ChangeOneoffPatchCompartmentrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   b  r5   zBDatabaseClient.change_oneoff_patch_compartment.<locals>.<listcomp>z8change_oneoff_patch_compartment got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   k  r=   zBDatabaseClient.change_oneoff_patch_compartment.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   x  rG   r   rH   r   r   rT   )r"   r   oneoff_patch_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r   %  r   z.DatabaseClient.change_oneoff_patch_compartmentc                    r   )a  
        Moves a VM cluster and its dependent resources to another compartment. Applies to Exadata Cloud@Customer instances only.
        To move a cloud VM cluster in an Exadata Cloud Service instance to another compartment, use the :func:`change_cloud_vm_cluster_compartment` operation.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/change_vm_cluster_compartment.py.html>`__ to see an example of how to use change_vm_cluster_compartment API.
        r}   z3/vmClusters/{vmClusterId}/actions/changeCompartmentr*   change_vm_cluster_compartmentz\https://docs.oracle.com/iaas/api/#/en/database/20160918/VmCluster/ChangeVmClusterCompartmentrx   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z@DatabaseClient.change_vm_cluster_compartment.<locals>.<listcomp>z6change_vm_cluster_compartment got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z@DatabaseClient.change_vm_cluster_compartment.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r   r   rT   )r"   Z%change_vm_cluster_compartment_detailsr   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r     r   z,DatabaseClient.change_vm_cluster_compartmentc                    r   )a*  
        Check the status of the external database connection specified in this connector.
        This operation will refresh the connectionStatus and timeConnectionStatusLastUpdated fields.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/check_external_database_connector_connection_status.py.html>`__ to see an example of how to use check_external_database_connector_connection_status API.
        externalDatabaseConnectorIdzW/externaldatabaseconnectors/{externalDatabaseConnectorId}/actions/checkConnectionStatusr*   3check_external_database_connector_connection_statuszhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalDatabaseConnector/CheckExternalDatabaseConnectorConnectionStatusrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   N  r5   zVDatabaseClient.check_external_database_connector_connection_status.<locals>.<listcomp>zLcheck_external_database_connector_connection_status got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   W  r=   zVDatabaseClient.check_external_database_connector_connection_status.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   d  rG   r   rH   r   r   rT   r"   external_database_connector_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r     sn   .$


zBDatabaseClient.check_external_database_connector_connection_statusc                    r(   )a  
        Changes the status of the standalone backup resource to `ACTIVE` after the backup is created from the on-premises database and placed in Oracle Cloud Infrastructure Object Storage.

        **Note:** This API is used by an Oracle Cloud Infrastructure Python script that is packaged with the Oracle Cloud Infrastructure CLI. Oracle recommends that you use the script instead using the API directly. See `Migrating an On-Premises Database to Oracle Cloud Infrastructure by Creating a Backup in the Cloud`__ for more information.

        __ https://docs.cloud.oracle.com/Content/Database/Tasks/mig-onprembackup.htm


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExternalBackupJob`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/complete_external_backup_job.py.html>`__ to see an example of how to use complete_external_backup_job API.
        r   z//externalBackupJobs/{backupId}/actions/completer*   complete_external_backup_jobzchttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalBackupJob/CompleteExternalBackupJob)r   r   rk   r.   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z?DatabaseClient.complete_external_backup_job.<locals>.<listcomp>z5complete_external_backup_job got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z?DatabaseClient.complete_external_backup_job.<locals>.<dictcomp>Nr   r>   r?   rk   r.   )rA   rB   rm   rD   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   ExternalBackupJobr   rJ   rT   )r"   r   Z$complete_external_backup_job_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r     st   0$

z+DatabaseClient.complete_external_backup_jobc                    r   )a  
        Configures the Autonomous Database Vault service `key`__.

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


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/configure_autonomous_database_vault_key.py.html>`__ to see an example of how to use configure_autonomous_database_vault_key API.
        r   zW/autonomousDatabases/{autonomousDatabaseId}/actions/configureAutonomousDatabaseVaultKeyr*   'configure_autonomous_database_vault_keyznhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/ConfigureAutonomousDatabaseVaultKeyrj   c                    r/   r%   r%   r0   r3   r%   r&   r4   =  r5   zJDatabaseClient.configure_autonomous_database_vault_key.<locals>.<listcomp>z@configure_autonomous_database_vault_key got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   F  r=   zJDatabaseClient.configure_autonomous_database_vault_key.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r.   rl   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   S  rG   r   rH   r   r   rT   )r"   r   Z/configure_autonomous_database_vault_key_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r     r   z6DatabaseClient.configure_autonomous_database_vault_keyc                    r   )a  
        Converts a non-container database to a pluggable database.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.Database`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/convert_to_pdb.py.html>`__ to see an example of how to use convert_to_pdb API.
        r   z,/databases/{databaseId}/actions/convertToPdbr*   convert_to_pdbzMhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Database/ConvertToPdbr   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z1DatabaseClient.convert_to_pdb.<locals>.<listcomp>z'convert_to_pdb got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z1DatabaseClient.convert_to_pdb.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   Databaser   rJ   r   )r"   r   Zconvert_to_pdb_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r   v  r   zDatabaseClient.convert_to_pdbc                      g }d}d}d}d}g d  fddt |D }|r#td|d	d	|d
t|dtd}	dd t |	D }	| jj|d| j	d}
|
rvt
|
tjsb| j|	 | j|	 |
| j |
j| jj|||	|d|d|||d
S | jj|||	|d|d|||d	S )a	  
        Creates a new application virtual IP (VIP) address in the specified cloud VM cluster based on the request parameters you provide.


        :param oci.database.models.CreateApplicationVipDetails create_application_vip_details: (required)
            Request to create a new application virtual IP (VIP) address.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ApplicationVip`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_application_vip.py.html>`__ to see an example of how to use create_application_vip API.
        /applicationVipr*   create_application_vipz[https://docs.oracle.com/iaas/api/#/en/database/20160918/ApplicationVip/CreateApplicationVipr   r   r.   r-   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z9DatabaseClient.create_application_vip.<locals>.<listcomp>z/create_application_vip got unknown kwargs: {!r}r?   r.   r-   rA   rB   rD   rC   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   !  rG   z9DatabaseClient.create_application_vip.<locals>.<dictcomp>r   rH   ApplicationVipr   	rK   rL   rN   rO   rP   r   rQ   rR   rS   r   rU   rV   rW   r   r8   rX   r    r]   r   rY   r   r^   r_   r`   ra   r   rb   rc   )r"   Zcreate_application_vip_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   r     b   %

z%DatabaseClient.create_application_vipc                      g }d}d}d}d}g d  fddt |D }|r#td|d	d	|d
td}	dd t |	D }	| jj|d| j	d}
|
rqt
|
tjs]| j|	 | j|	 |
| j |
j| jj|||	|d|d|||d
S | jj|||	|d|d|||d	S )a	  
        Creates an Autonomous Container Database in the specified Autonomous Exadata Infrastructure.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousContainerDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_autonomous_container_database.py.html>`__ to see an example of how to use create_autonomous_container_database API.
        /autonomousContainerDatabasesr*   $create_autonomous_container_databasezuhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousContainerDatabase/CreateAutonomousContainerDatabaser   r   r.   c                    r/   r%   r%   r0   r3   r%   r&   r4   r  r5   zGDatabaseClient.create_autonomous_container_database.<locals>.<listcomp>z=create_autonomous_container_database got unknown kwargs: {!r}r?   r.   rA   rB   rD   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   |  rG   zGDatabaseClient.create_autonomous_container_database.<locals>.<dictcomp>r   rH   r   r   r   r   )r"   Z,create_autonomous_container_database_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   r   D  `   "
z3DatabaseClient.create_autonomous_container_databasec                    r   )a  
        Creates a new Autonomous Database.


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

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_autonomous_database.py.html>`__ to see an example of how to use create_autonomous_database API.
        /autonomousDatabasesr*   create_autonomous_databasezchttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/CreateAutonomousDatabaser   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z=DatabaseClient.create_autonomous_database.<locals>.<listcomp>z3create_autonomous_database got unknown kwargs: {!r}r?   r.   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   z=DatabaseClient.create_autonomous_database.<locals>.<dictcomp>r   rH   r   r   r   r   )r"   Z"create_autonomous_database_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   r     r   z)DatabaseClient.create_autonomous_databasec                    r   )a-	  
        Creates a new Autonomous Database backup for the specified database based on the provided request parameters.


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

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousDatabaseBackup`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_autonomous_database_backup.py.html>`__ to see an example of how to use create_autonomous_database_backup API.
        /autonomousDatabaseBackupsr*   !create_autonomous_database_backupzohttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabaseBackup/CreateAutonomousDatabaseBackupr   c                    r/   r%   r%   r0   r3   r%   r&   r4   1  r5   zDDatabaseClient.create_autonomous_database_backup.<locals>.<listcomp>z:create_autonomous_database_backup got unknown kwargs: {!r}r?   r.   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   <  rG   zDDatabaseClient.create_autonomous_database_backup.<locals>.<dictcomp>r   rH   AutonomousDatabaseBackupr   r   r   )r"   Z)create_autonomous_database_backup_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   r     r   z0DatabaseClient.create_autonomous_database_backupc                    r   )aC	  
        Creates an Autonomous VM cluster for Exadata Cloud@Customer. To create an Autonomous VM Cluster in the Oracle cloud, see :func:`create_cloud_autonomous_vm_cluster`.


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

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousVmCluster`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_autonomous_vm_cluster.py.html>`__ to see an example of how to use create_autonomous_vm_cluster API.
        /autonomousVmClustersr*   create_autonomous_vm_clusterzehttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousVmCluster/CreateAutonomousVmClusterr   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z?DatabaseClient.create_autonomous_vm_cluster.<locals>.<listcomp>z5create_autonomous_vm_cluster got unknown kwargs: {!r}r?   r.   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   z?DatabaseClient.create_autonomous_vm_cluster.<locals>.<dictcomp>r   rH   AutonomousVmClusterr   r   r   )r"   Z$create_autonomous_vm_cluster_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   r   _  r   z+DatabaseClient.create_autonomous_vm_clusterc                    r   )av	  
        Creates a new backup in the specified database based on the request parameters you provide. If you previously used RMAN or dbcli to configure backups and then you switch to using the Console or the API for backups, a new backup configuration is created and associated with your database. This means that you can no longer rely on your previously configured unmanaged backups to work.


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

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.Backup`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_backup.py.html>`__ to see an example of how to use create_backup API.
        /backupsr*   create_backupzKhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Backup/CreateBackupr   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z0DatabaseClient.create_backup.<locals>.<listcomp>z&create_backup got unknown kwargs: {!r}r?   r.   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   z0DatabaseClient.create_backup.<locals>.<dictcomp>r   rH   Backupr   r   r   )r"   Zcreate_backup_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   r     r   zDatabaseClient.create_backupc                    r   )a  
        Creates a backup destination in an Exadata Cloud@Customer system.


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

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.BackupDestination`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_backup_destination.py.html>`__ to see an example of how to use create_backup_destination API.
        /backupDestinationsr*   create_backup_destinationzahttps://docs.oracle.com/iaas/api/#/en/database/20160918/BackupDestination/CreateBackupDestinationr   c                    r/   r%   r%   r0   r3   r%   r&   r4   L  r5   z<DatabaseClient.create_backup_destination.<locals>.<listcomp>z2create_backup_destination got unknown kwargs: {!r}r?   r.   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   W  rG   z<DatabaseClient.create_backup_destination.<locals>.<dictcomp>r   rH   BackupDestinationr   r   r   )r"   Z!create_backup_destination_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   r     r   z(DatabaseClient.create_backup_destinationc                    r   )aK	  
        Creates an Autonomous Exadata VM cluster in the Oracle cloud. For Exadata Cloud@Customer systems, see :func:`create_autonomous_vm_cluster`.


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

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.CloudAutonomousVmCluster`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_cloud_autonomous_vm_cluster.py.html>`__ to see an example of how to use create_cloud_autonomous_vm_cluster API.
        /cloudAutonomousVmClustersr*   "create_cloud_autonomous_vm_clusterzohttps://docs.oracle.com/iaas/api/#/en/database/20160918/CloudAutonomousVmCluster/CreateCloudAutonomousVmClusterr   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   zEDatabaseClient.create_cloud_autonomous_vm_cluster.<locals>.<listcomp>z;create_cloud_autonomous_vm_cluster got unknown kwargs: {!r}r?   r.   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   zEDatabaseClient.create_cloud_autonomous_vm_cluster.<locals>.<dictcomp>r   rH   CloudAutonomousVmClusterr   r   r   )r"   Z*create_cloud_autonomous_vm_cluster_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   r   z  r   z1DatabaseClient.create_cloud_autonomous_vm_clusterc                    r   )ab
  
        Creates a cloud Exadata infrastructure resource. This resource is used to create either an `Exadata Cloud Service`__ instance or an Autonomous Database on dedicated Exadata infrastructure.

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


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.CloudExadataInfrastructure`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_cloud_exadata_infrastructure.py.html>`__ to see an example of how to use create_cloud_exadata_infrastructure API.
        /cloudExadataInfrastructuresr*   #create_cloud_exadata_infrastructurezshttps://docs.oracle.com/iaas/api/#/en/database/20160918/CloudExadataInfrastructure/CreateCloudExadataInfrastructurer   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   zFDatabaseClient.create_cloud_exadata_infrastructure.<locals>.<listcomp>z<create_cloud_exadata_infrastructure got unknown kwargs: {!r}r?   r.   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   zFDatabaseClient.create_cloud_exadata_infrastructure.<locals>.<dictcomp>r   rH   rn   r   r   r   )r"   Z+create_cloud_exadata_infrastructure_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   r     sb   )

z2DatabaseClient.create_cloud_exadata_infrastructurec                    r   )a	  
        Creates a cloud VM cluster.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.CloudVmCluster`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_cloud_vm_cluster.py.html>`__ to see an example of how to use create_cloud_vm_cluster API.
        /cloudVmClustersr*   create_cloud_vm_clusterz[https://docs.oracle.com/iaas/api/#/en/database/20160918/CloudVmCluster/CreateCloudVmClusterr   c                    r/   r%   r%   r0   r3   r%   r&   r4   r  r5   z:DatabaseClient.create_cloud_vm_cluster.<locals>.<listcomp>z0create_cloud_vm_cluster got unknown kwargs: {!r}r?   r.   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   }  rG   z:DatabaseClient.create_cloud_vm_cluster.<locals>.<dictcomp>r   rH   rz   r   r   r   )r"   Zcreate_cloud_vm_cluster_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   r   >  sb   '

z&DatabaseClient.create_cloud_vm_clusterc                    sn  dg}d}d}d}d}g d  fddt |D }	|	r$td	|	d|i}
d
d t |
D }
t |
D ]\}}|du sMt|t jrTt| dkrTtd|q7dd|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| | j| || j |j| jj|||
||d|	d|||dS | jj|||
||d|	d|||d
S )a	  
        Creates a new console connection to the specified database node.
        After the console connection has been created and is available,
        you connect to the console using SSH.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ConsoleConnection`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_console_connection.py.html>`__ to see an example of how to use create_console_connection API.
        dbNodeId&/dbNodes/{dbNodeId}/consoleConnectionsr*   create_console_connectionzahttps://docs.oracle.com/iaas/api/#/en/database/20160918/ConsoleConnection/CreateConsoleConnectionr   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z<DatabaseClient.create_console_connection.<locals>.<listcomp>z2create_console_connection got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z<DatabaseClient.create_console_connection.<locals>.<dictcomp>Nr   r>   r?   r.   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   ConsoleConnectionr   rJ   rT   )r"   Z!create_console_connection_details
db_node_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r     sr   )$
z(DatabaseClient.create_console_connectionc                    sn  dg}d}d}d}d}g d  fddt |D }	|	r$td	|	d|i}
d
d t |
D }
t |
D ]\}}|du sMt|t jrTt| dkrTtd|q7dd|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| | j| || j |j| jj|||
||d|	d|||dS | jj|||
||d|	d|||d
S )a0  
        Creates a new Data Guard association.  A Data Guard association represents the replication relationship between the
        specified database and a peer database. For more information, see `Using Oracle Data Guard`__.

        All Oracle Cloud Infrastructure resources, including Data Guard associations, get an Oracle-assigned, unique ID
        called an Oracle Cloud Identifier (OCID). When you create a resource, you can find its OCID in the response.
        You can also retrieve a resource's OCID by using a List API operation on that resource type, or by viewing the
        resource in the Console. For more information, see
        `Resource Identifiers`__.

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


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.DataGuardAssociation`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_data_guard_association.py.html>`__ to see an example of how to use create_data_guard_association API.
        r   -/databases/{databaseId}/dataGuardAssociationsr*   create_data_guard_associationzghttps://docs.oracle.com/iaas/api/#/en/database/20160918/DataGuardAssociation/CreateDataGuardAssociationr   c                    r/   r%   r%   r0   r3   r%   r&   r4   K  r5   z@DatabaseClient.create_data_guard_association.<locals>.<listcomp>z6create_data_guard_association got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   T  r=   z@DatabaseClient.create_data_guard_association.<locals>.<dictcomp>Nr   r>   r?   r.   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   _  rG   r   rH   DataGuardAssociationr   rJ   rT   )r"   r   Z%create_data_guard_association_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r     sr   1$
z,DatabaseClient.create_data_guard_associationc                    r   )a	  
        Creates a new database in the specified Database Home. If the database version is provided, it must match the version of the Database Home. Applies to Exadata and Exadata Cloud@Customer systems.


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

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.Database`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_database.py.html>`__ to see an example of how to use create_database API.
        
/databasesr*   create_databasezOhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Database/CreateDatabaser   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z2DatabaseClient.create_database.<locals>.<listcomp>z(create_database got unknown kwargs: {!r}r?   r.   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   z2DatabaseClient.create_database.<locals>.<dictcomp>r   rH   r   r   r   r   )r"   Zcreate_new_database_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   r    r   zDatabaseClient.create_databasec                    r   )a  
        create database software image in the specified compartment.


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

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.DatabaseSoftwareImage`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_database_software_image.py.html>`__ to see an example of how to use create_database_software_image API.
        /databaseSoftwareImagesr*   create_database_software_imagezihttps://docs.oracle.com/iaas/api/#/en/database/20160918/DatabaseSoftwareImage/CreateDatabaseSoftwareImager   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   zADatabaseClient.create_database_software_image.<locals>.<listcomp>z7create_database_software_image got unknown kwargs: {!r}r?   r.   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   zADatabaseClient.create_database_software_image.<locals>.<dictcomp>r   rH   DatabaseSoftwareImager   r   r   )r"   Z&create_database_software_image_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   r    r   z-DatabaseClient.create_database_software_imagec                    r   )a  
        Creates a new Database Home in the specified database system based on the request parameters you provide. Applies to bare metal DB systems, Exadata systems, and Exadata Cloud@Customer systems.


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

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.DbHome`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_db_home.py.html>`__ to see an example of how to use create_db_home API.
        /dbHomesr*   create_db_homezKhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DbHome/CreateDbHomer   c                    r/   r%   r%   r0   r3   r%   r&   r4   m  r5   z1DatabaseClient.create_db_home.<locals>.<listcomp>z'create_db_home got unknown kwargs: {!r}r?   r.   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   w  rG   z1DatabaseClient.create_db_home.<locals>.<dictcomp>r   rH   DbHomer   r   r   )r"   Z(create_db_home_with_db_system_id_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   r  ?  r   zDatabaseClient.create_db_homec                    r   )a	  
        Creates an Exadata infrastructure resource. Applies to Exadata Cloud@Customer instances only.
        To create an Exadata Cloud Service infrastructure resource, use the  :func:`create_cloud_exadata_infrastructure` operation.


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

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExadataInfrastructure`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_exadata_infrastructure.py.html>`__ to see an example of how to use create_exadata_infrastructure API.
        /exadataInfrastructuresr*   create_exadata_infrastructurezihttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExadataInfrastructure/CreateExadataInfrastructurer   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z@DatabaseClient.create_exadata_infrastructure.<locals>.<listcomp>z6create_exadata_infrastructure got unknown kwargs: {!r}r?   r.   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   z@DatabaseClient.create_exadata_infrastructure.<locals>.<dictcomp>r   rH   rI   r   r   r   )r"   Z%create_exadata_infrastructure_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   r    b   &

z,DatabaseClient.create_exadata_infrastructurec                    r   )a
  
        Creates a new backup resource and returns the information the caller needs to back up an on-premises Oracle Database to Oracle Cloud Infrastructure.

        **Note:** This API is used by an Oracle Cloud Infrastructure Python script that is packaged with the Oracle Cloud Infrastructure CLI. Oracle recommends that you use the script instead using the API directly. See `Migrating an On-Premises Database to Oracle Cloud Infrastructure by Creating a Backup in the Cloud`__ for more information.

        __ https://docs.cloud.oracle.com/Content/Database/Tasks/mig-onprembackup.htm


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExternalBackupJob`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_external_backup_job.py.html>`__ to see an example of how to use create_external_backup_job API.
        z/externalBackupJobsr*   create_external_backup_jobzahttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalBackupJob/CreateExternalBackupJobr   c                    r/   r%   r%   r0   r3   r%   r&   r4   -  r5   z=DatabaseClient.create_external_backup_job.<locals>.<listcomp>z3create_external_backup_job got unknown kwargs: {!r}r?   r.   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   7  rG   z=DatabaseClient.create_external_backup_job.<locals>.<dictcomp>r   rH   r   r   r   r   )r"   Z"create_external_backup_job_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   r    s`   &
z)DatabaseClient.create_external_backup_jobc                    r   )a	  
        Creates a new external container database resource.


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

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExternalContainerDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_external_container_database.py.html>`__ to see an example of how to use create_external_container_database API.
        /externalcontainerdatabasesr*   "create_external_container_databasezqhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalContainerDatabase/CreateExternalContainerDatabaser   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   zEDatabaseClient.create_external_container_database.<locals>.<listcomp>z;create_external_container_database got unknown kwargs: {!r}r?   r.   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   zEDatabaseClient.create_external_container_database.<locals>.<dictcomp>r   rH   ExternalContainerDatabaser   r   r   )r"   Z*create_external_container_database_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   r  Z  r   z1DatabaseClient.create_external_container_databasec                    r   )a  
        Creates a new external database connector.


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

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExternalDatabaseConnector`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_external_database_connector.py.html>`__ to see an example of how to use create_external_database_connector API.
        /externaldatabaseconnectorsr*   "create_external_database_connectorzqhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalDatabaseConnector/CreateExternalDatabaseConnectorr   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   zEDatabaseClient.create_external_database_connector.<locals>.<listcomp>z;create_external_database_connector got unknown kwargs: {!r}r?   r.   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   zEDatabaseClient.create_external_database_connector.<locals>.<dictcomp>r   rH   ExternalDatabaseConnectorr   r   r   )r"   Z*create_external_database_connector_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   r    r   z1DatabaseClient.create_external_database_connectorc                    r   )a	  
        Creates a new ExternalNonContainerDatabase resource


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

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExternalNonContainerDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_external_non_container_database.py.html>`__ to see an example of how to use create_external_non_container_database API.
        /externalnoncontainerdatabasesr*   &create_external_non_container_databasezwhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalNonContainerDatabase/CreateExternalNonContainerDatabaser   c                    r/   r%   r%   r0   r3   r%   r&   r4   L  r5   zIDatabaseClient.create_external_non_container_database.<locals>.<listcomp>z?create_external_non_container_database got unknown kwargs: {!r}r?   r.   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   W  rG   zIDatabaseClient.create_external_non_container_database.<locals>.<dictcomp>r   rH   ExternalNonContainerDatabaser   r   r   )r"   Z.create_external_non_container_database_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   r    r   z5DatabaseClient.create_external_non_container_databasec                    r   )a	  
        Registers a new :func:`create_external_pluggable_database_details`
        resource.


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

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExternalPluggableDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_external_pluggable_database.py.html>`__ to see an example of how to use create_external_pluggable_database API.
        /externalpluggabledatabasesr*   "create_external_pluggable_databasezqhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalPluggableDatabase/CreateExternalPluggableDatabaser   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   zEDatabaseClient.create_external_pluggable_database.<locals>.<listcomp>z;create_external_pluggable_database got unknown kwargs: {!r}r?   r.   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   zEDatabaseClient.create_external_pluggable_database.<locals>.<dictcomp>r   rH   ExternalPluggableDatabaser   r   r   )r"   Z*create_external_pluggable_database_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   r  z  r  z1DatabaseClient.create_external_pluggable_databasec                    r   )ap  
        Creates a Key Store.


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

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.KeyStore`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_key_store.py.html>`__ to see an example of how to use create_key_store API.
        
/keyStoresr*   create_key_storezOhttps://docs.oracle.com/iaas/api/#/en/database/20160918/KeyStore/CreateKeyStorer   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z3DatabaseClient.create_key_store.<locals>.<listcomp>z)create_key_store got unknown kwargs: {!r}r?   r.   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   z3DatabaseClient.create_key_store.<locals>.<dictcomp>r   rH   KeyStorer   r   r   )r"   Zcreate_key_store_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   r    r   zDatabaseClient.create_key_storec                    r   )a  
        Creates one-off patch for specified database version to download.


        :param oci.database.models.CreateOneoffPatchDetails create_oneoff_patch_details: (required)
            Request to create a one-off patch to download.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.OneoffPatch`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_oneoff_patch.py.html>`__ to see an example of how to use create_oneoff_patch API.
        /oneoffPatchesr*   create_oneoff_patchzUhttps://docs.oracle.com/iaas/api/#/en/database/20160918/OneoffPatch/CreateOneoffPatchr   c                    r/   r%   r%   r0   r3   r%   r&   r4   m  r5   z6DatabaseClient.create_oneoff_patch.<locals>.<listcomp>z,create_oneoff_patch got unknown kwargs: {!r}r?   r.   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   x  rG   z6DatabaseClient.create_oneoff_patch.<locals>.<dictcomp>r   rH   OneoffPatchr   r   r   )r"   Zcreate_oneoff_patch_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   r  ;  r   z"DatabaseClient.create_oneoff_patchc                    r   )a\	  
        Creates and starts a pluggable database in the specified container database.
        Use the :func:`start_pluggable_database` and :func:`stop_pluggable_database` APIs to start and stop the pluggable database.


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

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.PluggableDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_pluggable_database.py.html>`__ to see an example of how to use create_pluggable_database API.
        /pluggableDatabasesr*   create_pluggable_databasezahttps://docs.oracle.com/iaas/api/#/en/database/20160918/PluggableDatabase/CreatePluggableDatabaser   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z<DatabaseClient.create_pluggable_database.<locals>.<listcomp>z2create_pluggable_database got unknown kwargs: {!r}r?   r.   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   z<DatabaseClient.create_pluggable_database.<locals>.<dictcomp>r   rH   PluggableDatabaser   r   r   )r"   Z!create_pluggable_database_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   r!    r  z(DatabaseClient.create_pluggable_databasec                    r   )aF	  
        Creates an Exadata Cloud@Customer VM cluster.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.VmCluster`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_vm_cluster.py.html>`__ to see an example of how to use create_vm_cluster API.
        /vmClustersr*   create_vm_clusterzQhttps://docs.oracle.com/iaas/api/#/en/database/20160918/VmCluster/CreateVmClusterr   c                    r/   r%   r%   r0   r3   r%   r&   r4   /  r5   z4DatabaseClient.create_vm_cluster.<locals>.<listcomp>z*create_vm_cluster got unknown kwargs: {!r}r?   r.   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   :  rG   z4DatabaseClient.create_vm_cluster.<locals>.<dictcomp>r   rH   r   r   r   r   )r"   Zcreate_vm_cluster_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   r$    r  z DatabaseClient.create_vm_clusterc                    r(   )a!
  
        Creates the VM cluster network. Applies to Exadata Cloud@Customer instances only.
        To create a cloud VM cluster in an Exadata Cloud Service instance, use the :func:`create_cloud_vm_cluster` operation.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.VmClusterNetwork`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/create_vm_cluster_network.py.html>`__ to see an example of how to use create_vm_cluster_network API.
        r)   C/exadataInfrastructures/{exadataInfrastructureId}/vmClusterNetworksr*   create_vm_cluster_networkz_https://docs.oracle.com/iaas/api/#/en/database/20160918/VmClusterNetwork/CreateVmClusterNetworkr   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z<DatabaseClient.create_vm_cluster_network.<locals>.<listcomp>z2create_vm_cluster_network got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z<DatabaseClient.create_vm_cluster_network.<locals>.<dictcomp>Nr   r>   r?   r.   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   VmClusterNetworkr   rJ   rT   )r"   rd   Zvm_cluster_network_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r&  ]  st   +$

z(DatabaseClient.create_vm_cluster_networkc                    s  ddg}d}d}d}d}g d  fdd	t |D }	|	r%td
|	d|i}
dd t |
D }
t |
D ]\}}|du sNt|t jrUt| dkrUtd|q8d|i}dd t |D }dd|	dt
|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| | j| || j |j| jj|||
||d|	d|||dS | jj|||
||d|	d|||d
S )ao  
        Performs one of the following power actions on the specified DB node:
        - start - power on
        - stop - power off
        - softreset - ACPI shutdown and power on
        - reset - power off and power on

        **Note:** Stopping a node affects billing differently, depending on the type of DB system:
        *Bare metal and Exadata systems* - The _stop_ state has no effect on the resources you consume.
        Billing continues for DB nodes that you stop, and related resources continue
        to apply against any relevant quotas. You must terminate the DB system
        (:func:`terminate_db_system`)
        to remove its resources from billing and quotas.
        *Virtual machine DB systems* - Stopping a node stops billing for all OCPUs associated with that node, and billing resumes when you restart the node.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.DbNode`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/db_node_action.py.html>`__ to see an example of how to use db_node_action API.
        r   action/dbNodes/{dbNodeId}r*   db_node_actionzKhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DbNode/DbNodeAction)r   r   r.   rk   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z1DatabaseClient.db_node_action.<locals>.<listcomp>z'db_node_action got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z1DatabaseClient.db_node_action.<locals>.<dictcomp>Nr   r>   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   (  rG   r?   r.   rk   )rA   rB   rD   rm   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   0  rG   r   rH   DbNoder   
rK   rL   rM   query_paramsrN   rP   r   rQ   rR   rS   rT   )r"   r   r(  r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   r-  rN   r   r%   r3   r&   r*    sz   :$

zDatabaseClient.db_node_actionc                    d  dg}d}d}d}d}g d  fddt |D }|r$td	|d|i}	d
d t |	D }	t |	D ]\}
}|du sMt|t jrTt| dkrTtd|
q7dd|	dt
|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| || j |j| jj|||	||	d|||d	S | jj|||	||	d|||dS )a\  
        Deletes and deregisters the specified application virtual IP (VIP) address.


        :param str application_vip_id: (required)
            The `OCID`__ of the application virtual IP (VIP) address.

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/delete_application_vip.py.html>`__ to see an example of how to use delete_application_vip API.
        applicationVipId"/applicationVip/{applicationVipId}DELETEdelete_application_vipz[https://docs.oracle.com/iaas/api/#/en/database/20160918/ApplicationVip/DeleteApplicationVipr   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z9DatabaseClient.delete_application_vip.<locals>.<listcomp>z/delete_application_vip got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z9DatabaseClient.delete_application_vip.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r   r   r   r"   Zapplication_vip_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r2  U  j   %$

z%DatabaseClient.delete_application_vipc                    r.  )a$  
        Deletes the specified Autonomous Database.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/delete_autonomous_database.py.html>`__ to see an example of how to use delete_autonomous_database API.
        r   +/autonomousDatabases/{autonomousDatabaseId}r1  delete_autonomous_databasezchttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/DeleteAutonomousDatabaser   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z=DatabaseClient.delete_autonomous_database.<locals>.<listcomp>z3delete_autonomous_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z=DatabaseClient.delete_autonomous_database.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r   r   r   r"   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r6    r4  z)DatabaseClient.delete_autonomous_databasec                    r.  )as  
        Deletes a long-term backup. You cannot delete other backups using this API.


        :param str autonomous_database_backup_id: (required)
            The `OCID`__ of the Autonomous Database backup.

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/delete_autonomous_database_backup.py.html>`__ to see an example of how to use delete_autonomous_database_backup API.
        autonomousDatabaseBackupId7/autonomousDatabaseBackups/{autonomousDatabaseBackupId}r1  !delete_autonomous_database_backupzohttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabaseBackup/DeleteAutonomousDatabaseBackupr   c                    r/   r%   r%   r0   r3   r%   r&   r4   U  r5   zDDatabaseClient.delete_autonomous_database_backup.<locals>.<listcomp>z:delete_autonomous_database_backup got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   ^  r=   zDDatabaseClient.delete_autonomous_database_backup.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   j  rG   r   rH   r   r   r   r"   autonomous_database_backup_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r:  #  r4  z0DatabaseClient.delete_autonomous_database_backupc                    r.  )a  
        Deletes the specified Autonomous VM cluster in an Exadata Cloud@Customer system. To delete an Autonomous VM Cluster in the Oracle cloud, see :func:`delete_cloud_autonomous_vm_cluster`.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/delete_autonomous_vm_cluster.py.html>`__ to see an example of how to use delete_autonomous_vm_cluster API.
        r   -/autonomousVmClusters/{autonomousVmClusterId}r1  delete_autonomous_vm_clusterzehttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousVmCluster/DeleteAutonomousVmClusterr   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z?DatabaseClient.delete_autonomous_vm_cluster.<locals>.<listcomp>z5delete_autonomous_vm_cluster got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z?DatabaseClient.delete_autonomous_vm_cluster.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r   r   r   r"   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r>    r4  z+DatabaseClient.delete_autonomous_vm_clusterc                    Z  dg}d}d}d}d}g d  fddt |D }|r$td	|d|i}	d
d t |	D }	t |	D ]\}
}|du sMt|t jrTt| dkrTtd|
q7dd|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| || j |j| jj|||	||	d|||d	S | jj|||	||	d|||dS )a  
        Deletes a full backup. You cannot delete automatic backups using this API.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/delete_backup.py.html>`__ to see an example of how to use delete_backup API.
        r   /backups/{backupId}r1  delete_backupzKhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Backup/DeleteBackupr   r   rk   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z0DatabaseClient.delete_backup.<locals>.<listcomp>z&delete_backup got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   (  r=   z0DatabaseClient.delete_backup.<locals>.<dictcomp>Nr   r>   r?   rk   rA   rB   rm   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   3  rG   r   rH   r   r   r   r   r%   r3   r&   rB    h   "$
zDatabaseClient.delete_backupc                    r.  )aI  
        Deletes a backup destination in an Exadata Cloud@Customer system.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/delete_backup_destination.py.html>`__ to see an example of how to use delete_backup_destination API.
        r   )/backupDestinations/{backupDestinationId}r1  delete_backup_destinationzahttps://docs.oracle.com/iaas/api/#/en/database/20160918/BackupDestination/DeleteBackupDestinationr   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z<DatabaseClient.delete_backup_destination.<locals>.<listcomp>z2delete_backup_destination got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z<DatabaseClient.delete_backup_destination.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r   r   r   r"   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rG  S  r4  z(DatabaseClient.delete_backup_destinationc                    r.  )a  
        Deletes the specified Autonomous Exadata VM cluster in the Oracle cloud. For Exadata Cloud@Customer systems, see :func:`delete_autonomous_vm_cluster`.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/delete_cloud_autonomous_vm_cluster.py.html>`__ to see an example of how to use delete_cloud_autonomous_vm_cluster API.
        r   7/cloudAutonomousVmClusters/{cloudAutonomousVmClusterId}r1  "delete_cloud_autonomous_vm_clusterzohttps://docs.oracle.com/iaas/api/#/en/database/20160918/CloudAutonomousVmCluster/DeleteCloudAutonomousVmClusterr   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   zEDatabaseClient.delete_cloud_autonomous_vm_cluster.<locals>.<listcomp>z;delete_cloud_autonomous_vm_cluster got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   zEDatabaseClient.delete_cloud_autonomous_vm_cluster.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r   r   r   r"   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rJ    r4  z1DatabaseClient.delete_cloud_autonomous_vm_clusterc                      dg}d}d}d}d}g d  fddt |D }|r$td	|d|i}	d
d t |	D }	t |	D ]\}
}|du sMt|t jrTt| dkrTtd|
q7d|	dt
i}dd t |D }dd|	dt
|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| || j |j| jj|||	|||	d|||d
S | jj|||	|||	d|||d	S )a
  
        Deletes the cloud Exadata infrastructure resource. Applies to Exadata Cloud Service instances and Autonomous Database on dedicated Exadata infrastructure only.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param bool is_delete_vm_clusters: (optional)
            If `true`, forces the deletion the specified cloud Exadata infrastructure resource as well as all associated VM clusters. If `false`, the cloud Exadata infrastructure resource can be deleted only if it has no associated VM clusters. Default value is `false`.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/delete_cloud_exadata_infrastructure.py.html>`__ to see an example of how to use delete_cloud_exadata_infrastructure API.
        rh   ;/cloudExadataInfrastructures/{cloudExadataInfrastructureId}r1  #delete_cloud_exadata_infrastructurezshttps://docs.oracle.com/iaas/api/#/en/database/20160918/CloudExadataInfrastructure/DeleteCloudExadataInfrastructure)r   r   rk   is_delete_vm_clustersr-   c                    r/   r%   r%   r0   r3   r%   r&   r4   W  r5   zFDatabaseClient.delete_cloud_exadata_infrastructure.<locals>.<listcomp>z<delete_cloud_exadata_infrastructure got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   `  r=   zFDatabaseClient.delete_cloud_exadata_infrastructure.<locals>.<dictcomp>Nr   r>   ZisDeleteVmClustersrO  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   i  rG   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   q  rG   r   rH   r   	rK   rL   rM   r-  rN   r   rQ   rR   rS   r   r"   rq   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   r-  rN   r   r%   r3   r&   rN  !  st   ($

z2DatabaseClient.delete_cloud_exadata_infrastructurec                    r.  )a  
        Deletes the specified cloud VM cluster. Applies to Exadata Cloud Service instances and Autonomous Database on dedicated Exadata infrastructure only.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/delete_cloud_vm_cluster.py.html>`__ to see an example of how to use delete_cloud_vm_cluster API.
        rv   #/cloudVmClusters/{cloudVmClusterId}r1  delete_cloud_vm_clusterz[https://docs.oracle.com/iaas/api/#/en/database/20160918/CloudVmCluster/DeleteCloudVmClusterr   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z:DatabaseClient.delete_cloud_vm_cluster.<locals>.<listcomp>z0delete_cloud_vm_cluster got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z:DatabaseClient.delete_cloud_vm_cluster.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r   r   r   r"   r{   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rS    r4  z&DatabaseClient.delete_cloud_vm_clusterc                    s^  ddg}d}d}d}d}g d  fdd	t |D }	|	r%td
|	||d}
dd t |
D }
t |
D ]\}}|du sOt|t jrVt| dkrVtd|q9dd|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| || j |j| jj|||
||	d|||d	S | jj|||
||	d|||dS )a0  
        Deletes the specified database node console connection.


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

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

        :param str console_connection_id: (required)
            The OCID of the console connection.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/delete_console_connection.py.html>`__ to see an example of how to use delete_console_connection API.
        r   consoleConnectionId</dbNodes/{dbNodeId}/consoleConnections/{consoleConnectionId}r1  delete_console_connectionzahttps://docs.oracle.com/iaas/api/#/en/database/20160918/ConsoleConnection/DeleteConsoleConnectionrC  c                    r/   r%   r%   r0   r3   r%   r&   r4   +  r5   z<DatabaseClient.delete_console_connection.<locals>.<listcomp>z2delete_console_connection got unknown kwargs: {!r}r   rU  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   5  r=   z<DatabaseClient.delete_console_connection.<locals>.<dictcomp>Nr   r>   r?   rk   rD  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   @  rG   r   rH   r   r   r   r"   r   console_connection_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rW    sj   %$
z(DatabaseClient.delete_console_connectionc                    rL  )a  
        Deletes the specified database. Applies only to Exadata systems.

        The data in this database is local to the Exadata system and will be lost when the database is deleted. Oracle recommends that you back up any data in the Exadata system prior to deleting it. You can use the `performFinalBackup` parameter to have the Exadata system database backed up before it is deleted.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param bool perform_final_backup: (optional)
            Whether to perform a final backup of the database or not. Default is false.

            If you previously used RMAN or dbcli to configure backups and then you switch to using the Console or the API for backups, a new backup configuration is created and associated with your database. This means that you can no longer rely on your previously configured unmanaged backups to work.

            This parameter is used in multiple APIs. Refer to the API description for details on how the operation uses it.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/delete_database.py.html>`__ to see an example of how to use delete_database API.
        r   /databases/{databaseId}r1  delete_databasezOhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Database/DeleteDatabase)r   r   rk   perform_final_backupr-   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z2DatabaseClient.delete_database.<locals>.<listcomp>z(delete_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z2DatabaseClient.delete_database.<locals>.<dictcomp>Nr   r>   performFinalBackupr]  c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r   rP  r   r"   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   r-  rN   r   r%   r3   r&   r\  `  st   .$

zDatabaseClient.delete_databasec                    r@  )a  
        Delete a database software image


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/delete_database_software_image.py.html>`__ to see an example of how to use delete_database_software_image API.
        r   1/databaseSoftwareImages/{databaseSoftwareImageId}r1  delete_database_software_imagezihttps://docs.oracle.com/iaas/api/#/en/database/20160918/DatabaseSoftwareImage/DeleteDatabaseSoftwareImagerC  c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   zADatabaseClient.delete_database_software_image.<locals>.<listcomp>z7delete_database_software_image got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   zADatabaseClient.delete_database_software_image.<locals>.<dictcomp>Nr   r>   r?   rk   rD  c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r   r   r   r"   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   ra    rE  z-DatabaseClient.delete_database_software_imagec                    s  dg}d}d}d}d}g d  fddt |D }|r$td	|d|i}	d
d t |	D }	t |	D ]\}
}|du sMt|t jrTt| dkrTtd|
q7d|	dt
i}dd t |D }dd|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| || j |j| jj|||	|||	d|||d
S | jj|||	|||	d|||d	S )a  
        Deletes a Database Home. Applies to bare metal DB systems, Exadata Cloud Service, and Exadata Cloud@Customer systems.

        Oracle recommends that you use the `performFinalBackup` parameter to back up any data on a bare metal DB system before you delete a Database Home. On an Exadata Cloud@Customer system or an Exadata Cloud Service system, you can delete a Database Home only when there are no databases in it and therefore you cannot use the `performFinalBackup` parameter to back up data.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param bool perform_final_backup: (optional)
            Whether to perform a final backup of the database or not. Default is false.

            If you previously used RMAN or dbcli to configure backups and then you switch to using the Console or the API for backups, a new backup configuration is created and associated with your database. This means that you can no longer rely on your previously configured unmanaged backups to work.

            This parameter is used in multiple APIs. Refer to the API description for details on how the operation uses it.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/delete_db_home.py.html>`__ to see an example of how to use delete_db_home API.
        dbHomeId/dbHomes/{dbHomeId}r1  delete_db_homezKhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DbHome/DeleteDbHome)r   r   rk   r]  c                    r/   r%   r%   r0   r3   r%   r&   r4   r  r5   z1DatabaseClient.delete_db_home.<locals>.<listcomp>z'delete_db_home got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   {  r=   z1DatabaseClient.delete_db_home.<locals>.<dictcomp>Nr   r>   r^  r]  c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r?   rk   rD  c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r   rP  r   r"   
db_home_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   r-  rN   r   r%   r3   r&   re  :  sr   +$
zDatabaseClient.delete_db_homec                    r.  )aC  
        Deletes the Exadata Cloud@Customer infrastructure.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/delete_exadata_infrastructure.py.html>`__ to see an example of how to use delete_exadata_infrastructure API.
        r)   1/exadataInfrastructures/{exadataInfrastructureId}r1  delete_exadata_infrastructurezihttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExadataInfrastructure/DeleteExadataInfrastructurer   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z@DatabaseClient.delete_exadata_infrastructure.<locals>.<listcomp>z6delete_exadata_infrastructure got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z@DatabaseClient.delete_exadata_infrastructure.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r   r   r   rt   r%   r3   r&   ri    r4  z,DatabaseClient.delete_exadata_infrastructurec                    r.  )a	  
        Deletes the :func:`create_external_container_database_details`
        resource. Any external pluggable databases registered under this container database must be deleted in
        your Oracle Cloud Infrastructure tenancy prior to this operation.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/delete_external_container_database.py.html>`__ to see an example of how to use delete_external_container_database API.
        r   9/externalcontainerdatabases/{externalContainerDatabaseId}r1  "delete_external_container_databasezqhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalContainerDatabase/DeleteExternalContainerDatabaser   r   r-   rk   c                    r/   r%   r%   r0   r3   r%   r&   r4   H  r5   zEDatabaseClient.delete_external_container_database.<locals>.<listcomp>z;delete_external_container_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   Q  r=   zEDatabaseClient.delete_external_container_database.<locals>.<dictcomp>Nr   r>   r?   r-   rk   rA   rB   rC   rm   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   ]  rG   r   rH   r   r   r   r"   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rk    sj   '$

z1DatabaseClient.delete_external_container_databasec                    r.  )a  
        Deletes an external database connector.
        Any services enabled using the external database connector must be
        deleted prior to this operation.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/delete_external_database_connector.py.html>`__ to see an example of how to use delete_external_database_connector API.
        r   9/externaldatabaseconnectors/{externalDatabaseConnectorId}r1  "delete_external_database_connectorzqhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalDatabaseConnector/DeleteExternalDatabaseConnectorr   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   zEDatabaseClient.delete_external_database_connector.<locals>.<listcomp>z;delete_external_database_connector got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   zEDatabaseClient.delete_external_database_connector.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r   r   r   r   r%   r3   r&   rp  }  sj   ($

z1DatabaseClient.delete_external_database_connectorc                    r.  )a  
        Deletes the Oracle Cloud Infrastructure resource representing an external non-container database.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/delete_external_non_container_database.py.html>`__ to see an example of how to use delete_external_non_container_database API.
        r   ?/externalnoncontainerdatabases/{externalNonContainerDatabaseId}r1  &delete_external_non_container_databasezwhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalNonContainerDatabase/DeleteExternalNonContainerDatabaser   c                    r/   r%   r%   r0   r3   r%   r&   r4      r5   zIDatabaseClient.delete_external_non_container_database.<locals>.<listcomp>z?delete_external_non_container_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   "   r=   zIDatabaseClient.delete_external_non_container_database.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   .   rG   r   rH   r   r   r   r"   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rr    r4  z5DatabaseClient.delete_external_non_container_databasec                    r.  )av  
        Deletes the :func:`create_external_pluggable_database_details`.
        resource.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/delete_external_pluggable_database.py.html>`__ to see an example of how to use delete_external_pluggable_database API.
        r   9/externalpluggabledatabases/{externalPluggableDatabaseId}r1  "delete_external_pluggable_databasezqhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalPluggableDatabase/DeleteExternalPluggableDatabaserl  c                    r/   r%   r%   r0   r3   r%   r&   r4      r5   zEDatabaseClient.delete_external_pluggable_database.<locals>.<listcomp>z;delete_external_pluggable_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<      r=   zEDatabaseClient.delete_external_pluggable_database.<locals>.<dictcomp>Nr   r>   r?   r-   rk   rm  c                 S   rE   rF   r7   r9   r%   r%   r&   r<      rG   r   rH   r   r   r   r"   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   ru  N   sj   &$

z1DatabaseClient.delete_external_pluggable_databasec                    r.  )a  
        Deletes a key store.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/delete_key_store.py.html>`__ to see an example of how to use delete_key_store API.
        r   /keyStores/{keyStoreId}r1  delete_key_storezOhttps://docs.oracle.com/iaas/api/#/en/database/20160918/KeyStore/DeleteKeyStorer   c                    r/   r%   r%   r0   r3   r%   r&   r4      r5   z3DatabaseClient.delete_key_store.<locals>.<listcomp>z)delete_key_store got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<      r=   z3DatabaseClient.delete_key_store.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<      rG   r   rH   r   r   r   r"   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rx     r4  zDatabaseClient.delete_key_storec                    r.  )a  
        Deletes a one-off patch.


        :param str oneoff_patch_id: (required)
            The one-off patch `OCID`__.

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/delete_oneoff_patch.py.html>`__ to see an example of how to use delete_oneoff_patch API.
        r   /oneoffPatches/{oneoffPatchId}r1  delete_oneoff_patchzUhttps://docs.oracle.com/iaas/api/#/en/database/20160918/OneoffPatch/DeleteOneoffPatchrl  c                    r/   r%   r%   r0   r3   r%   r&   r4   O!  r5   z6DatabaseClient.delete_oneoff_patch.<locals>.<listcomp>z,delete_oneoff_patch got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   X!  r=   z6DatabaseClient.delete_oneoff_patch.<locals>.<dictcomp>Nr   r>   r?   r-   rk   rm  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   d!  rG   r   rH   r   r   r   r"   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r{  !  r4  z"DatabaseClient.delete_oneoff_patchc                    r.  )a   
        Deletes the specified pluggable database.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/delete_pluggable_database.py.html>`__ to see an example of how to use delete_pluggable_database API.
        pluggableDatabaseId)/pluggableDatabases/{pluggableDatabaseId}r1  delete_pluggable_databasezahttps://docs.oracle.com/iaas/api/#/en/database/20160918/PluggableDatabase/DeletePluggableDatabaser   c                    r/   r%   r%   r0   r3   r%   r&   r4   !  r5   z<DatabaseClient.delete_pluggable_database.<locals>.<listcomp>z2delete_pluggable_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   !  r=   z<DatabaseClient.delete_pluggable_database.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   !  rG   r   rH   r   r   r   r"   pluggable_database_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  !  r4  z(DatabaseClient.delete_pluggable_databasec                    r.  )a4  
        Deletes the specified VM cluster. Applies to Exadata Cloud@Customer instances only.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/delete_vm_cluster.py.html>`__ to see an example of how to use delete_vm_cluster API.
        r}   /vmClusters/{vmClusterId}r1  delete_vm_clusterzQhttps://docs.oracle.com/iaas/api/#/en/database/20160918/VmCluster/DeleteVmClusterr   c                    r/   r%   r%   r0   r3   r%   r&   r4   "  r5   z4DatabaseClient.delete_vm_cluster.<locals>.<listcomp>z*delete_vm_cluster got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   &"  r=   z4DatabaseClient.delete_vm_cluster.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   2"  rG   r   rH   r   r   r   r"   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  !  r4  z DatabaseClient.delete_vm_clusterc                    sh  ddg}d}d}d}d}g d  fdd	t |D }	|	r%td
|	||d}
dd t |
D }
t |
D ]\}}|du sOt|t jrVt| dkrVtd|q9dd|	dt
|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| || j |j| jj|||
||	d|||d	S | jj|||
||	d|||dS )a	  
        Deletes the specified VM cluster network. Applies to Exadata Cloud@Customer instances only.
        To delete a cloud VM cluster in an Exadata Cloud Service instance, use the :func:`delete_cloud_vm_cluster` operation.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/delete_vm_cluster_network.py.html>`__ to see an example of how to use delete_vm_cluster_network API.
        r)   vmClusterNetworkIdX/exadataInfrastructures/{exadataInfrastructureId}/vmClusterNetworks/{vmClusterNetworkId}r1  delete_vm_cluster_networkz_https://docs.oracle.com/iaas/api/#/en/database/20160918/VmClusterNetwork/DeleteVmClusterNetworkr   c                    r/   r%   r%   r0   r3   r%   r&   r4   "  r5   z<DatabaseClient.delete_vm_cluster_network.<locals>.<listcomp>z2delete_vm_cluster_network got unknown kwargs: {!r}r)   r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   "  r=   z<DatabaseClient.delete_vm_cluster_network.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   "  rG   r   rH   r   r   r   r"   rd   vm_cluster_network_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  R"  sl   +$

z(DatabaseClient.delete_vm_cluster_networkc                    j  dg}d}d}d}d}g d  fddt |D }|r$td	|d|i}	d
d t |	D }	t |	D ]\}
}|du sMt|t jrTt| dkrTtd|
q7dd|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| || j |j| jj|||	||	d|	d|||d
S | jj|||	||	d|	d|||d	S )a  
        Asynchronously deregisters this Autonomous Database with Data Safe.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param oci.database.models.DeregisterAutonomousDatabaseDataSafeDetails deregister_autonomous_database_data_safe_details: (optional)
            Details for deregistering an Autonomous Database with Data Safe.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/deregister_autonomous_database_data_safe.py.html>`__ to see an example of how to use deregister_autonomous_database_data_safe API.
        r   zF/autonomousDatabases/{autonomousDatabaseId}/actions/deregisterDataSafer*   (deregister_autonomous_database_data_safezohttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/DeregisterAutonomousDatabaseDataSafe)r   r   r-   0deregister_autonomous_database_data_safe_detailsc                    r/   r%   r%   r0   r3   r%   r&   r4   "  r5   zKDatabaseClient.deregister_autonomous_database_data_safe.<locals>.<listcomp>zAderegister_autonomous_database_data_safe got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   "  r=   zKDatabaseClient.deregister_autonomous_database_data_safe.<locals>.<dictcomp>Nr   r>   r?   r-   rA   rB   rC   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   #  rG   r   rH   r  r   r   r   r7  r%   r3   r&   r  "  l   #$
z7DatabaseClient.deregister_autonomous_database_data_safec                    r@  )a  
        Disables Database Management for the Autonomous Database resource.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/disable_autonomous_database_management.py.html>`__ to see an example of how to use disable_autonomous_database_management API.
        r   zM/autonomousDatabases/{autonomousDatabaseId}/actions/disableDatabaseManagementr*   &disable_autonomous_database_managementznhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/DisableAutonomousDatabaseManagementr   r   r-   c                    r/   r%   r%   r0   r3   r%   r&   r4   R#  r5   zIDatabaseClient.disable_autonomous_database_management.<locals>.<listcomp>z?disable_autonomous_database_management got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   [#  r=   zIDatabaseClient.disable_autonomous_database_management.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   f#  rG   r   rH   r   r   r   r7  r%   r3   r&   r  &#  h    $
z5DatabaseClient.disable_autonomous_database_managementc                    r@  )a  
        Disables Operations Insights for the Autonomous Database resource.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/disable_autonomous_database_operations_insights.py.html>`__ to see an example of how to use disable_autonomous_database_operations_insights API.
        r   zM/autonomousDatabases/{autonomousDatabaseId}/actions/disableOperationsInsightsr*   /disable_autonomous_database_operations_insightszvhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/DisableAutonomousDatabaseOperationsInsightsr  c                    r/   r%   r%   r0   r3   r%   r&   r4   #  r5   zRDatabaseClient.disable_autonomous_database_operations_insights.<locals>.<listcomp>zHdisable_autonomous_database_operations_insights got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   #  r=   zRDatabaseClient.disable_autonomous_database_operations_insights.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   #  rG   r   rH   r   r   r   r7  r%   r3   r&   r  #  r  z>DatabaseClient.disable_autonomous_database_operations_insightsc                    rg   )a>
  
        Disables the Database Management service for the database.


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

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

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.Database`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/disable_database_management.py.html>`__ to see an example of how to use disable_database_management API.
        r   z9/databases/{databaseId}/actions/disableDatabaseManagementr*   disable_database_managementzZhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Database/DisableDatabaseManagementrx   c                    r/   r%   r%   r0   r3   r%   r&   r4    $  r5   z>DatabaseClient.disable_database_management.<locals>.<listcomp>z4disable_database_management got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   )$  r=   z>DatabaseClient.disable_database_management.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   6$  rG   r   rH   r   r   ro   rT   r"   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  #  rr   z*DatabaseClient.disable_database_managementc                    r   )a
  
        Disable Database Management service for the external container database.


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

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

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/disable_external_container_database_database_management.py.html>`__ to see an example of how to use disable_external_container_database_database_management API.
        r   z[/externalcontainerdatabases/{externalContainerDatabaseId}/actions/disableDatabaseManagementr*   7disable_external_container_database_database_managementzhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalContainerDatabase/DisableExternalContainerDatabaseDatabaseManagementrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   $  r5   zZDatabaseClient.disable_external_container_database_database_management.<locals>.<listcomp>zPdisable_external_container_database_database_management got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   $  r=   zZDatabaseClient.disable_external_container_database_database_management.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   $  rG   r   rH   r   r   rT   rn  r%   r3   r&   r  Y$  r   zFDatabaseClient.disable_external_container_database_database_managementc                    r   )au
  
        Disable Stack Monitoring for the external container database.


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

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

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/disable_external_container_database_stack_monitoring.py.html>`__ to see an example of how to use disable_external_container_database_stack_monitoring API.
        r   zX/externalcontainerdatabases/{externalContainerDatabaseId}/actions/disableStackMonitoringr*   4disable_external_container_database_stack_monitoringzhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalContainerDatabase/DisableExternalContainerDatabaseStackMonitoringrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   %  r5   zWDatabaseClient.disable_external_container_database_stack_monitoring.<locals>.<listcomp>zMdisable_external_container_database_stack_monitoring got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   %  r=   zWDatabaseClient.disable_external_container_database_stack_monitoring.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   %  rG   r   rH   r   r   rT   rn  r%   r3   r&   r  $  r   zCDatabaseClient.disable_external_container_database_stack_monitoringc                    r   )aw  
        Disable Database Management Service for the external non-container database.
        For more information about the Database Management Service, see
        `Database Management Service`__.

        __ https://docs.cloud.oracle.com/Content/ExternalDatabase/Concepts/databasemanagementservice.htm


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/disable_external_non_container_database_database_management.py.html>`__ to see an example of how to use disable_external_non_container_database_database_management API.
        r   za/externalnoncontainerdatabases/{externalNonContainerDatabaseId}/actions/disableDatabaseManagementr*   ;disable_external_non_container_database_database_managementzhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalNonContainerDatabase/DisableExternalNonContainerDatabaseDatabaseManagementrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   y%  r5   z^DatabaseClient.disable_external_non_container_database_database_management.<locals>.<listcomp>zTdisable_external_non_container_database_database_management got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   %  r=   z^DatabaseClient.disable_external_non_container_database_database_management.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   %  rG   r   rH   r   r   rT   rs  r%   r3   r&   r  ;%  n   0$


zJDatabaseClient.disable_external_non_container_database_database_managementc                    r   )a
  
        Disable Operations Insights for the external non-container database.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/disable_external_non_container_database_operations_insights.py.html>`__ to see an example of how to use disable_external_non_container_database_operations_insights API.
        r   za/externalnoncontainerdatabases/{externalNonContainerDatabaseId}/actions/disableOperationsInsightsr*   ;disable_external_non_container_database_operations_insightszhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalNonContainerDatabase/DisableExternalNonContainerDatabaseOperationsInsightsrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   %  r5   z^DatabaseClient.disable_external_non_container_database_operations_insights.<locals>.<listcomp>zTdisable_external_non_container_database_operations_insights got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   %  r=   z^DatabaseClient.disable_external_non_container_database_operations_insights.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<    &  rG   r   rH   r   r   rT   rs  r%   r3   r&   r  %  r   zJDatabaseClient.disable_external_non_container_database_operations_insightsc                    r   )a
  
        Disable Stack Monitoring for the external non-container database.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/disable_external_non_container_database_stack_monitoring.py.html>`__ to see an example of how to use disable_external_non_container_database_stack_monitoring API.
        r   z^/externalnoncontainerdatabases/{externalNonContainerDatabaseId}/actions/disableStackMonitoringr*   8disable_external_non_container_database_stack_monitoringzhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalNonContainerDatabase/DisableExternalNonContainerDatabaseStackMonitoringrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   [&  r5   z[DatabaseClient.disable_external_non_container_database_stack_monitoring.<locals>.<listcomp>zQdisable_external_non_container_database_stack_monitoring got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   d&  r=   z[DatabaseClient.disable_external_non_container_database_stack_monitoring.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   q&  rG   r   rH   r   r   rT   rs  r%   r3   r&   r  !&  r   zGDatabaseClient.disable_external_non_container_database_stack_monitoringc                    r   )ac  
        Disable Database Management Service for the external pluggable database.
        For more information about the Database Management Service, see
        `Database Management Service`__.

        __ https://docs.cloud.oracle.com/Content/ExternalDatabase/Concepts/databasemanagementservice.htm


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

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

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/disable_external_pluggable_database_database_management.py.html>`__ to see an example of how to use disable_external_pluggable_database_database_management API.
        r   z[/externalpluggabledatabases/{externalPluggableDatabaseId}/actions/disableDatabaseManagementr*   7disable_external_pluggable_database_database_managementzhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalPluggableDatabase/DisableExternalPluggableDatabaseDatabaseManagementrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   &  r5   zZDatabaseClient.disable_external_pluggable_database_database_management.<locals>.<listcomp>zPdisable_external_pluggable_database_database_management got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   &  r=   zZDatabaseClient.disable_external_pluggable_database_database_management.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   &  rG   r   rH   r   r   rT   rv  r%   r3   r&   r  &  r  zFDatabaseClient.disable_external_pluggable_database_database_managementc                    r   )a
  
        Disable Operations Insights for the external pluggable database.


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

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

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/disable_external_pluggable_database_operations_insights.py.html>`__ to see an example of how to use disable_external_pluggable_database_operations_insights API.
        r   z[/externalpluggabledatabases/{externalPluggableDatabaseId}/actions/disableOperationsInsightsr*   7disable_external_pluggable_database_operations_insightszhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalPluggableDatabase/DisableExternalPluggableDatabaseOperationsInsightsrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   A'  r5   zZDatabaseClient.disable_external_pluggable_database_operations_insights.<locals>.<listcomp>zPdisable_external_pluggable_database_operations_insights got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   J'  r=   zZDatabaseClient.disable_external_pluggable_database_operations_insights.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   W'  rG   r   rH   r   r   rT   rv  r%   r3   r&   r  '  r   zFDatabaseClient.disable_external_pluggable_database_operations_insightsc                    r   )aw
  
        Disable Stack Monitoring for the external pluggable database.


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

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

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/disable_external_pluggable_database_stack_monitoring.py.html>`__ to see an example of how to use disable_external_pluggable_database_stack_monitoring API.
        r   zX/externalpluggabledatabases/{externalPluggableDatabaseId}/actions/disableStackMonitoringr*   4disable_external_pluggable_database_stack_monitoringzhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalPluggableDatabase/DisableExternalPluggableDatabaseStackMonitoringrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   '  r5   zWDatabaseClient.disable_external_pluggable_database_stack_monitoring.<locals>.<listcomp>zMdisable_external_pluggable_database_stack_monitoring got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   '  r=   zWDatabaseClient.disable_external_pluggable_database_stack_monitoring.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   '  rG   r   rH   r   r   rT   rv  r%   r3   r&   r  x'  r   zCDatabaseClient.disable_external_pluggable_database_stack_monitoringc                    rg   )ao
  
        Disables the Database Management service for the pluggable database.


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

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

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.PluggableDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/disable_pluggable_database_management.py.html>`__ to see an example of how to use disable_pluggable_database_management API.
        r}  zT/pluggableDatabases/{pluggableDatabaseId}/actions/disablePluggableDatabaseManagementr*   %disable_pluggable_database_managementzlhttps://docs.oracle.com/iaas/api/#/en/database/20160918/PluggableDatabase/DisablePluggableDatabaseManagementrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   #(  r5   zHDatabaseClient.disable_pluggable_database_management.<locals>.<listcomp>z>disable_pluggable_database_management got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   ,(  r=   zHDatabaseClient.disable_pluggable_database_management.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   9(  rG   r   rH   r"  r   ro   rT   r  r%   r3   r&   r  '  rr   z4DatabaseClient.disable_pluggable_database_managementc                    st  dg}d}d}d}d}g d  fddt |D }|r$td	|d|i}	d
d t |	D }	t |	D ]\}
}|du sMt|t jrTt| dkrTtd|
q7dd|	dt
|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| | j| || j |j| jj|||	|d|	d|||d
S | jj|||	|d|	d|||d	S )a  
        Downloads the configuration file for the specified Exadata Cloud@Customer infrastructure.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type stream
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/download_exadata_infrastructure_config_file.py.html>`__ to see an example of how to use download_exadata_infrastructure_config_file API.
        r)   zL/exadataInfrastructures/{exadataInfrastructureId}/actions/downloadConfigFiler*   +download_exadata_infrastructure_config_filezuhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExadataInfrastructure/DownloadExadataInfrastructureConfigFiler,   c                    r/   r%   r%   r0   r3   r%   r&   r4   (  r5   zNDatabaseClient.download_exadata_infrastructure_config_file.<locals>.<listcomp>zDdownload_exadata_infrastructure_config_file got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   (  r=   zNDatabaseClient.download_exadata_infrastructure_config_file.<locals>.<dictcomp>Nr   r>   application/octet-streamr?   r-   r.   r@   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   (  rG   r   rH   streamr   ro   rT   rt   r%   r3   r&   r  \(  sp   '$

z:DatabaseClient.download_exadata_infrastructure_config_filec                    rg   )a#
  
        Download one-off patch.


        :param str oneoff_patch_id: (required)
            The one-off patch `OCID`__.

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

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.DownloadOneoffPatch`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/download_oneoff_patch.py.html>`__ to see an example of how to use download_oneoff_patch API.
        r   z:/oneoffPatches/{oneoffPatchId}/actions/downloadOneoffPatchr*   download_oneoff_patchzWhttps://docs.oracle.com/iaas/api/#/en/database/20160918/OneoffPatch/DownloadOneoffPatchrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   )  r5   z8DatabaseClient.download_oneoff_patch.<locals>.<listcomp>z.download_oneoff_patch got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   )  r=   z8DatabaseClient.download_oneoff_patch.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   )  rG   r   rH   ZDownloadOneoffPatchr   ro   rT   r|  r%   r3   r&   r  (  rr   z$DatabaseClient.download_oneoff_patchc                    x  ddg}d}d}d}d}g d  fdd	t |D }	|	r%td
|	||d}
dd t |
D }
t |
D ]\}}|du sOt|t jrVt| dkrVtd|q9dd|	dt
|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| | j| || j |j| jj|||
|d|	d|||d
S | jj|||
|d|	d|||d	S )a	  
        Downloads the network validation report file for the specified VM cluster network. Applies to Exadata Cloud@Customer instances only.


        :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 str opc_request_id: (optional)
            Unique identifier for the request.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type stream
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/download_validation_report.py.html>`__ to see an example of how to use download_validation_report API.
        r)   r  zy/exadataInfrastructures/{exadataInfrastructureId}/vmClusterNetworks/{vmClusterNetworkId}/actions/downloadValidationReportr*   download_validation_reportzahttps://docs.oracle.com/iaas/api/#/en/database/20160918/VmClusterNetwork/DownloadValidationReportr,   c                    r/   r%   r%   r0   r3   r%   r&   r4   t)  r5   z=DatabaseClient.download_validation_report.<locals>.<listcomp>z3download_validation_report got unknown kwargs: {!r}r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   ~)  r=   z=DatabaseClient.download_validation_report.<locals>.<dictcomp>Nr   r>   r  r?   r-   r.   r@   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   )  rG   r   rH   r  r   ro   rT   r  r%   r3   r&   r  ;)  r   ,$

z)DatabaseClient.download_validation_reportc                    r  )a	  
        Downloads the configuration file for the specified VM cluster network. Applies to Exadata Cloud@Customer instances only.


        :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 str opc_request_id: (optional)
            Unique identifier for the request.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type stream
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/download_vm_cluster_network_config_file.py.html>`__ to see an example of how to use download_vm_cluster_network_config_file API.
        r)   r  zs/exadataInfrastructures/{exadataInfrastructureId}/vmClusterNetworks/{vmClusterNetworkId}/actions/downloadConfigFiler*   'download_vm_cluster_network_config_filezkhttps://docs.oracle.com/iaas/api/#/en/database/20160918/VmClusterNetwork/DownloadVmClusterNetworkConfigFiler,   c                    r/   r%   r%   r0   r3   r%   r&   r4   )  r5   zJDatabaseClient.download_vm_cluster_network_config_file.<locals>.<listcomp>z@download_vm_cluster_network_config_file got unknown kwargs: {!r}r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   )  r=   zJDatabaseClient.download_vm_cluster_network_config_file.<locals>.<dictcomp>Nr   r>   r  r?   r-   r.   r@   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   )  rG   r   rH   r  r   ro   rT   r  r%   r3   r&   r  )  r  z6DatabaseClient.download_vm_cluster_network_config_filec                    r@  )a  
        Enables Database Management for Autonomous Database.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/enable_autonomous_database_management.py.html>`__ to see an example of how to use enable_autonomous_database_management API.
        r   zL/autonomousDatabases/{autonomousDatabaseId}/actions/enableDatabaseManagementr*   %enable_autonomous_database_managementzmhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/EnableAutonomousDatabaseManagementr  c                    r/   r%   r%   r0   r3   r%   r&   r4   K*  r5   zHDatabaseClient.enable_autonomous_database_management.<locals>.<listcomp>z>enable_autonomous_database_management got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   T*  r=   zHDatabaseClient.enable_autonomous_database_management.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   _*  rG   r   rH   r   r   r   r7  r%   r3   r&   r  *  r  z4DatabaseClient.enable_autonomous_database_managementc                    r@  )a  
        Enables the specified Autonomous Database with Operations Insights.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/enable_autonomous_database_operations_insights.py.html>`__ to see an example of how to use enable_autonomous_database_operations_insights API.
        r   zL/autonomousDatabases/{autonomousDatabaseId}/actions/enableOperationsInsightsr*   .enable_autonomous_database_operations_insightszuhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/EnableAutonomousDatabaseOperationsInsightsr  c                    r/   r%   r%   r0   r3   r%   r&   r4   *  r5   zQDatabaseClient.enable_autonomous_database_operations_insights.<locals>.<listcomp>zGenable_autonomous_database_operations_insights got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   *  r=   zQDatabaseClient.enable_autonomous_database_operations_insights.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   *  rG   r   rH   r   r   r   r7  r%   r3   r&   r  *  r  z=DatabaseClient.enable_autonomous_database_operations_insightsc                    r   )a  
        Enables the Database Management service for an Oracle Database located in Oracle Cloud Infrastructure. This service allows the database to access tools including Metrics and Performance hub. Database Management is enabled at the container database (CDB) level.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.Database`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/enable_database_management.py.html>`__ to see an example of how to use enable_database_management API.
        r   z8/databases/{databaseId}/actions/enableDatabaseManagementr*   enable_database_managementzYhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Database/EnableDatabaseManagementrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   +  r5   z=DatabaseClient.enable_database_management.<locals>.<listcomp>z3enable_database_management got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   %+  r=   z=DatabaseClient.enable_database_management.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   2+  rG   r   rH   r   r   rJ   rT   )r"   r   Z"enable_database_management_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  *  r|   z)DatabaseClient.enable_database_managementc                    r   )ai  
        Enables Database Management Service for the external container database.
        For more information about the Database Management Service, see
        `Database Management Service`__.

        __ https://docs.cloud.oracle.com/Content/ExternalDatabase/Concepts/databasemanagementservice.htm


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/enable_external_container_database_database_management.py.html>`__ to see an example of how to use enable_external_container_database_database_management API.
        r   zZ/externalcontainerdatabases/{externalContainerDatabaseId}/actions/enableDatabaseManagementr*   6enable_external_container_database_database_managementzhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalContainerDatabase/EnableExternalContainerDatabaseDatabaseManagementrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   +  r5   zYDatabaseClient.enable_external_container_database_database_management.<locals>.<listcomp>zOenable_external_container_database_database_management got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   +  r=   zYDatabaseClient.enable_external_container_database_database_management.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   +  rG   r   rH   r   r   rT   )r"   r   Z>enable_external_container_database_database_management_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  W+  r   zEDatabaseClient.enable_external_container_database_database_managementc                    r   )ag  
        Enable Stack Monitoring for the external container database.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/enable_external_container_database_stack_monitoring.py.html>`__ to see an example of how to use enable_external_container_database_stack_monitoring API.
        r   zW/externalcontainerdatabases/{externalContainerDatabaseId}/actions/enableStackMonitoringr*   3enable_external_container_database_stack_monitoringzhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalContainerDatabase/EnableExternalContainerDatabaseStackMonitoringrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   ,  r5   zVDatabaseClient.enable_external_container_database_stack_monitoring.<locals>.<listcomp>zLenable_external_container_database_stack_monitoring got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   ,  r=   zVDatabaseClient.enable_external_container_database_stack_monitoring.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   $,  rG   r   rH   r   r   rT   )r"   r   Z;enable_external_container_database_stack_monitoring_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  +  r   zBDatabaseClient.enable_external_container_database_stack_monitoringc                    r   )a  
        Enable Database Management Service for the external non-container database.
        For more information about the Database Management Service, see
        `Database Management Service`__.

        __ https://docs.cloud.oracle.com/Content/ExternalDatabase/Concepts/databasemanagementservice.htm


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/enable_external_non_container_database_database_management.py.html>`__ to see an example of how to use enable_external_non_container_database_database_management API.
        r   z`/externalnoncontainerdatabases/{externalNonContainerDatabaseId}/actions/enableDatabaseManagementr*   :enable_external_non_container_database_database_managementzhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalNonContainerDatabase/EnableExternalNonContainerDatabaseDatabaseManagementrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   ,  r5   z]DatabaseClient.enable_external_non_container_database_database_management.<locals>.<listcomp>zSenable_external_non_container_database_database_management got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   ,  r=   z]DatabaseClient.enable_external_non_container_database_database_management.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   ,  rG   r   rH   r   r   rT   )r"   r   ZBenable_external_non_container_database_database_management_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  G,  r   zIDatabaseClient.enable_external_non_container_database_database_managementc                    r   )a  
        Enable Operations Insights for the external non-container database.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/enable_external_non_container_database_operations_insights.py.html>`__ to see an example of how to use enable_external_non_container_database_operations_insights API.
        r   z`/externalnoncontainerdatabases/{externalNonContainerDatabaseId}/actions/enableOperationsInsightsr*   :enable_external_non_container_database_operations_insightszhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalNonContainerDatabase/EnableExternalNonContainerDatabaseOperationsInsightsrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   ,  r5   z]DatabaseClient.enable_external_non_container_database_operations_insights.<locals>.<listcomp>zSenable_external_non_container_database_operations_insights got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   -  r=   z]DatabaseClient.enable_external_non_container_database_operations_insights.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   -  rG   r   rH   r   r   rT   )r"   r   ZBenable_external_non_container_database_operations_insights_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  ,  r   zIDatabaseClient.enable_external_non_container_database_operations_insightsc                    r   )a  
        Enable Stack Monitoring for the external non-container database.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/enable_external_non_container_database_stack_monitoring.py.html>`__ to see an example of how to use enable_external_non_container_database_stack_monitoring API.
        r   z]/externalnoncontainerdatabases/{externalNonContainerDatabaseId}/actions/enableStackMonitoringr*   7enable_external_non_container_database_stack_monitoringzhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalNonContainerDatabase/EnableExternalNonContainerDatabaseStackMonitoringrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   t-  r5   zZDatabaseClient.enable_external_non_container_database_stack_monitoring.<locals>.<listcomp>zPenable_external_non_container_database_stack_monitoring got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   }-  r=   zZDatabaseClient.enable_external_non_container_database_stack_monitoring.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   -  rG   r   rH   r   r   rT   )r"   r   Z?enable_external_non_container_database_stack_monitoring_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  7-  r   zFDatabaseClient.enable_external_non_container_database_stack_monitoringc                    r   )a`  
        Enable Database Management Service for the external pluggable database.
        For more information about the Database Management Service, see
        `Database Management Service`__.

        __ https://docs.cloud.oracle.com/Content/ExternalDatabase/Concepts/databasemanagementservice.htm


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/enable_external_pluggable_database_database_management.py.html>`__ to see an example of how to use enable_external_pluggable_database_database_management API.
        r   zZ/externalpluggabledatabases/{externalPluggableDatabaseId}/actions/enableDatabaseManagementr*   6enable_external_pluggable_database_database_managementzhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalPluggableDatabase/EnableExternalPluggableDatabaseDatabaseManagementrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   -  r5   zYDatabaseClient.enable_external_pluggable_database_database_management.<locals>.<listcomp>zOenable_external_pluggable_database_database_management got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   -  r=   zYDatabaseClient.enable_external_pluggable_database_database_management.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   .  rG   r   rH   r   r   rT   )r"   r   Z>enable_external_pluggable_database_database_management_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  -  r   zEDatabaseClient.enable_external_pluggable_database_database_managementc                    r   )az  
        Enable Operations Insights for the external pluggable database.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/enable_external_pluggable_database_operations_insights.py.html>`__ to see an example of how to use enable_external_pluggable_database_operations_insights API.
        r   zZ/externalpluggabledatabases/{externalPluggableDatabaseId}/actions/enableOperationsInsightsr*   6enable_external_pluggable_database_operations_insightszhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalPluggableDatabase/EnableExternalPluggableDatabaseOperationsInsightsrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   d.  r5   zYDatabaseClient.enable_external_pluggable_database_operations_insights.<locals>.<listcomp>zOenable_external_pluggable_database_operations_insights got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   m.  r=   zYDatabaseClient.enable_external_pluggable_database_operations_insights.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   z.  rG   r   rH   r   r   rT   )r"   r   Z>enable_external_pluggable_database_operations_insights_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  '.  r   zEDatabaseClient.enable_external_pluggable_database_operations_insightsc                    r   )ai  
        Enable Stack Monitoring for the external pluggable database.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/enable_external_pluggable_database_stack_monitoring.py.html>`__ to see an example of how to use enable_external_pluggable_database_stack_monitoring API.
        r   zW/externalpluggabledatabases/{externalPluggableDatabaseId}/actions/enableStackMonitoringr*   3enable_external_pluggable_database_stack_monitoringzhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalPluggableDatabase/EnableExternalPluggableDatabaseStackMonitoringrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   .  r5   zVDatabaseClient.enable_external_pluggable_database_stack_monitoring.<locals>.<listcomp>zLenable_external_pluggable_database_stack_monitoring got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   .  r=   zVDatabaseClient.enable_external_pluggable_database_stack_monitoring.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   .  rG   r   rH   r   r   rT   )r"   r   Z;enable_external_pluggable_database_stack_monitoring_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  .  r   zBDatabaseClient.enable_external_pluggable_database_stack_monitoringc                    r   )aN  
        Enables the Database Management service for an Oracle Pluggable Database located in Oracle Cloud Infrastructure. This service allows the pluggable database to access tools including Metrics and Performance hub. Database Management is enabled at the pluggable database (PDB) level.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.PluggableDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/enable_pluggable_database_management.py.html>`__ to see an example of how to use enable_pluggable_database_management API.
        r}  zS/pluggableDatabases/{pluggableDatabaseId}/actions/enablePluggableDatabaseManagementr*   $enable_pluggable_database_managementzkhttps://docs.oracle.com/iaas/api/#/en/database/20160918/PluggableDatabase/EnablePluggableDatabaseManagementrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   P/  r5   zGDatabaseClient.enable_pluggable_database_management.<locals>.<listcomp>z=enable_pluggable_database_management got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   Y/  r=   zGDatabaseClient.enable_pluggable_database_management.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   f/  rG   r   rH   r"  r   rJ   rT   )r"   r  Z,enable_pluggable_database_management_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  /  r|   z3DatabaseClient.enable_pluggable_database_managementc                      dg}d}d}d}d}g d  fddt |D }|r$td	|d|i}	d
d t |	D }	t |	D ]\}
}|du sMt|t jrTt| dkrTtd|
q7d|	dt
i}dd t |D }dd|	dt
|	dt
|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| | j| || j |j| jj|||	||d|	d|||dS | jj|||	||d|	d|||d
S )ad  
        Initiates a failover the specified Autonomous Database to a standby. To perform a failover to a standby located in a remote region, specify the `OCID`__ of the remote standby using the `peerDbId` parameter.

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


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str peer_db_id: (optional)
            The database `OCID`__ of the Autonomous Data Guard standby database located in a different (remote) region from the source primary Autonomous Database.

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

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/fail_over_autonomous_database.py.html>`__ to see an example of how to use fail_over_autonomous_database API.
        r   z</autonomousDatabases/{autonomousDatabaseId}/actions/failoverr*   fail_over_autonomous_databasezehttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/FailOverAutonomousDatabaser   r   rk   r.   r-   
peer_db_idc                    r/   r%   r%   r0   r3   r%   r&   r4   /  r5   z@DatabaseClient.fail_over_autonomous_database.<locals>.<listcomp>z6fail_over_autonomous_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   /  r=   z@DatabaseClient.fail_over_autonomous_database.<locals>.<dictcomp>Nr   r>   peerDbIdr  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   /  rG   r?   rk   r.   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   /  rG   r   rH   r   r   r,  rT   r"   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   r-  rN   r   r%   r3   r&   r  /  |   3$


z,DatabaseClient.fail_over_autonomous_databasec                    b  ddg}d}d}d}d}g d  fdd	t |D }	|	r%td
|	||d}
dd t |
D }
t |
D ]\}}|du sOt|t jrVt| dkrVtd|q9dd|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| || j |j| jj|||
|d|	d|||d
S | jj|||
|d|	d|||d	S )a
  
        Fails over the standby Autonomous Container Database identified by the autonomousContainerDatabaseId parameter to the primary Autonomous Container Database after the existing primary Autonomous Container Database fails or becomes unreachable.

        A failover can result in data loss, depending on the protection mode in effect at the time the primary Autonomous Container Database fails.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousContainerDatabaseDataguardAssociation`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/failover_autonomous_container_database_dataguard_association.py.html>`__ to see an example of how to use failover_autonomous_container_database_dataguard_association API.
        r   1autonomousContainerDatabaseDataguardAssociationIdz/autonomousContainerDatabases/{autonomousContainerDatabaseId}/autonomousContainerDatabaseDataguardAssociations/{autonomousContainerDatabaseDataguardAssociationId}/actions/failoverr*   <failover_autonomous_container_database_dataguard_associationzhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousContainerDatabaseDataguardAssociation/FailoverAutonomousContainerDatabaseDataguardAssociationrC  c                    r/   r%   r%   r0   r3   r%   r&   r4   B0  r5   z_DatabaseClient.failover_autonomous_container_database_dataguard_association.<locals>.<listcomp>zUfailover_autonomous_container_database_dataguard_association got unknown kwargs: {!r}r   r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   L0  r=   z_DatabaseClient.failover_autonomous_container_database_dataguard_association.<locals>.<dictcomp>Nr   r>   r?   rk   rD  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   W0  rG   r   rH   /AutonomousContainerDatabaseDataguardAssociationr   ro   r   r"   r   6autonomous_container_database_dataguard_association_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  0  n   )$
zKDatabaseClient.failover_autonomous_container_database_dataguard_associationc                    f  ddg}d}d}d}d}	g d  fdd	t |D }
|
r%td
|
||d}dd t |D }t |D ]\}}|du sOt|t jrVt| dkrVtd|q9dd|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| || j |j| jj|||||d|	d||	|dS | jj|||||d|	d||	|d
S )a
  
        Performs a failover to transition the standby database identified by the `databaseId` parameter into the
        specified Data Guard association's primary role after the existing primary database fails or becomes unreachable.

        A failover might result in data loss depending on the protection mode in effect at the time of the primary
        database failure.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.DataGuardAssociation`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/failover_data_guard_association.py.html>`__ to see an example of how to use failover_data_guard_association API.
        r   dataGuardAssociationIdzW/databases/{databaseId}/dataGuardAssociations/{dataGuardAssociationId}/actions/failoverr*   failover_data_guard_associationzihttps://docs.oracle.com/iaas/api/#/en/database/20160918/DataGuardAssociation/FailoverDataGuardAssociationrC  c                    r/   r%   r%   r0   r3   r%   r&   r4   0  r5   zBDatabaseClient.failover_data_guard_association.<locals>.<listcomp>z8failover_data_guard_association got unknown kwargs: {!r}r   r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   0  r=   zBDatabaseClient.failover_data_guard_association.<locals>.<dictcomp>Nr   r>   r?   rk   rD  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   0  rG   r   rH   r  r   rJ   r   )r"   r   data_guard_association_idZ'failover_data_guard_association_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  y0  sr   .$
z.DatabaseClient.failover_data_guard_associationc                    sx  dg}d}d}d}d}g d  fddt |D }	|	r$td	|	d|i}
d
d t |
D }
t |
D ]\}}|du sMt|t jrTt| dkrTtd|q7dd|	dt
|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| | j| || j |j| jj|||
||d|	d|||dS | jj|||
||d|	d|||d
S )a	  
        Creates and downloads a wallet for the specified Autonomous Database.


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

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

        :param oci.database.models.GenerateAutonomousDatabaseWalletDetails generate_autonomous_database_wallet_details: (required)
            Request to create a new Autonomous Database wallet.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type stream
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/generate_autonomous_database_wallet.py.html>`__ to see an example of how to use generate_autonomous_database_wallet API.
        r   zB/autonomousDatabases/{autonomousDatabaseId}/actions/generateWalletr*   #generate_autonomous_database_walletzkhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/GenerateAutonomousDatabaseWalletr,   c                    r/   r%   r%   r0   r3   r%   r&   r4   #1  r5   zFDatabaseClient.generate_autonomous_database_wallet.<locals>.<listcomp>z<generate_autonomous_database_wallet got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   ,1  r=   zFDatabaseClient.generate_autonomous_database_wallet.<locals>.<dictcomp>Nr   r>   r  r?   r-   r.   r@   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   81  rG   r   rH   r  r   rJ   rT   )r"   r   Z+generate_autonomous_database_wallet_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  0  rf   z2DatabaseClient.generate_autonomous_database_walletc                    r(   )a	  
        Generates a recommended Cloud@Customer VM cluster network configuration.


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

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

        :param oci.database.models.GenerateRecommendedNetworkDetails generate_recommended_network_details: (required)
            Request to generate a recommended Cloud@Customer VM cluster network configuration.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.VmClusterNetworkDetails`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/generate_recommended_vm_cluster_network.py.html>`__ to see an example of how to use generate_recommended_vm_cluster_network API.
        r)   zf/exadataInfrastructures/{exadataInfrastructureId}/vmClusterNetworks/actions/generateRecommendedNetworkr*   'generate_recommended_vm_cluster_networkzqhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExadataInfrastructure/GenerateRecommendedVmClusterNetworkr,   c                    r/   r%   r%   r0   r3   r%   r&   r4   1  r5   zJDatabaseClient.generate_recommended_vm_cluster_network.<locals>.<listcomp>z@generate_recommended_vm_cluster_network got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   1  r=   zJDatabaseClient.generate_recommended_vm_cluster_network.<locals>.<dictcomp>Nr   r>   r?   r-   r.   r@   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   1  rG   r   rH   ZVmClusterNetworkDetailsr   rJ   rT   )r"   rd   Z$generate_recommended_network_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  ]1  rf   z6DatabaseClient.generate_recommended_vm_cluster_networkc                    ^  dg}d}d}d}d}g d  fddt |D }|r$td	|d|i}	d
d t |	D }	t |	D ]\}
}|du sMt|t jrTt| dkrTtd|
q7dd|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| || j |j| jj|||	|d|	d|||d
S | jj|||	|d|	d|||d	S )a  
        Gets information about a specified application virtual IP (VIP) address.


        :param str application_vip_id: (required)
            The `OCID`__ of the application virtual IP (VIP) address.

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ApplicationVip`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_application_vip.py.html>`__ to see an example of how to use get_application_vip API.
        r/  r0  GETget_application_vipzXhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ApplicationVip/GetApplicationVipr  c                    r/   r%   r%   r0   r3   r%   r&   r4   1  r5   z6DatabaseClient.get_application_vip.<locals>.<listcomp>z,get_application_vip got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   2  r=   z6DatabaseClient.get_application_vip.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   2  rG   r   rH   r   r   ro   r   r3  r%   r3   r&   r  1  l    $
z"DatabaseClient.get_application_vipc                    >  dg}d}d}d}d}dg  fddt |D }|r#td	|d|i}	d
d t |	D }	t |	D ]\}
}|du sLt|t jrSt| dkrStd|
q6ddd}| j	j
|d| jd}|rt|tjsy| j	| || j |j| j	j|||	|d|d|||d
S | j	j|||	|d|d|||d	S )a  
        Gets information about the specified Autonomous Container Database.


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

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

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousContainerDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_autonomous_container_database.py.html>`__ to see an example of how to use get_autonomous_container_database API.
        r   =/autonomousContainerDatabases/{autonomousContainerDatabaseId}r  !get_autonomous_container_databasezrhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousContainerDatabase/GetAutonomousContainerDatabaser   c                    r/   r%   r%   r0   r3   r%   r&   r4   T2  r5   zDDatabaseClient.get_autonomous_container_database.<locals>.<listcomp>z:get_autonomous_container_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   ]2  r=   zDDatabaseClient.get_autonomous_container_database.<locals>.<dictcomp>Nr   r>   r?   rA   rB   rH   r   r   ro   r   rU   rV   rW   rX   rY   rZ   r[   r\   r    r]   r   r   r   r^   r`   ra   r   rb   rc   r"   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  02  h   $z0DatabaseClient.get_autonomous_container_databasec                    B  ddg}d}d}d}d}dg  fdd	t |D }	|	r$td
|	||d}
dd t |
D }
t |
D ]\}}|du sNt|t jrUt| dkrUtd|q8ddd}| j	j
|d| jd}|rt|tjs{| j	| || j |j| j	j|||
|d|d|||d
S | j	j|||
|d|d|||d	S )aQ  
        Gets an Autonomous Container Database enabled with Autonomous Data Guard associated with the specified Autonomous Container Database.


        :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 obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousContainerDatabaseDataguardAssociation`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_autonomous_container_database_dataguard_association.py.html>`__ to see an example of how to use get_autonomous_container_database_dataguard_association API.
        r   r  /autonomousContainerDatabases/{autonomousContainerDatabaseId}/autonomousContainerDatabaseDataguardAssociations/{autonomousContainerDatabaseDataguardAssociationId}r  7get_autonomous_container_database_dataguard_associationzhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousContainerDatabaseDataguardAssociation/GetAutonomousContainerDatabaseDataguardAssociationr   c                    r/   r%   r%   r0   r3   r%   r&   r4   2  r5   zZDatabaseClient.get_autonomous_container_database_dataguard_association.<locals>.<listcomp>zPget_autonomous_container_database_dataguard_association got unknown kwargs: {!r}r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   2  r=   zZDatabaseClient.get_autonomous_container_database_dataguard_association.<locals>.<dictcomp>Nr   r>   r?   r  rH   r  r   ro   r  r  r%   r3   r&   r  2  j   "$zFDatabaseClient.get_autonomous_container_database_dataguard_associationc                    r  )a  
        Gets the details of the specified Autonomous Database.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_autonomous_database.py.html>`__ to see an example of how to use get_autonomous_database API.
        r   r5  r  get_autonomous_databasez`https://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/GetAutonomousDatabaser  c                    r/   r%   r%   r0   r3   r%   r&   r4   3  r5   z:DatabaseClient.get_autonomous_database.<locals>.<listcomp>z0get_autonomous_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   3  r=   z:DatabaseClient.get_autonomous_database.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   &3  rG   r   rH   r   r   ro   r   r7  r%   r3   r&   r  2  r  z&DatabaseClient.get_autonomous_databasec                    r  )a  
        Gets information about the specified Autonomous Database backup.


        :param str autonomous_database_backup_id: (required)
            The `OCID`__ of the Autonomous Database backup.

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousDatabaseBackup`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_autonomous_database_backup.py.html>`__ to see an example of how to use get_autonomous_database_backup API.
        r8  r9  r  get_autonomous_database_backupzlhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabaseBackup/GetAutonomousDatabaseBackupr  c                    r/   r%   r%   r0   r3   r%   r&   r4   t3  r5   zADatabaseClient.get_autonomous_database_backup.<locals>.<listcomp>z7get_autonomous_database_backup got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   }3  r=   zADatabaseClient.get_autonomous_database_backup.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   3  rG   r   rH   r   r   ro   r   r;  r%   r3   r&   r  H3  r  z-DatabaseClient.get_autonomous_database_backupc                    r  )aE  
        Gets an Autonomous Data Guard-enabled database associated with the specified Autonomous Database.


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

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

        :param str autonomous_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 str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousDatabaseDataguardAssociation`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_autonomous_database_dataguard_association.py.html>`__ to see an example of how to use get_autonomous_database_dataguard_association API.
        r   (autonomousDatabaseDataguardAssociationIdz~/autonomousDatabases/{autonomousDatabaseId}/autonomousDatabaseDataguardAssociations/{autonomousDatabaseDataguardAssociationId}r  -get_autonomous_database_dataguard_associationzhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabaseDataguardAssociation/GetAutonomousDatabaseDataguardAssociationr  c                    r/   r%   r%   r0   r3   r%   r&   r4   3  r5   zPDatabaseClient.get_autonomous_database_dataguard_association.<locals>.<listcomp>zFget_autonomous_database_dataguard_association got unknown kwargs: {!r})r   r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   3  r=   zPDatabaseClient.get_autonomous_database_dataguard_association.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   3  rG   r   rH   Z&AutonomousDatabaseDataguardAssociationr   ro   r   )r"   r   Z,autonomous_database_dataguard_association_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  3  n   %$
z<DatabaseClient.get_autonomous_database_dataguard_associationc           
         s   g }d}d}d}d}g d  fddt |D }|r#td|d	d	|d
td}dd t |D }| jj|d| j	d}	|	rjt
|	tjsW| j| |	| j |	j| jj|||d|d|||d	S | jj|||d|d|||dS )aP  
        Gets the Autonomous Database regional wallet details.


        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousDatabaseWallet`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_autonomous_database_regional_wallet.py.html>`__ to see an example of how to use get_autonomous_database_regional_wallet API.
        /autonomousDatabases/walletr  'get_autonomous_database_regional_walletzthttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabaseWallet/GetAutonomousDatabaseRegionalWalletr  c                    r/   r%   r%   r0   r3   r%   r&   r4   94  r5   zJDatabaseClient.get_autonomous_database_regional_wallet.<locals>.<listcomp>z@get_autonomous_database_regional_wallet got unknown kwargs: {!r}r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   C4  rG   zJDatabaseClient.get_autonomous_database_regional_wallet.<locals>.<dictcomp>r   rH   AutonomousDatabaseWalletr   )rK   rL   rN   rP   r   rQ   rR   rS   r   rU   rV   rW   r   r8   rX   r    r]   r   rY   r   r^   r`   ra   r   rb   rc   )
r"   r$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   r  4  sZ   
z6DatabaseClient.get_autonomous_database_regional_walletc                    r  )a  
        Gets the wallet details for the specified Autonomous Database.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousDatabaseWallet`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_autonomous_database_wallet.py.html>`__ to see an example of how to use get_autonomous_database_wallet API.
        r   2/autonomousDatabases/{autonomousDatabaseId}/walletr  get_autonomous_database_walletzlhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabaseWallet/GetAutonomousDatabaseWalletr  c                    r/   r%   r%   r0   r3   r%   r&   r4   4  r5   zADatabaseClient.get_autonomous_database_wallet.<locals>.<listcomp>z7get_autonomous_database_wallet got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   4  r=   zADatabaseClient.get_autonomous_database_wallet.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   4  rG   r   rH   r  r   ro   r   r7  r%   r3   r&   r  c4  r  z-DatabaseClient.get_autonomous_database_walletc                    r  )a  
        **Deprecated.** Use the :func:`get_cloud_exadata_infrastructure` operation to get details of an Exadata Infrastructure resource and the :func:`get_cloud_autonomous_vm_cluster` operation to get details of an Autonomous Exadata VM cluster.


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

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

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousExadataInfrastructure`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_autonomous_exadata_infrastructure.py.html>`__ to see an example of how to use get_autonomous_exadata_infrastructure API.
        r   E/autonomousExadataInfrastructures/{autonomousExadataInfrastructureId}r  %get_autonomous_exadata_infrastructurezzhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousExadataInfrastructure/GetAutonomousExadataInfrastructurer   c                    r/   r%   r%   r0   r3   r%   r&   r4   4  r5   zHDatabaseClient.get_autonomous_exadata_infrastructure.<locals>.<listcomp>z>get_autonomous_exadata_infrastructure got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   4  r=   zHDatabaseClient.get_autonomous_exadata_infrastructure.<locals>.<dictcomp>Nr   r>   r?   r  rH   AutonomousExadataInfrastructurer   ro   r  r"   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  4  r  z4DatabaseClient.get_autonomous_exadata_infrastructurec                    r  )aw  
        Gets information about a specific autonomous patch.


        :param str autonomous_patch_id: (required)
            The autonomous patch `OCID`__.

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

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousPatch`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_autonomous_patch.py.html>`__ to see an example of how to use get_autonomous_patch API.
        ZautonomousPatchIdz&/autonomousPatches/{autonomousPatchId}r  get_autonomous_patchzZhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousPatch/GetAutonomousPatchr   c                    r/   r%   r%   r0   r3   r%   r&   r4   A5  r5   z7DatabaseClient.get_autonomous_patch.<locals>.<listcomp>z-get_autonomous_patch got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   J5  r=   z7DatabaseClient.get_autonomous_patch.<locals>.<dictcomp>Nr   r>   r?   r  rH   ZAutonomousPatchr   ro   r  )r"   Zautonomous_patch_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  5  r  z#DatabaseClient.get_autonomous_patchc                    r  )a  
        Gets the details of specific Autonomous Virtual Machine.


        :param str autonomous_virtual_machine_id: (required)
            The Autonomous Virtual machine `OCID`__.

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousVirtualMachine`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_autonomous_virtual_machine.py.html>`__ to see an example of how to use get_autonomous_virtual_machine API.
        ZautonomousVirtualMachineIdz7/autonomousVirtualMachines/{autonomousVirtualMachineId}r  get_autonomous_virtual_machinezlhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousVirtualMachine/GetAutonomousVirtualMachiner  c                    r/   r%   r%   r0   r3   r%   r&   r4   5  r5   zADatabaseClient.get_autonomous_virtual_machine.<locals>.<listcomp>z7get_autonomous_virtual_machine got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   5  r=   zADatabaseClient.get_autonomous_virtual_machine.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   5  rG   r   rH   ZAutonomousVirtualMachiner   ro   r   )r"   Zautonomous_virtual_machine_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  u5  r  z-DatabaseClient.get_autonomous_virtual_machinec                    r  )a  
        Gets information about the specified Autonomous VM cluster for an Exadata Cloud@Customer system. To get information about an Autonomous VM Cluster in the Oracle cloud, see :func:`get_cloud_autonomous_vm_cluster`.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousVmCluster`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_autonomous_vm_cluster.py.html>`__ to see an example of how to use get_autonomous_vm_cluster API.
        r   r=  r  get_autonomous_vm_clusterzbhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousVmCluster/GetAutonomousVmClusterr  c                    r/   r%   r%   r0   r3   r%   r&   r4   6  r5   z<DatabaseClient.get_autonomous_vm_cluster.<locals>.<listcomp>z2get_autonomous_vm_cluster got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   6  r=   z<DatabaseClient.get_autonomous_vm_cluster.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   6  rG   r   rH   r   r   ro   r   r?  r%   r3   r&   r  5  r  z(DatabaseClient.get_autonomous_vm_clusterc                    r  )a?  
        Gets information about the specified backup.


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

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

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.Backup`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_backup.py.html>`__ to see an example of how to use get_backup API.
        r   rA  r  
get_backupzHhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Backup/GetBackupr   c                    r/   r%   r%   r0   r3   r%   r&   r4   ]6  r5   z-DatabaseClient.get_backup.<locals>.<listcomp>z#get_backup got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   f6  r=   z-DatabaseClient.get_backup.<locals>.<dictcomp>Nr   r>   r?   r  rH   r   r   ro   r  r   r%   r3   r&   r  96  r  zDatabaseClient.get_backupc                    r  )a  
        Gets information about the specified backup destination in an Exadata Cloud@Customer system.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.BackupDestination`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_backup_destination.py.html>`__ to see an example of how to use get_backup_destination API.
        r   rF  r  get_backup_destinationz^https://docs.oracle.com/iaas/api/#/en/database/20160918/BackupDestination/GetBackupDestinationr  c                    r/   r%   r%   r0   r3   r%   r&   r4   6  r5   z9DatabaseClient.get_backup_destination.<locals>.<listcomp>z/get_backup_destination got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   6  r=   z9DatabaseClient.get_backup_destination.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   6  rG   r   rH   r   r   ro   r   rH  r%   r3   r&   r  6  r  z%DatabaseClient.get_backup_destinationc                    r  )aq  
        Gets information about the specified Autonomous Exadata VM cluster in the Oracle cloud. For Exadata Cloud@Custustomer systems, see :func:`get_autonomous_vm_cluster`.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.CloudAutonomousVmCluster`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_cloud_autonomous_vm_cluster.py.html>`__ to see an example of how to use get_cloud_autonomous_vm_cluster API.
        r   rI  r  get_cloud_autonomous_vm_clusterzlhttps://docs.oracle.com/iaas/api/#/en/database/20160918/CloudAutonomousVmCluster/GetCloudAutonomousVmClusterr  c                    r/   r%   r%   r0   r3   r%   r&   r4   7  r5   zBDatabaseClient.get_cloud_autonomous_vm_cluster.<locals>.<listcomp>z8get_cloud_autonomous_vm_cluster got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   (7  r=   zBDatabaseClient.get_cloud_autonomous_vm_cluster.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   37  rG   r   rH   r   r   ro   r   rK  r%   r3   r&   r  6  r  z.DatabaseClient.get_cloud_autonomous_vm_clusterc                    r  )a  
        Gets information about the specified cloud Exadata infrastructure resource. Applies to Exadata Cloud Service instances and Autonomous Database on dedicated Exadata infrastructure only.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.CloudExadataInfrastructure`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_cloud_exadata_infrastructure.py.html>`__ to see an example of how to use get_cloud_exadata_infrastructure API.
        rh   rM  r   get_cloud_exadata_infrastructurezphttps://docs.oracle.com/iaas/api/#/en/database/20160918/CloudExadataInfrastructure/GetCloudExadataInfrastructurer  c                    r/   r%   r%   r0   r3   r%   r&   r4   7  r5   zCDatabaseClient.get_cloud_exadata_infrastructure.<locals>.<listcomp>z9get_cloud_exadata_infrastructure got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   7  r=   zCDatabaseClient.get_cloud_exadata_infrastructure.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   7  rG   r   rH   rn   r   ro   r   rp   r%   r3   r&   r  U7  r  z/DatabaseClient.get_cloud_exadata_infrastructurec                      dg}d}d}d}d}g d  fddt |D }|r$td	|d|i}	d
d t |	D }	t |	D ]\}
}|du sMt|t jrTt| dkrTtd|
q7d| j	
|dtdi}dd t |D }dd|dtd}dd t |D }| j	j|d| jd}|rt|tjs| j	| || j |j| j	j|||	||d|d|||dS | j	j|||	||d|d|||d
S )a0  
        Gets unallocated resources information for the specified Cloud Exadata infrastructure.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param list[str] db_servers: (optional)
            The list of `OCIDs`__ of the Db servers.

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

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.CloudExadataInfrastructureUnallocatedResources`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_cloud_exadata_infrastructure_unallocated_resources.py.html>`__ to see an example of how to use get_cloud_exadata_infrastructure_unallocated_resources API.
        rh   zP/cloudExadataInfrastructures/{cloudExadataInfrastructureId}/unAllocatedResourcesr  6get_cloud_exadata_infrastructure_unallocated_resourceszhttps://docs.oracle.com/iaas/api/#/en/database/20160918/CloudExadataInfrastructureUnallocatedResources/GetCloudExadataInfrastructureUnallocatedResourcesr   r   r-   
db_serversc                    r/   r%   r%   r0   r3   r%   r&   r4   7  r5   zYDatabaseClient.get_cloud_exadata_infrastructure_unallocated_resources.<locals>.<listcomp>zOget_cloud_exadata_infrastructure_unallocated_resources got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   7  r=   zYDatabaseClient.get_cloud_exadata_infrastructure_unallocated_resources.<locals>.<dictcomp>Nr   r>   	dbServersr  multic                 S   rE   rF   r7   r9   r%   r%   r&   r<   7  rG   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   8  rG   r   rH   Z.CloudExadataInfrastructureUnallocatedResourcesr   r,  r   rU   rV   rW   rX   rY   rZ   r[   r\   r     generate_collection_format_paramr   r8   r]   r   r   r^   r`   ra   r   rb   rc   rQ  r%   r3   r&   r  7  v   %$
zEDatabaseClient.get_cloud_exadata_infrastructure_unallocated_resourcesc                    r  )aD  
        Gets information about the specified cloud VM cluster. Applies to Exadata Cloud Service instances and Autonomous Database on dedicated Exadata infrastructure only.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.CloudVmCluster`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_cloud_vm_cluster.py.html>`__ to see an example of how to use get_cloud_vm_cluster API.
        rv   rR  r  get_cloud_vm_clusterzXhttps://docs.oracle.com/iaas/api/#/en/database/20160918/CloudVmCluster/GetCloudVmClusterr  c                    r/   r%   r%   r0   r3   r%   r&   r4   R8  r5   z7DatabaseClient.get_cloud_vm_cluster.<locals>.<listcomp>z-get_cloud_vm_cluster got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   [8  r=   z7DatabaseClient.get_cloud_vm_cluster.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   f8  rG   r   rH   rz   r   ro   r   rT  r%   r3   r&   r  &8  r  z#DatabaseClient.get_cloud_vm_clusterc                    r  )a  
        Gets the IORM configuration for the specified cloud VM cluster in an Exadata Cloud Service instance.
        If you have not specified an IORM configuration, the default configuration is returned.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExadataIormConfig`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_cloud_vm_cluster_iorm_config.py.html>`__ to see an example of how to use get_cloud_vm_cluster_iorm_config API.
        rv   </cloudVmClusters/{cloudVmClusterId}/CloudVmClusterIormConfigr   get_cloud_vm_cluster_iorm_configzbhttps://docs.oracle.com/iaas/api/#/en/database/20160918/CloudVmCluster/GetCloudVmClusterIormConfigr  c                    r/   r%   r%   r0   r3   r%   r&   r4   8  r5   zCDatabaseClient.get_cloud_vm_cluster_iorm_config.<locals>.<listcomp>z9get_cloud_vm_cluster_iorm_config got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   8  r=   zCDatabaseClient.get_cloud_vm_cluster_iorm_config.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   8  rG   r   rH   ExadataIormConfigr   ro   r   rT  r%   r3   r&   r  8  l   !$
z/DatabaseClient.get_cloud_vm_cluster_iorm_configc                    r  )a  
        Gets information about a specified maintenance update package for a cloud VM cluster. Applies to Exadata Cloud Service instances only.


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

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

        :param str update_id: (required)
            The `OCID`__ of the maintenance update.

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.Update`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_cloud_vm_cluster_update.py.html>`__ to see an example of how to use get_cloud_vm_cluster_update API.
        rv   updateIdz6/cloudVmClusters/{cloudVmClusterId}/updates/{updateId}r  get_cloud_vm_cluster_updatezVhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Update/GetCloudVmClusterUpdater  c                    r/   r%   r%   r0   r3   r%   r&   r4   9  r5   z>DatabaseClient.get_cloud_vm_cluster_update.<locals>.<listcomp>z4get_cloud_vm_cluster_update got unknown kwargs: {!r})rv   r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   &9  r=   z>DatabaseClient.get_cloud_vm_cluster_update.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   19  rG   r   rH   ZUpdater   ro   r   )r"   r{   	update_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  8  r  z*DatabaseClient.get_cloud_vm_cluster_updatec                    r  )a$  
        Gets the maintenance update history details for the specified update history entry. Applies to Exadata Cloud Service instances only.


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

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

        :param str update_history_entry_id: (required)
            The `OCID`__ of the maintenance update history entry.

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.UpdateHistoryEntry`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_cloud_vm_cluster_update_history_entry.py.html>`__ to see an example of how to use get_cloud_vm_cluster_update_history_entry API.
        rv   updateHistoryEntryIdzO/cloudVmClusters/{cloudVmClusterId}/updateHistoryEntries/{updateHistoryEntryId}r  )get_cloud_vm_cluster_update_history_entryznhttps://docs.oracle.com/iaas/api/#/en/database/20160918/UpdateHistoryEntry/GetCloudVmClusterUpdateHistoryEntryr  c                    r/   r%   r%   r0   r3   r%   r&   r4   9  r5   zLDatabaseClient.get_cloud_vm_cluster_update_history_entry.<locals>.<listcomp>zBget_cloud_vm_cluster_update_history_entry got unknown kwargs: {!r})rv   r   c                 S   r6   r%   r7   r9   r%   r%   r&   r<   9  r=   zLDatabaseClient.get_cloud_vm_cluster_update_history_entry.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   9  rG   r   rH   ZUpdateHistoryEntryr   ro   r   )r"   r{   update_history_entry_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  S9  r  z8DatabaseClient.get_cloud_vm_cluster_update_history_entryc                    r  )a  
        Gets the specified database node console connection's information.


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

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

        :param str console_connection_id: (required)
            The OCID of the console connection.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ConsoleConnection`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_console_connection.py.html>`__ to see an example of how to use get_console_connection API.
        r   rU  rV  r  get_console_connectionz^https://docs.oracle.com/iaas/api/#/en/database/20160918/ConsoleConnection/GetConsoleConnectionr   c                    r/   r%   r%   r0   r3   r%   r&   r4   9  r5   z9DatabaseClient.get_console_connection.<locals>.<listcomp>z/get_console_connection got unknown kwargs: {!r}rX  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   9  r=   z9DatabaseClient.get_console_connection.<locals>.<dictcomp>Nr   r>   r?   r  rH   r   r   ro   r  rY  r%   r3   r&   r  9  sj    $z%DatabaseClient.get_console_connectionc                    r  )aO  
        Gets the specified Data Guard association's configuration information.


        :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 obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.DataGuardAssociation`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_data_guard_association.py.html>`__ to see an example of how to use get_data_guard_association API.
        r   r  F/databases/{databaseId}/dataGuardAssociations/{dataGuardAssociationId}r  get_data_guard_associationzdhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DataGuardAssociation/GetDataGuardAssociationr   c                    r/   r%   r%   r0   r3   r%   r&   r4   @:  r5   z=DatabaseClient.get_data_guard_association.<locals>.<listcomp>z3get_data_guard_association got unknown kwargs: {!r}r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   J:  r=   z=DatabaseClient.get_data_guard_association.<locals>.<dictcomp>Nr   r>   r?   r  rH   r  r   ro   r  )r"   r   r  r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  :  r  z)DatabaseClient.get_data_guard_associationc                    r  )aK  
        Gets information about the specified database.


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

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

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.Database`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_database.py.html>`__ to see an example of how to use get_database API.
        r   r[  r  get_databasezLhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Database/GetDatabaser   c                    r/   r%   r%   r0   r3   r%   r&   r4   :  r5   z/DatabaseClient.get_database.<locals>.<listcomp>z%get_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   :  r=   z/DatabaseClient.get_database.<locals>.<dictcomp>Nr   r>   r?   r  rH   r   r   ro   r  r  r%   r3   r&   r  u:  r  zDatabaseClient.get_databasec                    r  )a  
        Gets information about the specified database software image.


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

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

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.DatabaseSoftwareImage`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_database_software_image.py.html>`__ to see an example of how to use get_database_software_image API.
        r   r`  r  get_database_software_imagezfhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DatabaseSoftwareImage/GetDatabaseSoftwareImager   c                    r/   r%   r%   r0   r3   r%   r&   r4   :  r5   z>DatabaseClient.get_database_software_image.<locals>.<listcomp>z4get_database_software_image got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   :  r=   z>DatabaseClient.get_database_software_image.<locals>.<dictcomp>Nr   r>   r?   r  rH   r  r   ro   r  rb  r%   r3   r&   r  :  r  z*DatabaseClient.get_database_software_imagec                    r  )a  
        gets the upgrade history for a specified database.


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

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

        :param str upgrade_history_entry_id: (required)
            The database/db system upgrade History `OCID`__.

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.DatabaseUpgradeHistoryEntry`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_database_upgrade_history_entry.py.html>`__ to see an example of how to use get_database_upgrade_history_entry API.
        r   upgradeHistoryEntryIdzE/databases/{databaseId}/upgradeHistoryEntries/{upgradeHistoryEntryId}r  "get_database_upgrade_history_entryzrhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DatabaseUpgradeHistoryEntry/GetDatabaseUpgradeHistoryEntryr  c                    r/   r%   r%   r0   r3   r%   r&   r4   V;  r5   zEDatabaseClient.get_database_upgrade_history_entry.<locals>.<listcomp>z;get_database_upgrade_history_entry got unknown kwargs: {!r})r   r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   `;  r=   zEDatabaseClient.get_database_upgrade_history_entry.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   k;  rG   r   rH   ZDatabaseUpgradeHistoryEntryr   ro   r   )r"   r   upgrade_history_entry_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r	  %;  r  z1DatabaseClient.get_database_upgrade_history_entryc                    r  )aP  
        Gets information about the specified Database Home.


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

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

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.DbHome`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_db_home.py.html>`__ to see an example of how to use get_db_home API.
        rc  rd  r  get_db_homezHhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DbHome/GetDbHomer   c                    r/   r%   r%   r0   r3   r%   r&   r4   ;  r5   z.DatabaseClient.get_db_home.<locals>.<listcomp>z$get_db_home got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   ;  r=   z.DatabaseClient.get_db_home.<locals>.<dictcomp>Nr   r>   r?   r  rH   r	  r   ro   r  )r"   rg  r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  ;  r  zDatabaseClient.get_db_homec                    r  )a   
        Gets information about a specified patch package.


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

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

        :param str patch_id: (required)
            The `OCID`__ of the patch.

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

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.Patch`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_db_home_patch.py.html>`__ to see an example of how to use get_db_home_patch API.
        rc  patchIdz%/dbHomes/{dbHomeId}/patches/{patchId}r  get_db_home_patchzLhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Patch/GetDbHomePatchr   c                    r/   r%   r%   r0   r3   r%   r&   r4   <  r5   z4DatabaseClient.get_db_home_patch.<locals>.<listcomp>z*get_db_home_patch got unknown kwargs: {!r})rc  r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   <  r=   z4DatabaseClient.get_db_home_patch.<locals>.<dictcomp>Nr   r>   r?   r  rH   Patchr   ro   r  )r"   rg  patch_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  ;  r  z DatabaseClient.get_db_home_patchc                    r  )aW  
        Gets the patch history details for the specified patchHistoryEntryId


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

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

        :param str patch_history_entry_id: (required)
            The `OCID`__ of the patch history entry.

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

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.PatchHistoryEntry`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_db_home_patch_history_entry.py.html>`__ to see an example of how to use get_db_home_patch_history_entry API.
        rc  patchHistoryEntryIdz=/dbHomes/{dbHomeId}/patchHistoryEntries/{patchHistoryEntryId}r  get_db_home_patch_history_entryzdhttps://docs.oracle.com/iaas/api/#/en/database/20160918/PatchHistoryEntry/GetDbHomePatchHistoryEntryr   c                    r/   r%   r%   r0   r3   r%   r&   r4   l<  r5   zBDatabaseClient.get_db_home_patch_history_entry.<locals>.<listcomp>z8get_db_home_patch_history_entry got unknown kwargs: {!r})rc  r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   v<  r=   zBDatabaseClient.get_db_home_patch_history_entry.<locals>.<dictcomp>Nr   r>   r?   r  rH   PatchHistoryEntryr   ro   r  )r"   rg  patch_history_entry_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  C<  r  z.DatabaseClient.get_db_home_patch_history_entryc                    r  )aP  
        Gets information about the specified database node.


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

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

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.DbNode`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_db_node.py.html>`__ to see an example of how to use get_db_node API.
        r   r)  r  get_db_nodezHhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DbNode/GetDbNoder   c                    r/   r%   r%   r0   r3   r%   r&   r4   <  r5   z.DatabaseClient.get_db_node.<locals>.<listcomp>z$get_db_node got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   <  r=   z.DatabaseClient.get_db_node.<locals>.<dictcomp>Nr   r>   r?   r  rH   r+  r   ro   r  r"   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  <  r  zDatabaseClient.get_db_nodec                    s  ddg}d}d}d}d}g d  fdd	t |D }	|	r%td
|	d|i}
dd t |
D }
t |
D ]\}}|du sNt|t jrUt| dkrUtd|q8d|i}dd t |D }dd|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| || j |j| jj|||
||d|	d|||dS | jj|||
||d|	d|||d
S )at  
        Gets information about the Exadata Db server.


        :param str exadata_infrastructure_id: (required)
            The `OCID`__ of the ExadataInfrastructure.

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

        :param str db_server_id: (required)
            The DB server `OCID`__.

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.DbServer`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_db_server.py.html>`__ to see an example of how to use get_db_server API.
        
dbServerIdr)   z/dbServers/{dbServerId}r  get_db_serverzLhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DbServer/GetDbServerr  c                    r/   r%   r%   r0   r3   r%   r&   r4   *=  r5   z0DatabaseClient.get_db_server.<locals>.<listcomp>z&get_db_server got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   3=  r=   z0DatabaseClient.get_db_server.<locals>.<dictcomp>Nr   r>   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   <=  rG   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   C=  rG   r   rH   ZDbServerr   r,  r   )r"   rd   db_server_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   r-  rN   r   r%   r3   r&   r  <  sv   %$
zDatabaseClient.get_db_serverc                    r  )a  
        Gets information about the specified 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 str db_system_id: (required)
            The DB system `OCID`__.

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

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.DbSystem`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_db_system.py.html>`__ to see an example of how to use get_db_system API.
        r   /dbSystems/{dbSystemId}r  get_db_systemzLhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DbSystem/GetDbSystemr   c                    r/   r%   r%   r0   r3   r%   r&   r4   =  r5   z0DatabaseClient.get_db_system.<locals>.<listcomp>z&get_db_system got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   =  r=   z0DatabaseClient.get_db_system.<locals>.<dictcomp>Nr   r>   r?   r  rH   DbSystemr   ro   r  r"   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  g=  sh   $$zDatabaseClient.get_db_systemc                    r  )a  
        Gets information the specified patch.


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

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

        :param str patch_id: (required)
            The `OCID`__ of the patch.

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

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.Patch`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_db_system_patch.py.html>`__ to see an example of how to use get_db_system_patch API.
        r   r  z)/dbSystems/{dbSystemId}/patches/{patchId}r  get_db_system_patchzNhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Patch/GetDbSystemPatchr   c                    r/   r%   r%   r0   r3   r%   r&   r4   =  r5   z6DatabaseClient.get_db_system_patch.<locals>.<listcomp>z,get_db_system_patch got unknown kwargs: {!r})r   r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   =  r=   z6DatabaseClient.get_db_system_patch.<locals>.<dictcomp>Nr   r>   r?   r  rH   r  r   ro   r  )r"   r   r  r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  =  r  z"DatabaseClient.get_db_system_patchc                    r  )ab  
        Gets the details of the specified patch operation on the specified DB system.


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

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

        :param str patch_history_entry_id: (required)
            The `OCID`__ of the patch history entry.

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

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.PatchHistoryEntry`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_db_system_patch_history_entry.py.html>`__ to see an example of how to use get_db_system_patch_history_entry API.
        r   r  zA/dbSystems/{dbSystemId}/patchHistoryEntries/{patchHistoryEntryId}r  !get_db_system_patch_history_entryzfhttps://docs.oracle.com/iaas/api/#/en/database/20160918/PatchHistoryEntry/GetDbSystemPatchHistoryEntryr   c                    r/   r%   r%   r0   r3   r%   r&   r4   M>  r5   zDDatabaseClient.get_db_system_patch_history_entry.<locals>.<listcomp>z:get_db_system_patch_history_entry got unknown kwargs: {!r})r   r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   W>  r=   zDDatabaseClient.get_db_system_patch_history_entry.<locals>.<dictcomp>Nr   r>   r?   r  rH   r  r   ro   r  )r"   r   r  r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  $>  r  z0DatabaseClient.get_db_system_patch_history_entryc                    r  )a  
        Gets the details of the specified operating system upgrade operation for the specified DB system.


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

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

        :param str upgrade_history_entry_id: (required)
            The database/db system upgrade History `OCID`__.

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.DbSystemUpgradeHistoryEntry`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_db_system_upgrade_history_entry.py.html>`__ to see an example of how to use get_db_system_upgrade_history_entry API.
        r   r  zE/dbSystems/{dbSystemId}/upgradeHistoryEntries/{upgradeHistoryEntryId}r  #get_db_system_upgrade_history_entryzrhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DbSystemUpgradeHistoryEntry/GetDbSystemUpgradeHistoryEntryr  c                    r/   r%   r%   r0   r3   r%   r&   r4   >  r5   zFDatabaseClient.get_db_system_upgrade_history_entry.<locals>.<listcomp>z<get_db_system_upgrade_history_entry got unknown kwargs: {!r})r   r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   >  r=   zFDatabaseClient.get_db_system_upgrade_history_entry.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   >  rG   r   rH   ZDbSystemUpgradeHistoryEntryr   ro   r   )r"   r   r
  r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  >  r  z2DatabaseClient.get_db_system_upgrade_history_entryc                    s  dg}d}d}d}d}g d  fddt |D }|r$td	|d|i}	d
d t |	D }	t |	D ]\}
}|du sMt|t jrTt| dkrTtd|
q7d|v rndg}|d D ]}||vrmtd|q`d| j	
|dtdi}dd t |D }dd|dtd}dd t |D }| j	j|d| jd}|rt|tjs| j	| || j |j| j	j|||	||d|d|||dS | j	j|||	||d|d|||d
S )a  
        Gets information about the specified Exadata infrastructure. Applies to Exadata Cloud@Customer instances only.
        To get information on an Exadata Cloud Service infrastructure resource, use the  :func:`get_cloud_exadata_infrastructure` operation.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param list[str] excluded_fields: (optional)
            If provided, the specified fields will be excluded in the response.

            Allowed values are: "multiRackConfigurationFile"

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExadataInfrastructure`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_exadata_infrastructure.py.html>`__ to see an example of how to use get_exadata_infrastructure API.
        r)   rh  r  get_exadata_infrastructurezfhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExadataInfrastructure/GetExadataInfrastructure)r   r   r-   excluded_fieldsc                    r/   r%   r%   r0   r3   r%   r&   r4   ?  r5   z=DatabaseClient.get_exadata_infrastructure.<locals>.<listcomp>z3get_exadata_infrastructure got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   &?  r=   z=DatabaseClient.get_exadata_infrastructure.<locals>.<dictcomp>Nr   r>   r!  multiRackConfigurationFile7Invalid value for `excluded_fields`, must be one of {0}excludedFieldsr  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   7?  rG   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   >?  rG   r   rH   rI   r   r,  r  )r"   rd   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   excluded_fields_allowed_valuesexcluded_fields_itemr-  rN   r   r%   r3   r&   r   >  s   &$
z)DatabaseClient.get_exadata_infrastructurec                    r  )aA  
        Gets details of the available and consumed OCPUs for the specified Autonomous Exadata Infrastructure resource.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.OCPUs`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_exadata_infrastructure_ocpus.py.html>`__ to see an example of how to use get_exadata_infrastructure_ocpus API.
        r   zK/autonomousExadataInfrastructures/{autonomousExadataInfrastructureId}/ocpusr   get_exadata_infrastructure_ocpusz[https://docs.oracle.com/iaas/api/#/en/database/20160918/OCPUs/GetExadataInfrastructureOcpusr  c                    r/   r%   r%   r0   r3   r%   r&   r4   ?  r5   zCDatabaseClient.get_exadata_infrastructure_ocpus.<locals>.<listcomp>z9get_exadata_infrastructure_ocpus got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   ?  r=   zCDatabaseClient.get_exadata_infrastructure_ocpus.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   ?  rG   r   rH   ZOCPUsr   ro   r   r  r%   r3   r&   r'  b?  r  z/DatabaseClient.get_exadata_infrastructure_ocpusc                    r  )aB  
        Gets un allocated resources information for the specified Exadata infrastructure. Applies to Exadata Cloud@Customer instances only.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param list[str] db_servers: (optional)
            The list of `OCIDs`__ of the Db servers.

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

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExadataInfrastructureUnAllocatedResources`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_exadata_infrastructure_un_allocated_resources.py.html>`__ to see an example of how to use get_exadata_infrastructure_un_allocated_resources API.
        r)   zF/exadataInfrastructures/{exadataInfrastructureId}/unAllocatedResourcesr  1get_exadata_infrastructure_un_allocated_resourceszhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExadataInfrastructureUnAllocatedResources/GetExadataInfrastructureUnAllocatedResourcesr  c                    r/   r%   r%   r0   r3   r%   r&   r4   ?  r5   zTDatabaseClient.get_exadata_infrastructure_un_allocated_resources.<locals>.<listcomp>zJget_exadata_infrastructure_un_allocated_resources got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   ?  r=   zTDatabaseClient.get_exadata_infrastructure_un_allocated_resources.<locals>.<dictcomp>Nr   r>   r  r  r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   @  rG   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   @  rG   r   rH   Z)ExadataInfrastructureUnAllocatedResourcesr   r,  r  )r"   rd   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   r-  rN   r   r%   r3   r&   r(  ?  r  z@DatabaseClient.get_exadata_infrastructure_un_allocated_resourcesc                    r  )a
  
        Gets the IORM configuration settings for the specified cloud Exadata DB system.
        All Exadata service instances have default IORM settings.

        **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.

        The :func:`get_cloud_vm_cluster_iorm_config` API is used for this operation with Exadata systems using 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 str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExadataIormConfig`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_exadata_iorm_config.py.html>`__ to see an example of how to use get_exadata_iorm_config API.
        r   )/dbSystems/{dbSystemId}/ExadataIormConfigr  get_exadata_iorm_configzUhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DbSystem/GetExadataIormConfigr  c                    r/   r%   r%   r0   r3   r%   r&   r4   j@  r5   z:DatabaseClient.get_exadata_iorm_config.<locals>.<listcomp>z0get_exadata_iorm_config got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   s@  r=   z:DatabaseClient.get_exadata_iorm_config.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   ~@  rG   r   rH   r  r   ro   r   r  r%   r3   r&   r*  3@  sl   +$
z&DatabaseClient.get_exadata_iorm_configc                    r  )a!  
        Gets information about the specified external backup job.

        **Note:** This API is used by an Oracle Cloud Infrastructure Python script that is packaged with the Oracle Cloud Infrastructure CLI. Oracle recommends that you use the script instead using the API directly. See `Migrating an On-Premises Database to Oracle Cloud Infrastructure by Creating a Backup in the Cloud`__ for more information.

        __ https://docs.cloud.oracle.com/Content/Database/Tasks/mig-onprembackup.htm


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

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

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExternalBackupJob`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_external_backup_job.py.html>`__ to see an example of how to use get_external_backup_job API.
        r   z/externalBackupJobs/{backupId}r  get_external_backup_jobz^https://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalBackupJob/GetExternalBackupJobr   c                    r/   r%   r%   r0   r3   r%   r&   r4   @  r5   z:DatabaseClient.get_external_backup_job.<locals>.<listcomp>z0get_external_backup_job got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   @  r=   z:DatabaseClient.get_external_backup_job.<locals>.<dictcomp>Nr   r>   r?   r  rH   r   r   ro   r  r   r%   r3   r&   r+  @  sh   !$z&DatabaseClient.get_external_backup_jobc                    r  )a  
        Gets information about the specified external container database.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExternalContainerDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_external_container_database.py.html>`__ to see an example of how to use get_external_container_database API.
        r   rj  r  get_external_container_databaseznhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalContainerDatabase/GetExternalContainerDatabaser  c                    r/   r%   r%   r0   r3   r%   r&   r4   (A  r5   zBDatabaseClient.get_external_container_database.<locals>.<listcomp>z8get_external_container_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   1A  r=   zBDatabaseClient.get_external_container_database.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   <A  rG   r   rH   r  r   ro   r   rn  r%   r3   r&   r,  @  r  z.DatabaseClient.get_external_container_databasec                    r  )aU  
        Gets information about the specified external database connector.


        :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 str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExternalDatabaseConnector`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_external_database_connector.py.html>`__ to see an example of how to use get_external_database_connector API.
        r   ro  r  get_external_database_connectorznhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalDatabaseConnector/GetExternalDatabaseConnectorr  c                    r/   r%   r%   r0   r3   r%   r&   r4   A  r5   zBDatabaseClient.get_external_database_connector.<locals>.<listcomp>z8get_external_database_connector got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   A  r=   zBDatabaseClient.get_external_database_connector.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   A  rG   r   rH   r  r   ro   r   r   r%   r3   r&   r-  ^A  r  z.DatabaseClient.get_external_database_connectorc                    r  )a-  
        Gets information about a specific external non-container database.


        :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 str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExternalNonContainerDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_external_non_container_database.py.html>`__ to see an example of how to use get_external_non_container_database API.
        r   rq  r  #get_external_non_container_databasezthttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalNonContainerDatabase/GetExternalNonContainerDatabaser  c                    r/   r%   r%   r0   r3   r%   r&   r4   A  r5   zFDatabaseClient.get_external_non_container_database.<locals>.<listcomp>z<get_external_non_container_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   A  r=   zFDatabaseClient.get_external_non_container_database.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   B  rG   r   rH   r  r   ro   r   rs  r%   r3   r&   r.  A  r  z2DatabaseClient.get_external_non_container_databasec                    r  )a>  
        Gets information about a specific
        :func:`create_external_pluggable_database_details` resource.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExternalPluggableDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_external_pluggable_database.py.html>`__ to see an example of how to use get_external_pluggable_database API.
        r   rt  r  get_external_pluggable_databaseznhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalPluggableDatabase/GetExternalPluggableDatabaser  c                    r/   r%   r%   r0   r3   r%   r&   r4   PB  r5   zBDatabaseClient.get_external_pluggable_database.<locals>.<listcomp>z8get_external_pluggable_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   YB  r=   zBDatabaseClient.get_external_pluggable_database.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   dB  rG   r   rH   r  r   ro   r   rv  r%   r3   r&   r/  #B  r  z.DatabaseClient.get_external_pluggable_databasec                    sV  dg}d}d}d}d}g d  fddt |D }|r$td	|d
|v r9g d}	|d
 |	vr9td|	||dt|d
td}
dd t |
D }
dd|dtd}dd t |D }| jj|d| j	d}|rt
|tjs| j| || j |j| jj|||
|d|d|||d
S | jj|||
|d|d|||d	S )ag	  
        Gets details of the Exadata Infrastructure target system software versions that can be applied to the specified infrastructure resource for maintenance updates.
        Applies to Exadata Cloud@Customer and Exadata Cloud instances only.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param str target_resource_id: (optional)
            The target resource ID.

        :param str target_resource_type: (optional)
            The type of the target resource.

            Allowed values are: "AUTONOMOUS_EXADATA_INFRASTRUCTURE", "AUTONOMOUS_CONTAINER_DATABASE", "EXADATA_DB_SYSTEM", "CLOUD_EXADATA_INFRASTRUCTURE", "EXACC_INFRASTRUCTURE", "AUTONOMOUS_VM_CLUSTER", "AUTONOMOUS_DATABASE", "CLOUD_AUTONOMOUS_VM_CLUSTER"

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.InfrastructureTargetVersion`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_infrastructure_target_versions.py.html>`__ to see an example of how to use get_infrastructure_target_versions API.
        compartmentIdz/infrastructureTargetVersionsr  "get_infrastructure_target_versionszshttps://docs.oracle.com/iaas/api/#/en/database/20160918/InfrastructureTargetVersion/GetInfrastructureTargetVersions)r   r   target_resource_idtarget_resource_typer-   c                    r/   r%   r%   r0   r3   r%   r&   r4   B  r5   zEDatabaseClient.get_infrastructure_target_versions.<locals>.<listcomp>z;get_infrastructure_target_versions got unknown kwargs: {!r}r3  Z!AUTONOMOUS_EXADATA_INFRASTRUCTUREZAUTONOMOUS_CONTAINER_DATABASEZEXADATA_DB_SYSTEMZCLOUD_EXADATA_INFRASTRUCTUREZEXACC_INFRASTRUCTUREZAUTONOMOUS_VM_CLUSTERZAUTONOMOUS_DATABASEZCLOUD_AUTONOMOUS_VM_CLUSTER<Invalid value for `target_resource_type`, must be one of {0}r2  )r0  targetResourceIdtargetResourceTypec                 S   rE   rF   r7   r9   r%   r%   r&   r<   B  rG   zEDatabaseClient.get_infrastructure_target_versions.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   B  rG   r   rH   ZInfrastructureTargetVersionr   	rK   rL   r-  rN   rP   r   rQ   rR   rS   r  )r"   compartment_idr$   rS   rK   rL   rQ   rR   re   #target_resource_type_allowed_valuesr-  rN   r   r%   r3   r&   r1  B  st   )


z1DatabaseClient.get_infrastructure_target_versionsc                    r  )a  
        Gets information about the specified key store.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.KeyStore`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_key_store.py.html>`__ to see an example of how to use get_key_store API.
        r   rw  r  get_key_storezLhttps://docs.oracle.com/iaas/api/#/en/database/20160918/KeyStore/GetKeyStorer  c                    r/   r%   r%   r0   r3   r%   r&   r4   #C  r5   z0DatabaseClient.get_key_store.<locals>.<listcomp>z&get_key_store got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   ,C  r=   z0DatabaseClient.get_key_store.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   7C  rG   r   rH   r  r   ro   r   ry  r%   r3   r&   r;  B  r  zDatabaseClient.get_key_storec                    r  )a  
        Gets information about the specified maintenance run.


        :param str maintenance_run_id: (required)
            The maintenance run OCID.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.MaintenanceRun`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_maintenance_run.py.html>`__ to see an example of how to use get_maintenance_run API.
        maintenanceRunId#/maintenanceRuns/{maintenanceRunId}r  get_maintenance_runzXhttps://docs.oracle.com/iaas/api/#/en/database/20160918/MaintenanceRun/GetMaintenanceRunr   c                    r/   r%   r%   r0   r3   r%   r&   r4   {C  r5   z6DatabaseClient.get_maintenance_run.<locals>.<listcomp>z,get_maintenance_run got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   C  r=   z6DatabaseClient.get_maintenance_run.<locals>.<dictcomp>Nr   r>   r?   r  rH   MaintenanceRunr   ro   r  )r"   maintenance_run_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r>  YC  h   $z"DatabaseClient.get_maintenance_runc                    r  )aH  
        Gets information about the specified maintenance run history.


        :param str maintenance_run_history_id: (required)
            The maintenance run history OCID.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.MaintenanceRunHistory`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_maintenance_run_history.py.html>`__ to see an example of how to use get_maintenance_run_history API.
        ZmaintenanceRunHistoryIdz0/maintenanceRunHistory/{maintenanceRunHistoryId}r  get_maintenance_run_historyzfhttps://docs.oracle.com/iaas/api/#/en/database/20160918/MaintenanceRunHistory/GetMaintenanceRunHistoryr   c                    r/   r%   r%   r0   r3   r%   r&   r4   C  r5   z>DatabaseClient.get_maintenance_run_history.<locals>.<listcomp>z4get_maintenance_run_history got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   C  r=   z>DatabaseClient.get_maintenance_run_history.<locals>.<dictcomp>Nr   r>   r?   r  rH   ZMaintenanceRunHistoryr   ro   r  )r"   Zmaintenance_run_history_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rB  C  rA  z*DatabaseClient.get_maintenance_run_historyc                    r  )a  
        Gets information about the specified one-off patch.


        :param str oneoff_patch_id: (required)
            The one-off patch `OCID`__.

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.OneoffPatch`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_oneoff_patch.py.html>`__ to see an example of how to use get_oneoff_patch API.
        r   rz  r  get_oneoff_patchzRhttps://docs.oracle.com/iaas/api/#/en/database/20160918/OneoffPatch/GetOneoffPatchr  c                    r/   r%   r%   r0   r3   r%   r&   r4   1D  r5   z3DatabaseClient.get_oneoff_patch.<locals>.<listcomp>z)get_oneoff_patch got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   :D  r=   z3DatabaseClient.get_oneoff_patch.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   ED  rG   r   rH   r  r   ro   r   r|  r%   r3   r&   rC  D  r  zDatabaseClient.get_oneoff_patchc                    r  )a  
        Gets the details of operations performed to convert the specified database from non-container (non-CDB) to pluggable (PDB).


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

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

        :param str pdb_conversion_history_entry_id: (required)
            The database conversion history `OCID`__.

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.PdbConversionHistoryEntry`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_pdb_conversion_history_entry.py.html>`__ to see an example of how to use get_pdb_conversion_history_entry API.
        r   pdbConversionHistoryEntryIdzQ/databases/{databaseId}/pdbConversionHistoryEntries/{pdbConversionHistoryEntryId}r   get_pdb_conversion_history_entryznhttps://docs.oracle.com/iaas/api/#/en/database/20160918/PdbConversionHistoryEntry/GetPdbConversionHistoryEntryr  c                    r/   r%   r%   r0   r3   r%   r&   r4   D  r5   zCDatabaseClient.get_pdb_conversion_history_entry.<locals>.<listcomp>z9get_pdb_conversion_history_entry got unknown kwargs: {!r})r   rD  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   D  r=   zCDatabaseClient.get_pdb_conversion_history_entry.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   D  rG   r   rH   ZPdbConversionHistoryEntryr   ro   r   )r"   r   Zpdb_conversion_history_entry_idr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rE  gD  r  z/DatabaseClient.get_pdb_conversion_history_entryc                    r  )a|  
        Gets information about the specified pluggable database.


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

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

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.PluggableDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_pluggable_database.py.html>`__ to see an example of how to use get_pluggable_database API.
        r}  r~  r  get_pluggable_databasez^https://docs.oracle.com/iaas/api/#/en/database/20160918/PluggableDatabase/GetPluggableDatabaser   c                    r/   r%   r%   r0   r3   r%   r&   r4   D  r5   z9DatabaseClient.get_pluggable_database.<locals>.<listcomp>z/get_pluggable_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   D  r=   z9DatabaseClient.get_pluggable_database.<locals>.<dictcomp>Nr   r>   r?   r  rH   r"  r   ro   r  r  r%   r3   r&   rF  D  r  z%DatabaseClient.get_pluggable_databasec                    r  )a  
        Gets information about the VM cluster. Applies to Exadata Cloud@Customer instances only.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.VmCluster`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_vm_cluster.py.html>`__ to see an example of how to use get_vm_cluster API.
        r}   r  r  get_vm_clusterzNhttps://docs.oracle.com/iaas/api/#/en/database/20160918/VmCluster/GetVmClusterr  c                    r/   r%   r%   r0   r3   r%   r&   r4   SE  r5   z1DatabaseClient.get_vm_cluster.<locals>.<listcomp>z'get_vm_cluster got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   \E  r=   z1DatabaseClient.get_vm_cluster.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   gE  rG   r   rH   r   r   ro   r   r  r%   r3   r&   rG  'E  r  zDatabaseClient.get_vm_clusterc                    r  )aa  
        Gets information about the specified VM cluster network. Applies to Exadata Cloud@Customer instances only.
        To get information about a cloud VM cluster in an Exadata Cloud Service instance, use the :func:`get_cloud_vm_cluster` operation.


        :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 str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.VmClusterNetwork`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_vm_cluster_network.py.html>`__ to see an example of how to use get_vm_cluster_network API.
        r)   r  r  r  get_vm_cluster_networkz\https://docs.oracle.com/iaas/api/#/en/database/20160918/VmClusterNetwork/GetVmClusterNetworkr  c                    r/   r%   r%   r0   r3   r%   r&   r4   E  r5   z9DatabaseClient.get_vm_cluster_network.<locals>.<listcomp>z/get_vm_cluster_network got unknown kwargs: {!r}r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   E  r=   z9DatabaseClient.get_vm_cluster_network.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   E  rG   r   rH   r'  r   ro   r   r  r%   r3   r&   rH  E  sn   &$
z%DatabaseClient.get_vm_cluster_networkc                    r  )a  
        Gets information about a specified patch package.


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

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

        :param str patch_id: (required)
            The `OCID`__ of the patch.

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

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.Patch`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_vm_cluster_patch.py.html>`__ to see an example of how to use get_vm_cluster_patch API.
        r}   r  z+/vmClusters/{vmClusterId}/patches/{patchId}r  get_vm_cluster_patchzOhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Patch/GetVmClusterPatchr   c                    r/   r%   r%   r0   r3   r%   r&   r4   F  r5   z7DatabaseClient.get_vm_cluster_patch.<locals>.<listcomp>z-get_vm_cluster_patch got unknown kwargs: {!r})r}   r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   %F  r=   z7DatabaseClient.get_vm_cluster_patch.<locals>.<dictcomp>Nr   r>   r?   r  rH   r  r   ro   r  )r"   r   r  r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rI  E  r  z#DatabaseClient.get_vm_cluster_patchc                    r  )a^  
        Gets the patch history details for the specified patch history entry.


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

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

        :param str patch_history_entry_id: (required)
            The `OCID`__ of the patch history entry.

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

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.PatchHistoryEntry`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_vm_cluster_patch_history_entry.py.html>`__ to see an example of how to use get_vm_cluster_patch_history_entry API.
        r}   r  zC/vmClusters/{vmClusterId}/patchHistoryEntries/{patchHistoryEntryId}r  "get_vm_cluster_patch_history_entryzghttps://docs.oracle.com/iaas/api/#/en/database/20160918/PatchHistoryEntry/GetVmClusterPatchHistoryEntryr   c                    r/   r%   r%   r0   r3   r%   r&   r4   yF  r5   zEDatabaseClient.get_vm_cluster_patch_history_entry.<locals>.<listcomp>z;get_vm_cluster_patch_history_entry got unknown kwargs: {!r})r}   r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   F  r=   zEDatabaseClient.get_vm_cluster_patch_history_entry.<locals>.<dictcomp>Nr   r>   r?   r  rH   r  r   ro   r  )r"   r   r  r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rJ  PF  r  z1DatabaseClient.get_vm_cluster_patch_history_entryc                    r  )a  
        Gets information about a specified maintenance update package for a VM cluster. Applies to Exadata Cloud@Customer instances only.


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

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

        :param str update_id: (required)
            The `OCID`__ of the maintenance update.

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.VmClusterUpdate`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_vm_cluster_update.py.html>`__ to see an example of how to use get_vm_cluster_update API.
        r}   r  z,/vmClusters/{vmClusterId}/updates/{updateId}r  get_vm_cluster_updatezZhttps://docs.oracle.com/iaas/api/#/en/database/20160918/VmClusterUpdate/GetVmClusterUpdater  c                    r/   r%   r%   r0   r3   r%   r&   r4   F  r5   z8DatabaseClient.get_vm_cluster_update.<locals>.<listcomp>z.get_vm_cluster_update got unknown kwargs: {!r})r}   r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   F  r=   z8DatabaseClient.get_vm_cluster_update.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   F  rG   r   rH   ZVmClusterUpdater   ro   r   )r"   r   r  r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rK  F  r  z$DatabaseClient.get_vm_cluster_updatec                    r  )a  
        Gets the maintenance update history details for the specified update history entry. Applies to Exadata Cloud@Customer instances only.


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

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

        :param str update_history_entry_id: (required)
            The `OCID`__ of the maintenance update history entry.

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.VmClusterUpdateHistoryEntry`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/get_vm_cluster_update_history_entry.py.html>`__ to see an example of how to use get_vm_cluster_update_history_entry API.
        r}   r   zE/vmClusters/{vmClusterId}/updateHistoryEntries/{updateHistoryEntryId}r  #get_vm_cluster_update_history_entryzrhttps://docs.oracle.com/iaas/api/#/en/database/20160918/VmClusterUpdateHistoryEntry/GetVmClusterUpdateHistoryEntryr  c                    r/   r%   r%   r0   r3   r%   r&   r4   GG  r5   zFDatabaseClient.get_vm_cluster_update_history_entry.<locals>.<listcomp>z<get_vm_cluster_update_history_entry got unknown kwargs: {!r})r}   r   c                 S   r6   r%   r7   r9   r%   r%   r&   r<   QG  r=   zFDatabaseClient.get_vm_cluster_update_history_entry.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   \G  rG   r   rH   ZVmClusterUpdateHistoryEntryr   ro   r   )r"   r   r  r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rL  G  r  z2DatabaseClient.get_vm_cluster_update_history_entryc                    r   )a/
  
        **Deprecated** To create a new Autonomous Database system on dedicated Exadata Infrastructure, use the :func:`create_cloud_exadata_infrastructure` and :func:`create_cloud_autonomous_vm_cluster` operations instead. Note that to create an Autonomous VM cluster, you must have an existing Exadata Infrastructure resource to contain the VM cluster.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousExadataInfrastructure`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/launch_autonomous_exadata_infrastructure.py.html>`__ to see an example of how to use launch_autonomous_exadata_infrastructure API.
        !/autonomousExadataInfrastructuresr*   (launch_autonomous_exadata_infrastructurez}https://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousExadataInfrastructure/LaunchAutonomousExadataInfrastructurer   c                    r/   r%   r%   r0   r3   r%   r&   r4   G  r5   zKDatabaseClient.launch_autonomous_exadata_infrastructure.<locals>.<listcomp>zAlaunch_autonomous_exadata_infrastructure got unknown kwargs: {!r}r?   r.   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   G  rG   zKDatabaseClient.launch_autonomous_exadata_infrastructure.<locals>.<dictcomp>r   rH   r  r   r   r   )r"   Z0launch_autonomous_exadata_infrastructure_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   rN  ~G  r   z7DatabaseClient.launch_autonomous_exadata_infrastructurec                    r   )a  
        Creates a new DB system in the specified compartment and availability domain. The Oracle
        Database edition that you specify applies to all the databases on that DB system. The selected edition cannot be changed.

        An initial database is created on the DB system based on the request parameters you provide and some default
        options. For detailed information about default options, see `Bare metal and virtual machine DB system default options.`__

        **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.

        Use the :func:`create_cloud_exadata_infrastructure` and :func:`create_cloud_vm_cluster` APIs to provision a new Exadata Cloud Service instance.

        __ https://docs.cloud.oracle.com/Content/Database/Tasks/creatingDBsystem.htm#Default
        __ 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 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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.DbSystem`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/launch_db_system.py.html>`__ to see an example of how to use launch_db_system API.
        
/dbSystemsr*   launch_db_systemzOhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DbSystem/LaunchDbSystemr   c                    r/   r%   r%   r0   r3   r%   r&   r4   H  r5   z3DatabaseClient.launch_db_system.<locals>.<listcomp>z)launch_db_system got unknown kwargs: {!r}r?   r.   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   &H  rG   z3DatabaseClient.launch_db_system.<locals>.<dictcomp>r   rH   r  r   r   r   )r"   Zlaunch_db_system_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   rP  G  s`   7
zDatabaseClient.launch_db_systemc                    s  ddg}d}d}d}d}g d  fdd	t |D }	|	r%td
|	d|v r:ddg}
|d |
vr:td|
d|v rOddg}|d |vrOtd|d|v rdg d}|d |vrdtd|||dt|dt||dt|dt|dtd}dd t |D }dd|dtd}dd t |D }| jj|d| j	d }|rt
|tjs| j| || j |j| jj||||d!|d"|||d#
S | jj||||d!|d"|||d#	S )$a  
        Gets a list of application virtual IP (VIP) addresses on a cloud VM cluster.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param str cloud_vm_cluster_id: (required)
            The `OCID`__ of the cloud VM cluster associated with the application virtual IP (VIP) address.

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str sort_by: (optional)
            The field to sort by. You can provide one sort order (`sortOrder`).
            Default order for TIMECREATED is descending.
            Default order for DISPLAYNAME is ascending.
            The DISPLAYNAME sort order is case sensitive.

            Allowed values are: "DISPLAYNAME", "TIMECREATED"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the given lifecycle state exactly.

            Allowed values are: "PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED", "FAILED"

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.ApplicationVipSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_application_vips.py.html>`__ to see an example of how to use list_application_vips API.
        r0  rv   r   r  list_application_vipszahttps://docs.oracle.com/iaas/api/#/en/database/20160918/ApplicationVipSummary/ListApplicationVips)r   r   limitpager-   
sort_ordersort_bylifecycle_statec                    r/   r%   r%   r0   r3   r%   r&   r4   H  r5   z8DatabaseClient.list_application_vips.<locals>.<listcomp>z.list_application_vips got unknown kwargs: {!r}rT  ASCDESC2Invalid value for `sort_order`, must be one of {0}rU  DISPLAYNAMETIMECREATED/Invalid value for `sort_by`, must be one of {0}rV  )PROVISIONING	AVAILABLETERMINATING
TERMINATEDFAILED7Invalid value for `lifecycle_state`, must be one of {0}rR  rS  )r0  rR  rS  rv   	sortOrdersortBylifecycleStatec                 S   rE   rF   r7   r9   r%   r%   r&   r<   H  rG   z8DatabaseClient.list_application_vips.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   H  rG   r   rH   zlist[ApplicationVipSummary]r   r8  r  )r"   r9  r{   r$   rS   rK   rL   rQ   rR   re   sort_order_allowed_valuessort_by_allowed_valueslifecycle_state_allowed_valuesr-  rN   r   r%   r3   r&   rQ  IH  s   =





	
z$DatabaseClient.list_application_vipsc                    r  dg}d}d}d}d}g d  fddt |D }|r$td	|d|i}	d
d t |	D }	t |	D ]\}
}|du sMt|t jrTt| dkrTtd|
q7|	dt
|	dt
d}dd t |D }ddd}| jj|	d| jd}|rt|tjs| j| || j |j| jj|||	||d|	d|||dS | jj|||	||d|	d|||d
S )a#  
        Gets a list of the Autonomous Container Databases with Autonomous Data Guard-enabled associated with the specified Autonomous Container Database.


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

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.AutonomousContainerDatabaseDataguardAssociation`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_autonomous_container_database_dataguard_associations.py.html>`__ to see an example of how to use list_autonomous_container_database_dataguard_associations API.
        r   zn/autonomousContainerDatabases/{autonomousContainerDatabaseId}/autonomousContainerDatabaseDataguardAssociationsr  9list_autonomous_container_database_dataguard_associationszhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousContainerDatabaseDataguardAssociation/ListAutonomousContainerDatabaseDataguardAssociationsr   r   rR  rS  c                    r/   r%   r%   r0   r3   r%   r&   r4   I  r5   z\DatabaseClient.list_autonomous_container_database_dataguard_associations.<locals>.<listcomp>zRlist_autonomous_container_database_dataguard_associations got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   I  r=   z\DatabaseClient.list_autonomous_container_database_dataguard_associations.<locals>.<dictcomp>Nr   r>   rR  rS  rR  rS  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   &I  rG   r?   r  r   rH   z5list[AutonomousContainerDatabaseDataguardAssociation]r   r,  r   )r"   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   r-  rN   r   r%   r3   r&   rj  H  t   #$

zHDatabaseClient.list_autonomous_container_database_dataguard_associationsc                    s  ddg}d}d}d}d}g d  fdd	t |D }	|	r%td
|	d|v r:ddg}
|d |
vr:td|
ddg}||vrItd|||dt|dt|dt|d}dd t |D }dd|dtd}dd t |D }| jj|d| j	d}|rt
|tjs| j| || j |j| jj||||d|d|||d
S | jj||||d|d|||d	S ) a;	  
        Gets a list of supported Autonomous Container Database versions.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param str service_component: (required)
            The service component to use, either ADBD or EXACC.

            Allowed values are: "ADBD", "EXACC"

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.AutonomousContainerDatabaseVersionSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_autonomous_container_database_versions.py.html>`__ to see an example of how to use list_autonomous_container_database_versions API.
        r0  serviceComponentz$/autonomousContainerDatabaseVersionsr  +list_autonomous_container_database_versionszhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousContainerDatabaseVersionSummary/ListAutonomousContainerDatabaseVersions)r   r   rR  rS  r-   rT  c                    r/   r%   r%   r0   r3   r%   r&   r4   I  r5   zNDatabaseClient.list_autonomous_container_database_versions.<locals>.<listcomp>zDlist_autonomous_container_database_versions got unknown kwargs: {!r}rT  rW  rX  rY  ZADBDZEXACCz9Invalid value for `service_component`, must be one of {0}rR  rS  )r0  rR  rS  rc  rn  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   I  rG   zNDatabaseClient.list_autonomous_container_database_versions.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   I  rG   r   rH   z/list[AutonomousContainerDatabaseVersionSummary]r   r8  r  )r"   r9  Zservice_componentr$   rS   rK   rL   rQ   rR   re   rf  Z service_component_allowed_valuesr-  rN   r   r%   r3   r&   ro  OI  s   0



z:DatabaseClient.list_autonomous_container_database_versionsc                    s  dg}d}d}d}d}g d  fddt |D }|r$td	|d
|v r9ddg}	|d
 |	vr9td|	d|v rNddg}
|d |
vrNtd|
d|v rcddg}|d |vrctd|d|v rxg d}|d |vrxtd|||dt|dt|d
t|dt|dt|dt|dt|dt|dt|dt|dt|d td!}d"d# t |D }d$d$d%}| jj|d&| j	d'}|rt
|tjs| j| || j |j| jj||||d(|d)|||d*
S | jj||||d(|d)|||d*	S )+a  
        Gets a list of the Autonomous Container Databases in the specified compartment.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

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

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

        :param str autonomous_vm_cluster_id: (optional)
            The Autonomous VM Cluster `OCID`__.

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

        :param str infrastructure_type: (optional)
            A filter to return only resources that match the given Infrastructure Type.

            Allowed values are: "CLOUD", "CLOUD_AT_CUSTOMER"

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str sort_by: (optional)
            The field to sort by.  You can provide one sort order (`sortOrder`).  Default order for TIMECREATED is descending.  Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.

            **Note:** If you do not include the availability domain filter, the resources are grouped by availability domain, then sorted.

            Allowed values are: "TIMECREATED", "DISPLAYNAME"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the given lifecycle state exactly.

            Allowed values are: "PROVISIONING", "AVAILABLE", "UPDATING", "TERMINATING", "TERMINATED", "FAILED", "BACKUP_IN_PROGRESS", "RESTORING", "RESTORE_FAILED", "RESTARTING", "MAINTENANCE_IN_PROGRESS", "ROLE_CHANGE_IN_PROGRESS", "UNAVAILABLE"

        :param str availability_domain: (optional)
            A filter to return only resources that match the given availability domain exactly.

        :param str display_name: (optional)
            A filter to return only resources that match the entire display name given. The match is not case sensitive.

        :param str service_level_agreement_type: (optional)
            A filter to return only resources that match the given service-level agreement type exactly.

        :param str cloud_autonomous_vm_cluster_id: (optional)
            The cloud Autonomous VM Cluster `OCID`__.

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

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.AutonomousContainerDatabaseSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_autonomous_container_databases.py.html>`__ to see an example of how to use list_autonomous_container_databases API.
        r0  r   r  #list_autonomous_container_databaseszthttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousContainerDatabase/ListAutonomousContainerDatabases)r   r   r   r   infrastructure_typerR  rS  rU  rT  rV  availability_domaindisplay_nameservice_level_agreement_typer   c                    r/   r%   r%   r0   r3   r%   r&   r4   8J  r5   zFDatabaseClient.list_autonomous_container_databases.<locals>.<listcomp>z<list_autonomous_container_databases got unknown kwargs: {!r}rq  CLOUDCLOUD_AT_CUSTOMER;Invalid value for `infrastructure_type`, must be one of {0}rU  r[  rZ  r\  rT  rW  rX  rY  rV  )r]  r^  UPDATINGr_  r`  ra  BACKUP_IN_PROGRESSZ	RESTORINGRESTORE_FAILED
RESTARTINGMAINTENANCE_IN_PROGRESSROLE_CHANGE_IN_PROGRESSUNAVAILABLErb  r   r   rR  rS  rr  rs  rt  r   )r0  r   r   infrastructureTyperR  rS  rd  rc  re  availabilityDomaindisplayNameZserviceLevelAgreementTyper   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   hJ  rG   zFDatabaseClient.list_autonomous_container_databases.<locals>.<dictcomp>r?   r  r   rH   z(list[AutonomousContainerDatabaseSummary]r   r8  r  )r"   r9  r$   rS   rK   rL   rQ   rR   re   "infrastructure_type_allowed_valuesrg  rf  rh  r-  rN   r   r%   r3   r&   rp  I  s   Q











z2DatabaseClient.list_autonomous_container_databasesc                    s  g }d}d}d}d}g d  fddt |D }|r#td|d	|v r8d
dg}|d	 |vr8td|d|v rMddg}	|d |	vrMtd|	d|v rbg d}
|d |
vrbtd|
|dt|dt|dt|dt|d	t|dt|dt|dt|dtd	}dd t |D }dd|dtd}d d t |D }| jj|d!| j	d"}|rt
|tjs| j| || j |j| jj||||d#|d$|||d%
S | jj||||d#|d$|||d%	S )&aO  
        Gets a list of Autonomous Database backups based on either the `autonomousDatabaseId` or `compartmentId` specified as a query parameter.


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

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

        :param str compartment_id: (optional)
            The compartment `OCID`__.

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str sort_by: (optional)
            The field to sort by.  You can provide one sort order (`sortOrder`).  Default order for TIMECREATED is descending.  Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.

            **Note:** If you do not include the availability domain filter, the resources are grouped by availability domain, then sorted.

            Allowed values are: "TIMECREATED", "DISPLAYNAME"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the given lifecycle state exactly.

            Allowed values are: "CREATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "UPDATING"

        :param str display_name: (optional)
            A filter to return only resources that match the entire display name given. The match is not case sensitive.

        :param str type: (optional)
            A filter to return only backups that matches with the given type of Backup.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.AutonomousDatabaseBackupSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_autonomous_database_backups.py.html>`__ to see an example of how to use list_autonomous_database_backups API.
        r   r   list_autonomous_database_backupsznhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabaseBackup/ListAutonomousDatabaseBackups)r   r   r   r9  rR  rS  rU  rT  rV  rs  typer-   c                    r/   r%   r%   r0   r3   r%   r&   r4   J  r5   zCDatabaseClient.list_autonomous_database_backups.<locals>.<listcomp>z9list_autonomous_database_backups got unknown kwargs: {!r}rU  r[  rZ  r\  rT  rW  rX  rY  rV  )CREATINGACTIVEDELETINGDELETEDra  rx  rb  r   r9  rR  rS  rs  r  )	r   r0  rR  rS  rd  rc  re  r  r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   K  rG   zCDatabaseClient.list_autonomous_database_backups.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   K  rG   r   rH   z%list[AutonomousDatabaseBackupSummary]r   r8  r  r"   r$   rS   rK   rL   rQ   rR   re   rg  rf  rh  r-  rN   r   r%   r3   r&   r  J  s   B









z/DatabaseClient.list_autonomous_database_backupsc                    sR  g }d}d}d}d}g d  fddt |D }|r#td|d	|v r8d
dg}|d	 |vr8td||dt|d	td}	dd t |	D }	dd|dtd}
dd t |
D }
| jj|d| j	d}|rt
|tjs| j|
 || j |j| jj|||	|
d|d|||d
S | jj|||	|
d|d|||d	S )a  
        Gets a list of supported character sets.


        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param bool is_shared: (optional)
            Specifies whether this request is for Autonomous Database on Shared infrastructure. By default, this request will be for Autonomous Database on Dedicated Exadata Infrastructure.

        :param str character_set_type: (optional)
            Specifies whether this request pertains to database character sets or national character sets.

            Allowed values are: "DATABASE", "NATIONAL"

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.AutonomousDatabaseCharacterSets`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_autonomous_database_character_sets.py.html>`__ to see an example of how to use list_autonomous_database_character_sets API.
        z /autonomousDatabaseCharacterSetsr  'list_autonomous_database_character_setsz{https://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabaseCharacterSets/ListAutonomousDatabaseCharacterSets)r   r   r-   	is_sharedcharacter_set_typec                    r/   r%   r%   r0   r3   r%   r&   r4   eK  r5   zJDatabaseClient.list_autonomous_database_character_sets.<locals>.<listcomp>z@list_autonomous_database_character_sets got unknown kwargs: {!r}r  DATABASEZNATIONALz:Invalid value for `character_set_type`, must be one of {0}r  )ZisSharedZcharacterSetTypec                 S   rE   rF   r7   r9   r%   r%   r&   r<   uK  rG   zJDatabaseClient.list_autonomous_database_character_sets.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   |K  rG   r   rH   z%list[AutonomousDatabaseCharacterSets]r   r8  r  )r"   r$   rS   rK   rL   rQ   rR   re   Z!character_set_type_allowed_valuesr-  rN   r   r%   r3   r&   r  4K  sr   #


z6DatabaseClient.list_autonomous_database_character_setsc                    sp  ddg}d}d}d}d}g d  fdd	t |D }	|	r%td
|	d|i}
dd t |
D }
t |
D ]\}}|du sNt|t jrUt| dkrUtd|q8d|v rkddg}|d |vrktd|d|v rg d}|d |vrtd|d|v rg d}|d |vrtd|d|v rdg}|d |vrtd|||	dt
|	dt
|	dt
|	dt
|	dt
|	dt
|	dt
d }d!d t |D }d"d"|	d#t
d$}d%d t |D }| jj|	d&| jd'}|r%t|tjs| j| || j |j| jj|||
||d(|	d)|||d*S | jj|||
||d(|	d)|||d*
S )+al  
        Lists the Autonomous Database clones for the specified Autonomous Database.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str display_name: (optional)
            A filter to return only resources that match the entire display name given. The match is not case sensitive.

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the given lifecycle state exactly.

            Allowed values are: "PROVISIONING", "AVAILABLE", "STOPPING", "STOPPED", "STARTING", "TERMINATING", "TERMINATED", "UNAVAILABLE", "RESTORE_IN_PROGRESS", "RESTORE_FAILED", "BACKUP_IN_PROGRESS", "SCALE_IN_PROGRESS", "AVAILABLE_NEEDS_ATTENTION", "UPDATING", "MAINTENANCE_IN_PROGRESS", "RESTARTING", "RECREATING", "ROLE_CHANGE_IN_PROGRESS", "UPGRADING", "INACCESSIBLE", "STANDBY"

        :param str sort_by: (optional)
            The field to sort by.  You can provide one sort order (`sortOrder`).  Default order for TIMECREATED is descending.  Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.

            **Note:** If you do not include the availability domain filter, the resources are grouped by availability domain, then sorted.

            Allowed values are: "NONE", "TIMECREATED", "DISPLAYNAME"

        :param str clone_type: (optional)
            A filter to return only resources that match the given clone type exactly.

            Allowed values are: "REFRESHABLE_CLONE"

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.AutonomousDatabaseSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_autonomous_database_clones.py.html>`__ to see an example of how to use list_autonomous_database_clones API.
        r   r0  z2/autonomousDatabases/{autonomousDatabaseId}/clonesr  list_autonomous_database_cloneszghttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/ListAutonomousDatabaseClones)
r   r   r-   rR  rS  rT  rs  rV  rU  
clone_typec                    r/   r%   r%   r0   r3   r%   r&   r4   K  r5   zBDatabaseClient.list_autonomous_database_clones.<locals>.<listcomp>z8list_autonomous_database_clones got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   K  r=   zBDatabaseClient.list_autonomous_database_clones.<locals>.<dictcomp>Nr   r>   rT  rW  rX  rY  rV  r]  r^  STOPPINGSTOPPEDSTARTINGr_  r`  r~  ZRESTORE_IN_PROGRESSrz  ry  ZSCALE_IN_PROGRESSZAVAILABLE_NEEDS_ATTENTIONrx  r|  r{  Z
RECREATINGr}  	UPGRADINGZINACCESSIBLEZSTANDBYrb  rU  )ZNONEr[  rZ  r\  r  ZREFRESHABLE_CLONEz2Invalid value for `clone_type`, must be one of {0}rR  rS  rs  )r0  rR  rS  rc  r  re  rd  Z	cloneTypec                 S   rE   rF   r7   r9   r%   r%   r&   r<   *L  rG   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   1L  rG   r   rH   list[AutonomousDatabaseSummary]r   r,  r   )r"   r9  r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rf  rh  rg  Zclone_type_allowed_valuesr-  rN   r   r%   r3   r&   r  K  s   D$








z.DatabaseClient.list_autonomous_database_clonesc                    ri  )a  
        Gets a list of the Autonomous Data Guard-enabled databases associated with the specified Autonomous Database.


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

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.AutonomousDatabaseDataguardAssociation`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_autonomous_database_dataguard_associations.py.html>`__ to see an example of how to use list_autonomous_database_dataguard_associations API.
        r   zS/autonomousDatabases/{autonomousDatabaseId}/autonomousDatabaseDataguardAssociationsr  /list_autonomous_database_dataguard_associationszhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabaseDataguardAssociation/ListAutonomousDatabaseDataguardAssociationsrk  c                    r/   r%   r%   r0   r3   r%   r&   r4   L  r5   zRDatabaseClient.list_autonomous_database_dataguard_associations.<locals>.<listcomp>zHlist_autonomous_database_dataguard_associations got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   L  r=   zRDatabaseClient.list_autonomous_database_dataguard_associations.<locals>.<dictcomp>Nr   r>   rR  rS  rl  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   L  rG   r?   r  r   rH   z,list[AutonomousDatabaseDataguardAssociation]r   r,  r   r  r%   r3   r&   r  UL  rm  z>DatabaseClient.list_autonomous_database_dataguard_associationsc                    s  dg}d}d}d}d}g d  fddt |D }|r$td	|d|i}	d
d t |	D }	t |	D ]\}
}|du sMt|t jrTt| dkrTtd|
q7|	dt
|	dt
d}dd t |D }dd|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| || j |j| jj|||	||d|	d|||dS | jj|||	||d|	d|||d
S )a4  
        Lists the OCIDs of the Autonomous Database local and connected remote refreshable clones with the region where they exist for the specified source database.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.RefreshableCloneCollection`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_autonomous_database_refreshable_clones.py.html>`__ to see an example of how to use list_autonomous_database_refreshable_clones API.
        r   z=/autonomousDatabases/{autonomousDatabaseId}/refreshableClonesr  +list_autonomous_database_refreshable_cloneszrhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/ListAutonomousDatabaseRefreshableClones)r   r   r-   rR  rS  c                    r/   r%   r%   r0   r3   r%   r&   r4   L  r5   zNDatabaseClient.list_autonomous_database_refreshable_clones.<locals>.<listcomp>zDlist_autonomous_database_refreshable_clones got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   L  r=   zNDatabaseClient.list_autonomous_database_refreshable_clones.<locals>.<dictcomp>Nr   r>   rR  rS  rl  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   M  rG   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   M  rG   r   rH   ZRefreshableCloneCollectionr   r,  r   r  r%   r3   r&   r  L  sx   &$


z:DatabaseClient.list_autonomous_database_refreshable_clonesc                    sp  dg}d}d}d}d}g d  fddt |D }|r$td	|d
|v r9ddg}	|d
 |	vr9td|	d|v rNddg}
|d |
vrNtd|
d|v rcddg}|d |vrctd|d|v rxg d}|d |vrxtd|d|v rg d}|d |vrtd|||dt|dt|dt|d
t|dt|dt|dt|dt|dt|d t|d!t|d"t|d#td$}d%d& t |D }d'd'|d(td)}d*d& t |D }| jj|d+| j	d,}|r&t
|tjs| j| || j |j| jj||||d-|d.|||d/
S | jj||||d-|d.|||d/	S )0a4  
        Gets a list of Autonomous Databases based on the query parameters specified.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

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

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str sort_by: (optional)
            The field to sort by.  You can provide one sort order (`sortOrder`).  Default order for TIMECREATED is descending.  Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.

            **Note:** If you do not include the availability domain filter, the resources are grouped by availability domain, then sorted.

            Allowed values are: "TIMECREATED", "DISPLAYNAME"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str infrastructure_type: (optional)
            A filter to return only resources that match the given Infrastructure Type.

            Allowed values are: "CLOUD", "CLOUD_AT_CUSTOMER"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the given lifecycle state exactly.

            Allowed values are: "PROVISIONING", "AVAILABLE", "STOPPING", "STOPPED", "STARTING", "TERMINATING", "TERMINATED", "UNAVAILABLE", "RESTORE_IN_PROGRESS", "RESTORE_FAILED", "BACKUP_IN_PROGRESS", "SCALE_IN_PROGRESS", "AVAILABLE_NEEDS_ATTENTION", "UPDATING", "MAINTENANCE_IN_PROGRESS", "RESTARTING", "RECREATING", "ROLE_CHANGE_IN_PROGRESS", "UPGRADING", "INACCESSIBLE", "STANDBY"

        :param str db_workload: (optional)
            A filter to return only autonomous database resources that match the specified workload type.

            Allowed values are: "OLTP", "DW", "AJD", "APEX"

        :param str db_version: (optional)
            A filter to return only autonomous database resources that match the specified dbVersion.

        :param bool is_free_tier: (optional)
            Filter on the value of the resource's 'isFreeTier' property. A value of `true` returns only Always Free resources.
            A value of `false` excludes Always Free resources from the returned results. Omitting this parameter returns both Always Free and paid resources.

        :param str display_name: (optional)
            A filter to return only resources that match the entire display name given. The match is not case sensitive.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param bool is_refreshable_clone: (optional)
            Filter on the value of the resource's 'isRefreshableClone' property. A value of `true` returns only refreshable clones.
            A value of `false` excludes refreshable clones from the returned results. Omitting this parameter returns both refreshable clones and databases that are not refreshable clones.

        :param bool is_data_guard_enabled: (optional)
            A filter to return only resources that have Data Guard enabled.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.AutonomousDatabaseSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_autonomous_databases.py.html>`__ to see an example of how to use list_autonomous_databases API.
        r0  r   r  list_autonomous_databaseszbhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/ListAutonomousDatabases)r   r   r   rR  rS  rU  rT  rq  rV  db_workload
db_versionis_free_tierrs  r-   is_refreshable_cloneis_data_guard_enabledc                    r/   r%   r%   r0   r3   r%   r&   r4   M  r5   z<DatabaseClient.list_autonomous_databases.<locals>.<listcomp>z2list_autonomous_databases got unknown kwargs: {!r}rU  r[  rZ  r\  rT  rW  rX  rY  rq  ru  rv  rw  rV  r  rb  r  ZOLTPZDWZAJDZAPEX3Invalid value for `db_workload`, must be one of {0}r   rR  rS  r  r  rs  r  r  )r0  r   rR  rS  rd  rc  r  re  
dbWorkload	dbVersionZ
isFreeTierr  ZisRefreshableCloneZisDataGuardEnabledc                 S   rE   rF   r7   r9   r%   r%   r&   r<   M  rG   z<DatabaseClient.list_autonomous_databases.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   M  rG   r   rH   r  r   r8  r  )r"   r9  r$   rS   rK   rL   rQ   rR   re   rg  rf  r  rh  db_workload_allowed_valuesr-  rN   r   r%   r3   r&   r  3M  s   W













z(DatabaseClient.list_autonomous_databasesc                    s  dg}d}d}d}d}g d  fddt |D }|r$td	|d
|v r8dg}	|d
 |	vr8td|	d|v rMddg}
|d |
vrMtd|
||dt|dt|d
t|dtd}dd t |D }dd|dtd}dd t |D }| jj|d| j	d}|rt
|tjs| j| || j |j| jj||||d|d|||d
S | jj||||d|d|||d	S )a
  
        Gets a list of supported Autonomous Database versions. Note that preview version software is only available for
        databases with `shared Exadata infrastructure`__.

        __ https://docs.oracle.com/en/cloud/paas/autonomous-database/index.html


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str sort_by: (optional)
            The field to sort by.  You can provide one sort order (`sortOrder`).  Default order for DBWORKLOAD is ascending.

            **Note:** If you do not include the availability domain filter, the resources are grouped by availability domain, then sorted.

            Allowed values are: "DBWORKLOAD"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.AutonomousDbPreviewVersionSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_autonomous_db_preview_versions.py.html>`__ to see an example of how to use list_autonomous_db_preview_versions API.
        r0  z/autonomousDbPreviewVersionsr  #list_autonomous_db_preview_versionszyhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDbPreviewVersionSummary/ListAutonomousDbPreviewVersions)r   r   rR  rS  r-   rU  rT  c                    r/   r%   r%   r0   r3   r%   r&   r4   IN  r5   zFDatabaseClient.list_autonomous_db_preview_versions.<locals>.<listcomp>z<list_autonomous_db_preview_versions got unknown kwargs: {!r}rU  Z
DBWORKLOADr\  rT  rW  rX  rY  rR  rS  )r0  rR  rS  rd  rc  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   cN  rG   zFDatabaseClient.list_autonomous_db_preview_versions.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   jN  rG   r   rH   z'list[AutonomousDbPreviewVersionSummary]r   r8  r  )r"   r9  r$   rS   rK   rL   rQ   rR   re   rg  rf  r-  rN   r   r%   r3   r&   r  N  s   5	




z2DatabaseClient.list_autonomous_db_preview_versionsc                    s  dg}d}d}d}d}g d  fddt |D }|r$td	|d
|v r9g d}	|d
 |	vr9td|	d|v rNddg}
|d |
vrNtd|
||dt|dt|d
t|dtd}dd t |D }dd|dtd}dd t |D }| jj|d| j	d}|rt
|tjs| j| || j |j| jj||||d|d|||d
S | jj||||d|d|||d	S )a2	  
        Gets a list of supported Autonomous Database versions.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str db_workload: (optional)
            A filter to return only autonomous database resources that match the specified workload type.

            Allowed values are: "OLTP", "DW", "AJD", "APEX"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.AutonomousDbVersionSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_autonomous_db_versions.py.html>`__ to see an example of how to use list_autonomous_db_versions API.
        r0  z/autonomousDbVersionsr  list_autonomous_db_versionszkhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDbVersionSummary/ListAutonomousDbVersions)r   r   rR  rS  r-   r  rT  c                    r/   r%   r%   r0   r3   r%   r&   r4   N  r5   z>DatabaseClient.list_autonomous_db_versions.<locals>.<listcomp>z4list_autonomous_db_versions got unknown kwargs: {!r}r  r  r  rT  rW  rX  rY  rR  rS  )r0  rR  rS  r  rc  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   N  rG   z>DatabaseClient.list_autonomous_db_versions.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   N  rG   r   rH   z list[AutonomousDbVersionSummary]r   r8  r  )r"   r9  r$   rS   rK   rL   rQ   rR   re   r  rf  r-  rN   r   r%   r3   r&   r  N  s   0	




z*DatabaseClient.list_autonomous_db_versionsc                    s0  ddg}d}d}d}d}g d  fdd	t |D }	|	r%td
|	|||dt|dtd}
dd t |
D }
dd|dtd}dd t |D }| jj|d| j	d}|rt
|tjsr| j| || j |j| jj|||
|d|d|||d
S | jj|||
|d|d|||d	S )a$  
        **Deprecated.**


        :param str availability_domain: (required)
            The name of the Availability Domain.

        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.AutonomousExadataInfrastructureShapeSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_autonomous_exadata_infrastructure_shapes.py.html>`__ to see an example of how to use list_autonomous_exadata_infrastructure_shapes API.
        r  r0  z&/autonomousExadataInfrastructureShapesr  -list_autonomous_exadata_infrastructure_shapeszhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousExadataInfrastructureShapeSummary/ListAutonomousExadataInfrastructureShapesr   r   rR  rS  r-   c                    r/   r%   r%   r0   r3   r%   r&   r4   FO  r5   zPDatabaseClient.list_autonomous_exadata_infrastructure_shapes.<locals>.<listcomp>zFlist_autonomous_exadata_infrastructure_shapes got unknown kwargs: {!r}rR  rS  r  r0  rR  rS  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   QO  rG   zPDatabaseClient.list_autonomous_exadata_infrastructure_shapes.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   XO  rG   r   rH   z1list[AutonomousExadataInfrastructureShapeSummary]r   r8  r  )r"   rr  r9  r$   rS   rK   rL   rQ   rR   re   r-  rN   r   r%   r3   r&   r  O  sj   )


z<DatabaseClient.list_autonomous_exadata_infrastructure_shapesc                    s  dg}d}d}d}d}g d  fddt |D }|r$td	|d
|v r9ddg}	|d
 |	vr9td|	d|v rNddg}
|d |
vrNtd|
d|v rcg d}|d |vrctd|||dt|dt|d
t|dt|dt|dt|dtd}dd t |D }ddd}| jj|d| j	d}|rt
|tjs| j| || j |j| jj||||d |d!|||d"
S | jj||||d |d!|||d"	S )#a  
        **Deprecated.** Use the :func:`list_cloud_exadata_infrastructures` operation to list Exadata Infrastructures in the Oracle cloud and the  :func:`list_cloud_autonomous_vm_clusters` operation to list Autonomous Exadata VM clusters.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str sort_by: (optional)
            The field to sort by.  You can provide one sort order (`sortOrder`).  Default order for TIMECREATED is descending.  Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.

              **Note:** If you do not include the availability domain filter, the resources are grouped by availability domain, then sorted.

            Allowed values are: "TIMECREATED", "DISPLAYNAME"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the given lifecycle state exactly.

            Allowed values are: "PROVISIONING", "AVAILABLE", "UPDATING", "TERMINATING", "TERMINATED", "FAILED", "MAINTENANCE_IN_PROGRESS"

        :param str availability_domain: (optional)
            A filter to return only resources that match the given availability domain exactly.

        :param str display_name: (optional)
            A filter to return only resources that match the entire display name given. The match is not case sensitive.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.AutonomousExadataInfrastructureSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_autonomous_exadata_infrastructures.py.html>`__ to see an example of how to use list_autonomous_exadata_infrastructures API.
        r0  rM  r  'list_autonomous_exadata_infrastructuresz|https://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousExadataInfrastructure/ListAutonomousExadataInfrastructures)	r   r   rR  rS  rU  rT  rV  rr  rs  c                    r/   r%   r%   r0   r3   r%   r&   r4   O  r5   zJDatabaseClient.list_autonomous_exadata_infrastructures.<locals>.<listcomp>z@list_autonomous_exadata_infrastructures got unknown kwargs: {!r}rU  r[  rZ  r\  rT  rW  rX  rY  rV  r]  r^  rx  r_  r`  ra  r|  rb  rR  rS  rr  rs  )r0  rR  rS  rd  rc  re  r  r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   O  rG   zJDatabaseClient.list_autonomous_exadata_infrastructures.<locals>.<dictcomp>r?   r  r   rH   z,list[AutonomousExadataInfrastructureSummary]r   r8  r  r"   r9  r$   rS   rK   rL   rQ   rR   re   rg  rf  rh  r-  rN   r   r%   r3   r&   r  zO  s   :







z6DatabaseClient.list_autonomous_exadata_infrastructuresc                    sd  ddg}d}d}d}d}g d  fdd	t |D }	|	r%td
|	d|v r:g d}
|d |
vr:td|
|||dt|dt|dtd}dd t |D }dd|dtd}dd t |D }| jj|d| j	d}|rt
|tjs| j| || j |j| jj||||d|d|||d
S | jj||||d|d|||d	S )a	  
        Lists the Autonomous Virtual Machines in the specified Autonomous VM Cluster and Compartment.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param str autonomous_vm_cluster_id: (required)
            The Autonomous Virtual machine `OCID`__.

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the given lifecycle state exactly.

            Allowed values are: "PROVISIONING", "AVAILABLE", "UPDATING", "TERMINATING", "TERMINATED", "FAILED", "MAINTENANCE_IN_PROGRESS"

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.AutonomousVirtualMachineSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_autonomous_virtual_machines.py.html>`__ to see an example of how to use list_autonomous_virtual_machines API.
        r0  r   z/autonomousVirtualMachinesr   list_autonomous_virtual_machinesznhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousVirtualMachine/ListAutonomousVirtualMachines)r   r   rR  rS  r-   rV  c                    r/   r%   r%   r0   r3   r%   r&   r4   PP  r5   zCDatabaseClient.list_autonomous_virtual_machines.<locals>.<listcomp>z9list_autonomous_virtual_machines got unknown kwargs: {!r}rV  r  rb  rR  rS  )r0  r   rR  rS  re  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   cP  rG   zCDatabaseClient.list_autonomous_virtual_machines.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   jP  rG   r   rH   z%list[AutonomousVirtualMachineSummary]r   r8  r  )r"   r9  r   r$   rS   rK   rL   rQ   rR   re   rh  r-  rN   r   r%   r3   r&   r  P  sx   0



z/DatabaseClient.list_autonomous_virtual_machinesc                      dg}d}d}d}d}g d  fddt |D }|r$td	|d
|v r9ddg}	|d
 |	vr9td|	d|v rNddg}
|d |
vrNtd|
d|v rcg d}|d |vrctd|||dt|dt|dt|d
t|dt|dt|dtd}dd t |D }dd|dtd}dd t |D }| jj|d | j	d!}|rt
|tjs| j| || j |j| jj||||d"|d#|||d$
S | jj||||d"|d#|||d$	S )%ap  
        Gets a list of Exadata Cloud@Customer Autonomous VM clusters in the specified compartment. To list Autonomous VM Clusters in the Oracle Cloud, see :func:`list_cloud_autonomous_vm_clusters`.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param str exadata_infrastructure_id: (optional)
            If provided, filters the results for the given Exadata Infrastructure.

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str sort_by: (optional)
            The field to sort by.  You can provide one sort order (`sortOrder`).  Default order for TIMECREATED is descending.  Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.

            Allowed values are: "TIMECREATED", "DISPLAYNAME"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the given lifecycle state exactly.

            Allowed values are: "PROVISIONING", "AVAILABLE", "UPDATING", "TERMINATING", "TERMINATED", "FAILED", "MAINTENANCE_IN_PROGRESS"

        :param str display_name: (optional)
            A filter to return only resources that match the entire display name given. The match is not case sensitive.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.AutonomousVmClusterSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_autonomous_vm_clusters.py.html>`__ to see an example of how to use list_autonomous_vm_clusters API.
        r0  r   r  list_autonomous_vm_clusterszdhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousVmCluster/ListAutonomousVmClusters
r   r   rd   rR  rS  rU  rT  rV  rs  r-   c                    r/   r%   r%   r0   r3   r%   r&   r4   P  r5   z>DatabaseClient.list_autonomous_vm_clusters.<locals>.<listcomp>z4list_autonomous_vm_clusters got unknown kwargs: {!r}rU  r[  rZ  r\  rT  rW  rX  rY  rV  r  rb  rd   rR  rS  rs  r0  r)   rR  rS  rd  rc  re  r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   P  rG   z>DatabaseClient.list_autonomous_vm_clusters.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   Q  rG   r   rH   z list[AutonomousVmClusterSummary]r   r8  r  r  r%   r3   r&   r  P     ;








z*DatabaseClient.list_autonomous_vm_clustersc                    s6  dg}d}d}d}d}g d  fddt |D }|r$td	|||d
t|dt|dtd}	dd t |	D }	dd|dtd}
dd t |
D }
| jj|d| j	d}|rt
|tjsu| j|
 || j |j| jj|||	|
d|d|||d
S | jj|||	|
d|d|||d	S )a9  
        Gets a list of backup destinations in the specified compartment.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str type: (optional)
            A filter to return only resources that match the given type of the Backup Destination.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.BackupDestinationSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_backup_destination.py.html>`__ to see an example of how to use list_backup_destination API.
        r0  r   r  list_backup_destinationzfhttps://docs.oracle.com/iaas/api/#/en/database/20160918/BackupDestinationSummary/ListBackupDestination)r   r   rR  rS  r-   r  c                    r/   r%   r%   r0   r3   r%   r&   r4   _Q  r5   z:DatabaseClient.list_backup_destination.<locals>.<listcomp>z0list_backup_destination got unknown kwargs: {!r}rR  rS  r  )r0  rR  rS  r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   jQ  rG   z:DatabaseClient.list_backup_destination.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   qQ  rG   r   rH   zlist[BackupDestinationSummary]r   r8  r  r"   r9  r$   rS   rK   rL   rQ   rR   re   r-  rN   r   r%   r3   r&   r  'Q  sj   )



z&DatabaseClient.list_backup_destinationc                    s  g }d}d}d}d}g d  fddt |D }|r#td||d	t|d
t|dt|dtd}dd t |D }ddd}	| jj|d| j	d}
|
r}t
|
tjsi| j|	 |
| j |
j| jj||||	d|d|||d
S | jj||||	d|d|||d	S )a$  
        Gets a list of backups based on the `databaseId` or `compartmentId` specified. Either one of these query parameters must be provided.


        :param str database_id: (optional)
            The `OCID`__ of the database.

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

        :param str compartment_id: (optional)
            The compartment `OCID`__.

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.BackupSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_backups.py.html>`__ to see an example of how to use list_backups API.
        r   r  list_backupszJhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Backup/ListBackups)r   r   r   r9  rR  rS  c                    r/   r%   r%   r0   r3   r%   r&   r4   Q  r5   z/DatabaseClient.list_backups.<locals>.<listcomp>z%list_backups got unknown kwargs: {!r}r   r9  rR  rS  )r   r0  rR  rS  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   Q  rG   z/DatabaseClient.list_backups.<locals>.<dictcomp>r?   r  r   rH   zlist[BackupSummary]r   r8  r  r"   r$   rS   rK   rL   rQ   rR   re   r-  rN   r   r%   r3   r&   r  Q  sf   (



zDatabaseClient.list_backupsc                    s  dg}d}d}d}d}g d  fddt |D }|r$td	|d
|v r9ddg}	|d
 |	vr9td|	d|v rNddg}
|d |
vrNtd|
d|v rcg d}|d |vrctd|||dt|dt|dt|d
t|dt|dt|dt|dtd	}dd t |D }dd|dtd}d d t |D }| jj|d!| j	d"}|rt
|tjs| j| || j |j| jj||||d#|d$|||d%
S | jj||||d#|d$|||d%	S )&a  
        Lists Autonomous Exadata VM clusters in the Oracle cloud. For Exadata Cloud@Customer systems, see :func:`list_autonomous_vm_clusters`.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param str cloud_exadata_infrastructure_id: (optional)
            If provided, filters the results for the specified cloud Exadata infrastructure.

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str sort_by: (optional)
            The field to sort by.  You can provide one sort order (`sortOrder`).  Default order for TIMECREATED is descending.  Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.

            Allowed values are: "TIMECREATED", "DISPLAYNAME"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the given lifecycle state exactly.

            Allowed values are: "PROVISIONING", "AVAILABLE", "UPDATING", "TERMINATING", "TERMINATED", "FAILED", "MAINTENANCE_IN_PROGRESS"

        :param str availability_domain: (optional)
            A filter to return only resources that match the given availability domain exactly.

        :param str display_name: (optional)
            A filter to return only resources that match the entire display name given. The match is not case sensitive.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.CloudAutonomousVmClusterSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_cloud_autonomous_vm_clusters.py.html>`__ to see an example of how to use list_cloud_autonomous_vm_clusters API.
        r0  r   r  !list_cloud_autonomous_vm_clustersznhttps://docs.oracle.com/iaas/api/#/en/database/20160918/CloudAutonomousVmCluster/ListCloudAutonomousVmClusters)r   r   rq   rR  rS  rU  rT  rV  rr  rs  r-   c                    r/   r%   r%   r0   r3   r%   r&   r4   NR  r5   zDDatabaseClient.list_cloud_autonomous_vm_clusters.<locals>.<listcomp>z:list_cloud_autonomous_vm_clusters got unknown kwargs: {!r}rU  r[  rZ  r\  rT  rW  rX  rY  rV  r  rb  rq   rR  rS  rr  rs  )	r0  rh   rR  rS  rd  rc  re  r  r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   sR  rG   zDDatabaseClient.list_cloud_autonomous_vm_clusters.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   zR  rG   r   rH   z%list[CloudAutonomousVmClusterSummary]r   r8  r  r  r%   r3   r&   r  Q  s   >








z0DatabaseClient.list_cloud_autonomous_vm_clustersc                      dg}d}d}d}d}g d  fddt |D }|r$td	|d
|v r9ddg}	|d
 |	vr9td|	d|v rNddg}
|d |
vrNtd|
d|v rcg d}|d |vrctd|||dt|dt|d
t|dt|dt|dtd}dd t |D }dd|dtd}dd t |D }| jj|d| j	d }|rt
|tjs| j| || j |j| jj||||d!|d"|||d#
S | jj||||d!|d"|||d#	S )$a  
        Gets a list of the cloud Exadata infrastructure resources in the specified compartment. Applies to Exadata Cloud Service instances and Autonomous Database on dedicated Exadata infrastructure only.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str sort_by: (optional)
            The field to sort by. You can provide one sort order (`sortOrder`).  Default order for TIMECREATED is descending.  Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.

            Allowed values are: "TIMECREATED", "DISPLAYNAME"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the given lifecycle state exactly.

            Allowed values are: "PROVISIONING", "AVAILABLE", "UPDATING", "TERMINATING", "TERMINATED", "FAILED", "MAINTENANCE_IN_PROGRESS"

        :param str display_name: (optional)
            A filter to return only resources that match the entire display name given. The match is not case sensitive.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.CloudExadataInfrastructureSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_cloud_exadata_infrastructures.py.html>`__ to see an example of how to use list_cloud_exadata_infrastructures API.
        r0  r   r  "list_cloud_exadata_infrastructureszrhttps://docs.oracle.com/iaas/api/#/en/database/20160918/CloudExadataInfrastructure/ListCloudExadataInfrastructures)	r   r   rR  rS  r-   rU  rT  rV  rs  c                    r/   r%   r%   r0   r3   r%   r&   r4   R  r5   zEDatabaseClient.list_cloud_exadata_infrastructures.<locals>.<listcomp>z;list_cloud_exadata_infrastructures got unknown kwargs: {!r}rU  r[  rZ  r\  rT  rW  rX  rY  rV  r  rb  rR  rS  rs  r0  rR  rS  rd  rc  re  r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   	S  rG   zEDatabaseClient.list_cloud_exadata_infrastructures.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   S  rG   r   rH   z'list[CloudExadataInfrastructureSummary]r   r8  r  r  r%   r3   r&   r  R     8





	
z1DatabaseClient.list_cloud_exadata_infrastructuresc                      dg}d}d}d}d}g d  fddt |D }|r$td	|d|i}	d
d t |	D }	t |	D ]\}
}|du sMt|t jrTt| dkrTtd|
q7d|v rjg d}|d |vrjtd||	dt
|	dt
|	dt
d}dd t |D }dd|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| || j |j| jj|||	||d|	d|||dS | jj|||	||d|	d|||d
S )a	  
        Gets the history of the maintenance update actions performed on the specified cloud VM cluster. Applies to Exadata Cloud Service instances only.


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

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

        :param str update_type: (optional)
            A filter to return only resources that match the given update type exactly.

            Allowed values are: "GI_UPGRADE", "GI_PATCH", "OS_UPDATE"

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.UpdateHistoryEntrySummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_cloud_vm_cluster_update_history_entries.py.html>`__ to see an example of how to use list_cloud_vm_cluster_update_history_entries API.
        rv   z8/cloudVmClusters/{cloudVmClusterId}/updateHistoryEntriesr  ,list_cloud_vm_cluster_update_history_entrieszqhttps://docs.oracle.com/iaas/api/#/en/database/20160918/UpdateHistoryEntry/ListCloudVmClusterUpdateHistoryEntriesr   r   update_typerR  rS  r-   c                    r/   r%   r%   r0   r3   r%   r&   r4   lS  r5   zODatabaseClient.list_cloud_vm_cluster_update_history_entries.<locals>.<listcomp>zElist_cloud_vm_cluster_update_history_entries got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   uS  r=   zODatabaseClient.list_cloud_vm_cluster_update_history_entries.<locals>.<dictcomp>Nr   r>   r  Z
GI_UPGRADEZGI_PATCHZ	OS_UPDATE3Invalid value for `update_type`, must be one of {0}rR  rS  
updateTyperR  rS  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   S  rG   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   S  rG   r   rH   zlist[UpdateHistoryEntrySummary]r   r,  r   r"   r{   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   update_type_allowed_valuesr-  rN   r   r%   r3   r&   r  2S     +$



z;DatabaseClient.list_cloud_vm_cluster_update_history_entriesc                    r  )a  
        Lists the maintenance updates that can be applied to the specified cloud VM cluster. Applies to Exadata Cloud Service instances only.


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

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

        :param str update_type: (optional)
            A filter to return only resources that match the given update type exactly.

            Allowed values are: "GI_UPGRADE", "GI_PATCH", "OS_UPDATE"

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.UpdateSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_cloud_vm_cluster_updates.py.html>`__ to see an example of how to use list_cloud_vm_cluster_updates API.
        rv   z+/cloudVmClusters/{cloudVmClusterId}/updatesr  list_cloud_vm_cluster_updateszXhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Update/ListCloudVmClusterUpdatesr  c                    r/   r%   r%   r0   r3   r%   r&   r4   S  r5   z@DatabaseClient.list_cloud_vm_cluster_updates.<locals>.<listcomp>z6list_cloud_vm_cluster_updates got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   S  r=   z@DatabaseClient.list_cloud_vm_cluster_updates.<locals>.<dictcomp>Nr   r>   r  r  r  rR  rS  r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   T  rG   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   T  rG   r   rH   zlist[UpdateSummary]r   r,  r   r  r%   r3   r&   r  S  r  z,DatabaseClient.list_cloud_vm_cluster_updatesc                    r  )%ak  
        Gets a list of the cloud VM clusters in the specified compartment. Applies to Exadata Cloud Service instances and Autonomous Database on dedicated Exadata infrastructure only.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param str cloud_exadata_infrastructure_id: (optional)
            If provided, filters the results for the specified cloud Exadata infrastructure.

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str sort_by: (optional)
            The field to sort by.  You can provide one sort order (`sortOrder`).  Default order for TIMECREATED is descending.  Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.

            Allowed values are: "TIMECREATED", "DISPLAYNAME"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            A filter to return only cloud VM clusters that match the given lifecycle state exactly.

            Allowed values are: "PROVISIONING", "AVAILABLE", "UPDATING", "TERMINATING", "TERMINATED", "FAILED", "MAINTENANCE_IN_PROGRESS"

        :param str display_name: (optional)
            A filter to return only resources that match the entire display name given. The match is not case sensitive.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.CloudVmClusterSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_cloud_vm_clusters.py.html>`__ to see an example of how to use list_cloud_vm_clusters API.
        r0  r   r  list_cloud_vm_clusterszZhttps://docs.oracle.com/iaas/api/#/en/database/20160918/CloudVmCluster/ListCloudVmClusters)
r   r   rq   rR  rS  rU  rT  rV  rs  r-   c                    r/   r%   r%   r0   r3   r%   r&   r4   T  r5   z9DatabaseClient.list_cloud_vm_clusters.<locals>.<listcomp>z/list_cloud_vm_clusters got unknown kwargs: {!r}rU  r[  rZ  r\  rT  rW  rX  rY  rV  r  rb  rq   rR  rS  rs  )r0  rh   rR  rS  rd  rc  re  r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   T  rG   z9DatabaseClient.list_cloud_vm_clusters.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   T  rG   r   rH   zlist[CloudVmClusterSummary]r   r8  r  r  r%   r3   r&   r  2T  r  z%DatabaseClient.list_cloud_vm_clustersc                    r  )a  
        Lists the console connections for the specified database node.


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

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

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.ConsoleConnectionSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_console_connections.py.html>`__ to see an example of how to use list_console_connections API.
        r   r   r  list_console_connectionsz`https://docs.oracle.com/iaas/api/#/en/database/20160918/ConsoleConnection/ListConsoleConnectionsr   c                    r/   r%   r%   r0   r3   r%   r&   r4   T  r5   z;DatabaseClient.list_console_connections.<locals>.<listcomp>z1list_console_connections got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   T  r=   z;DatabaseClient.list_console_connections.<locals>.<dictcomp>Nr   r>   r?   r  rH   zlist[ConsoleConnectionSummary]r   ro   r  r  r%   r3   r&   r  T  r  z'DatabaseClient.list_console_connectionsc                    sv  ddg}d}d}d}d}g d  fdd	t |D }	|	r%td
|	d|i}
dd t |
D }
t |
D ]\}}|du sNt|t jrUt| dkrUtd|q8|	dt
|	dt
|d}dd t |D }ddd}| jj|	d| jd}|rt|tjs| j| || j |j| jj|||
||d|	d|||dS | jj|||
||d|	d|||d
S )a2  
        Lists the patches applicable to the requested container database.


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

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

        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.AutonomousPatchSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_container_database_patches.py.html>`__ to see an example of how to use list_container_database_patches API.
        r   r0  zE/autonomousContainerDatabases/{autonomousContainerDatabaseId}/patchesr  list_container_database_patcheszdhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousPatch/ListContainerDatabasePatchesrk  c                    r/   r%   r%   r0   r3   r%   r&   r4   ZU  r5   zBDatabaseClient.list_container_database_patches.<locals>.<listcomp>z8list_container_database_patches got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   cU  r=   zBDatabaseClient.list_container_database_patches.<locals>.<dictcomp>Nr   r>   rR  rS  )rR  rS  r0  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   nU  rG   r?   r  r   rH   zlist[AutonomousPatchSummary]r   r,  r   )r"   r   r9  r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   r-  rN   r   r%   r3   r&   r  %U  sv   ($

z.DatabaseClient.list_container_database_patchesc                    ri  )aW  
        Lists all Data Guard associations for the specified database.


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

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.DataGuardAssociationSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_data_guard_associations.py.html>`__ to see an example of how to use list_data_guard_associations API.
        r   r   r  list_data_guard_associationszfhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DataGuardAssociation/ListDataGuardAssociationsrk  c                    r/   r%   r%   r0   r3   r%   r&   r4   U  r5   z?DatabaseClient.list_data_guard_associations.<locals>.<listcomp>z5list_data_guard_associations got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   U  r=   z?DatabaseClient.list_data_guard_associations.<locals>.<dictcomp>Nr   r>   rR  rS  rl  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   U  rG   r?   r  r   rH   z!list[DataGuardAssociationSummary]r   r,  r   r_  r%   r3   r&   r  U  rm  z+DatabaseClient.list_data_guard_associationsc                    s(  dg}d}d}d}d}g d  fddt |D }|r$td	|d
|v r9ddg}	|d
 |	vr9td|	d|v rNddg}
|d |
vrNtd|
d|v rcg d}|d |vrctd|d|v rxddg}|d |vrxtd|d|v rg d}|d |vrtd|||dt|dt|d
t|dt|dt|dt|dt|dt|dtd 
}d!d" t |D }d#d#d$}| jj|d%| j	d&}|rt
|tjs| j| || j |j| jj||||d'|d(|||d)
S | jj||||d'|d(|||d)	S )*aZ  
        Gets a list of the database software images in the specified compartment.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str sort_by: (optional)
            The field to sort by.  You can provide one sort order (`sortOrder`).  Default order for TIMECREATED is descending.  Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.

            Allowed values are: "TIMECREATED", "DISPLAYNAME"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the given lifecycle state exactly.

            Allowed values are: "PROVISIONING", "AVAILABLE", "DELETING", "DELETED", "FAILED", "TERMINATING", "TERMINATED", "UPDATING"

        :param str display_name: (optional)
            A filter to return only resources that match the entire display name given. The match is not case sensitive.

        :param str image_type: (optional)
            A filter to return only resources that match the given image type exactly.

            Allowed values are: "GRID_IMAGE", "DATABASE_IMAGE"

        :param str image_shape_family: (optional)
            A filter to return only resources that match the given image shape family exactly.

            Allowed values are: "VM_BM_SHAPE", "EXADATA_SHAPE", "EXACC_SHAPE"

        :param bool is_upgrade_supported: (optional)
            If provided, filters the results to the set of database versions which are supported for Upgrade.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.DatabaseSoftwareImageSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_database_software_images.py.html>`__ to see an example of how to use list_database_software_images API.
        r0  r  r  list_database_software_imageszhhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DatabaseSoftwareImage/ListDatabaseSoftwareImages)r   r   rR  rS  rU  rT  rV  rs  
image_typeimage_shape_familyis_upgrade_supportedc                    r/   r%   r%   r0   r3   r%   r&   r4   YV  r5   z@DatabaseClient.list_database_software_images.<locals>.<listcomp>z6list_database_software_images got unknown kwargs: {!r}rU  r[  rZ  r\  rT  rW  rX  rY  rV  )r]  r^  r  r  ra  r_  r`  rx  rb  r  Z
GRID_IMAGEZDATABASE_IMAGEz2Invalid value for `image_type`, must be one of {0}r  )ZVM_BM_SHAPEZEXADATA_SHAPEZEXACC_SHAPEz:Invalid value for `image_shape_family`, must be one of {0}rR  rS  rs  r  )
r0  rR  rS  rd  rc  re  r  Z	imageTypeZimageShapeFamilyisUpgradeSupportedc                 S   rE   rF   r7   r9   r%   r%   r&   r<   V  rG   z@DatabaseClient.list_database_software_images.<locals>.<dictcomp>r?   r  r   rH   z"list[DatabaseSoftwareImageSummary]r   r8  r  )r"   r9  r$   rS   rK   rL   rQ   rR   re   rg  rf  rh  Zimage_type_allowed_valuesZ!image_shape_family_allowed_valuesr-  rN   r   r%   r3   r&   r  V  s   B








z,DatabaseClient.list_database_software_imagesc                    b  dg}d}d}d}d}g d  fddt |D }|r$td	|d|i}	d
d t |	D }	t |	D ]\}
}|du sMt|t jrTt| dkrTtd|
q7d|v rjg d}|d |vrjtd|d|v rg d}|d |vrtd|d|v rdg}|d |vrtd|d|v rddg}|d |vrtd||	dt
|	dt
|	dt
|	dt
|	dt
|	dt
d}dd t |D }d d |	d!t
d"}d#d t |D }| jj|	d$| jd%}|rt|tjs	| j| || j |j| jj|||	||d&|	d'|||d(S | jj|||	||d&|	d'|||d(
S ))a&  
        Gets the upgrade history for a specified database in a bare metal or virtual machine DB system.


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

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

        :param str upgrade_action: (optional)
            A filter to return only upgradeHistoryEntries that match the specified Upgrade Action.

            Allowed values are: "PRECHECK", "UPGRADE", "ROLLBACK"

        :param str lifecycle_state: (optional)
            A filter to return only upgradeHistoryEntries that match the given lifecycle state exactly.

            Allowed values are: "SUCCEEDED", "FAILED", "IN_PROGRESS"

        :param str sort_by: (optional)
            The field to sort by.  You can provide one sort order (`sortOrder`).  Default order for TIMECREATED is ascending.

            Allowed values are: "TIMESTARTED"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.DatabaseUpgradeHistoryEntrySummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_database_upgrade_history_entries.py.html>`__ to see an example of how to use list_database_upgrade_history_entries API.
        r   z-/databases/{databaseId}/upgradeHistoryEntriesr  %list_database_upgrade_history_entrieszbhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Database/ListDatabaseUpgradeHistoryEntries)	r   r   upgrade_actionrV  rU  rT  r-   rR  rS  c                    r/   r%   r%   r0   r3   r%   r&   r4    W  r5   zHDatabaseClient.list_database_upgrade_history_entries.<locals>.<listcomp>z>list_database_upgrade_history_entries got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   	W  r=   zHDatabaseClient.list_database_upgrade_history_entries.<locals>.<dictcomp>Nr   r>   r  )PRECHECKUPGRADEROLLBACK6Invalid value for `upgrade_action`, must be one of {0}rV  	SUCCEEDEDra  IN_PROGRESSrb  rU  TIMESTARTEDr\  rT  rW  rX  rY  rR  rS  )upgradeActionre  rd  rc  rR  rS  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   3W  rG   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   :W  rG   r   rH   z(list[DatabaseUpgradeHistoryEntrySummary]r   r,  r   )r"   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   upgrade_action_allowed_valuesrh  rg  rf  r-  rN   r   r%   r3   r&   r  V     :$






z4DatabaseClient.list_database_upgrade_history_entriesc                    s  dg}d}d}d}d}g d  fddt |D }|r$td	|d
|v r9ddg}	|d
 |	vr9td|	d|v rNddg}
|d |
vrNtd|
d|v rcg d}|d |vrctd|||dt|dt|dt|dt|d
t|dt|dt|dtd	}dd t |D }ddd}| jj|d| j	d }|rt
|tjs| j| || j |j| jj||||d!|d"|||d#
S | jj||||d!|d"|||d#	S )$a  
        Gets a list of the databases in the specified Database Home.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param str db_home_id: (optional)
            A Database Home `OCID`__.

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

        :param str system_id: (optional)
            The `OCID`__ of the Exadata DB system that you want to filter the database results by. Applies only to Exadata DB systems.

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str sort_by: (optional)
            The field to sort by.  You can provide one sort order (`sortOrder`).  Default order for TIMECREATED is descending.  Default order for DBNAME is ascending. The DBNAME sort order is case sensitive.

            Allowed values are: "DBNAME", "TIMECREATED"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the given lifecycle state exactly.

            Allowed values are: "PROVISIONING", "AVAILABLE", "UPDATING", "BACKUP_IN_PROGRESS", "UPGRADING", "CONVERTING", "TERMINATING", "TERMINATED", "RESTORE_FAILED", "FAILED"

        :param str db_name: (optional)
            A filter to return only resources that match the entire database name given. The match is not case sensitive.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.DatabaseSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_databases.py.html>`__ to see an example of how to use list_databases API.
        r0  r  r  list_databaseszNhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Database/ListDatabases)
r   r   rg  	system_idrR  rS  rU  rT  rV  db_namec                    r/   r%   r%   r0   r3   r%   r&   r4   W  r5   z1DatabaseClient.list_databases.<locals>.<listcomp>z'list_databases got unknown kwargs: {!r}rU  ZDBNAMEr[  r\  rT  rW  rX  rY  rV  )
r]  r^  rx  ry  r  Z
CONVERTINGr_  r`  rz  ra  rb  rg  r  rR  rS  r  )	r0  rc  ZsystemIdrR  rS  rd  rc  re  ZdbNamec                 S   rE   rF   r7   r9   r%   r%   r&   r<   W  rG   z1DatabaseClient.list_databases.<locals>.<dictcomp>r?   r  r   rH   zlist[DatabaseSummary]r   r8  r  r  r%   r3   r&   r  ^W  s   ?







zDatabaseClient.list_databasesc                    ri  )al  
        Lists the history of patch operations on the specified Database Home.


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

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.PatchHistoryEntrySummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_db_home_patch_history_entries.py.html>`__ to see an example of how to use list_db_home_patch_history_entries API.
        rc  z'/dbHomes/{dbHomeId}/patchHistoryEntriesr  "list_db_home_patch_history_entrieszghttps://docs.oracle.com/iaas/api/#/en/database/20160918/PatchHistoryEntry/ListDbHomePatchHistoryEntriesrk  c                    r/   r%   r%   r0   r3   r%   r&   r4   ,X  r5   zEDatabaseClient.list_db_home_patch_history_entries.<locals>.<listcomp>z;list_db_home_patch_history_entries got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   5X  r=   zEDatabaseClient.list_db_home_patch_history_entries.<locals>.<dictcomp>Nr   r>   rR  rS  rl  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   ?X  rG   r?   r  r   rH   list[PatchHistoryEntrySummary]r   r,  r   rf  r%   r3   r&   r  W  rm  z1DatabaseClient.list_db_home_patch_history_entriesc                    ri  )a7  
        Lists patches applicable to the requested Database Home.


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

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.PatchSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_db_home_patches.py.html>`__ to see an example of how to use list_db_home_patches API.
        rc  z/dbHomes/{dbHomeId}/patchesr  list_db_home_patcheszOhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Patch/ListDbHomePatchesrk  c                    r/   r%   r%   r0   r3   r%   r&   r4   X  r5   z7DatabaseClient.list_db_home_patches.<locals>.<listcomp>z-list_db_home_patches got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   X  r=   z7DatabaseClient.list_db_home_patches.<locals>.<dictcomp>Nr   r>   rR  rS  rl  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   X  rG   r?   r  r   rH   list[PatchSummary]r   r,  r   rf  r%   r3   r&   r  hX  rm  z#DatabaseClient.list_db_home_patchesc                    s  dg}d}d}d}d}g d  fddt |D }|r$td	|d
|v r9ddg}	|d
 |	vr9td|	d|v rNddg}
|d |
vrNtd|
d|v rcg d}|d |vrctd|||dt|dt|dt|dt|dt|dt|d
t|dt|dt|dtd}dd t |D }ddd }| jj|d!| j	d"}|rt
|tjs| j| || j |j| jj||||d#|d$|||d%
S | jj||||d#|d$|||d%	S )&a}  
        Lists the Database Homes in the specified DB system and compartment. A Database Home is a directory where Oracle Database software is installed.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param str db_system_id: (optional)
            The DB system `OCID`__. If provided, filters the results to the set of database versions which are supported for the DB system.

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

        :param str vm_cluster_id: (optional)
            The `OCID`__ of the VM cluster.

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

        :param str backup_id: (optional)
            The `OCID`__ of the backup. Specify a backupId to list only the DB systems or DB homes that support creating a database using this backup in this compartment.

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

        :param str db_version: (optional)
            A filter to return only DB Homes that match the specified dbVersion.

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str sort_by: (optional)
            The field to sort by.  You can provide one sort order (`sortOrder`).  Default order for TIMECREATED is descending.  Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.

            Allowed values are: "TIMECREATED", "DISPLAYNAME"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the given lifecycle state exactly.

            Allowed values are: "PROVISIONING", "AVAILABLE", "UPDATING", "TERMINATING", "TERMINATED", "FAILED"

        :param str display_name: (optional)
            A filter to return only resources that match the entire display name given. The match is not case sensitive.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.DbHomeSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_db_homes.py.html>`__ to see an example of how to use list_db_homes API.
        r0  r  r  list_db_homeszJhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DbHome/ListDbHomes)r   r   r   r   r   r  rR  rS  rU  rT  rV  rs  c                    r/   r%   r%   r0   r3   r%   r&   r4   0Y  r5   z0DatabaseClient.list_db_homes.<locals>.<listcomp>z&list_db_homes got unknown kwargs: {!r}rU  r[  rZ  r\  rT  rW  rX  rY  rV  r]  r^  rx  r_  r`  ra  rb  r   r   r   r  rR  rS  rs  )r0  r   r}   r   r  rR  rS  rd  rc  re  r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   WY  rG   z0DatabaseClient.list_db_homes.<locals>.<dictcomp>r?   r  r   rH   zlist[DbHomeSummary]r   r8  r  r  r%   r3   r&   r  X  s   G









zDatabaseClient.list_db_homesc                    s  dg}d}d}d}d}g d  fddt |D }|r$td	|d
|v r8dg}	|d
 |	vr8td|	d|v rMddg}
|d |
vrMtd|
d|v rbg d}|d |vrbtd|||dt|dt|dt|dt|d
t|dt|dt|dtd	}dd t |D }ddd}| jj|d| j	d}|rt
|tjs| j| || j |j| jj||||d |d!|||d"
S | jj||||d |d!|||d"	S )#aX  
        Lists the database nodes in the specified DB system and compartment. A database node is a server running database software.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param str db_system_id: (optional)
            The DB system `OCID`__. If provided, filters the results to the set of database versions which are supported for the DB system.

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

        :param str vm_cluster_id: (optional)
            The `OCID`__ of the VM cluster.

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str sort_by: (optional)
            Sort by TIMECREATED.  Default order for TIMECREATED is descending.

            Allowed values are: "TIMECREATED"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the given lifecycle state exactly.

            Allowed values are: "PROVISIONING", "AVAILABLE", "UPDATING", "STOPPING", "STOPPED", "STARTING", "TERMINATING", "TERMINATED", "FAILED"

        :param str db_server_id: (optional)
            The `OCID`__ of the Exacc Db server.

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

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.DbNodeSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_db_nodes.py.html>`__ to see an example of how to use list_db_nodes API.
        r0  z/dbNodesr  list_db_nodeszJhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DbNode/ListDbNodes)
r   r   r   r   rR  rS  rU  rT  rV  r  c                    r/   r%   r%   r0   r3   r%   r&   r4   Y  r5   z0DatabaseClient.list_db_nodes.<locals>.<listcomp>z&list_db_nodes got unknown kwargs: {!r}rU  r[  r\  rT  rW  rX  rY  rV  )	r]  r^  rx  r  r  r  r_  r`  ra  rb  r   r   rR  rS  r  )	r0  r   r}   rR  rS  rd  rc  re  r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   Y  rG   z0DatabaseClient.list_db_nodes.<locals>.<dictcomp>r?   r  r   rH   zlist[DbNodeSummary]r   r8  r  r  r%   r3   r&   r  ~Y  s   A







zDatabaseClient.list_db_nodesc                    s  ddg}d}d}d}d}g d  fdd	t |D }	|	r%td
|	d|v r:ddg}
|d |
vr:td|
d|v rNdg}|d |vrNtd|d|v rcg d}|d |vrctd||||dt|dt|dt|dt|dt|dtd}dd t |D }dd|dtd}dd t |D }| jj|d| j	d }|rt
|tjs| j| || j |j| jj||||d!|d"|||d#
S | jj||||d!|d"|||d#	S )$av  
        Lists the Exadata DB servers in the ExadataInfrastructureId and specified compartment.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param str exadata_infrastructure_id: (required)
            The `OCID`__ of the ExadataInfrastructure.

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str sort_by: (optional)
            Sort by TIMECREATED.  Default order for TIMECREATED is descending.

            Allowed values are: "TIMECREATED"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the given lifecycle state exactly.

            Allowed values are: "CREATING", "AVAILABLE", "UNAVAILABLE", "DELETING", "DELETED", "MAINTENANCE_IN_PROGRESS"

        :param str display_name: (optional)
            A filter to return only resources that match the entire display name given. The match is not case sensitive.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.DbServerSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_db_servers.py.html>`__ to see an example of how to use list_db_servers API.
        r0  r)   z
/dbServersr  list_db_serverszNhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DbServer/ListDbServers)	r   r   rR  rS  rT  r-   rU  rV  rs  c                    r/   r%   r%   r0   r3   r%   r&   r4   mZ  r5   z2DatabaseClient.list_db_servers.<locals>.<listcomp>z(list_db_servers got unknown kwargs: {!r}rT  rW  rX  rY  rU  r[  r\  rV  )r  r^  r~  r  r  r|  rb  rR  rS  rs  )r0  r)   rR  rS  rc  rd  re  r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   Z  rG   z2DatabaseClient.list_db_servers.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   Z  rG   r   rH   zlist[DbServerSummary]r   r8  r  )r"   r9  rd   r$   rS   rK   rL   rQ   rR   re   rf  rg  rh  r-  rN   r   r%   r3   r&   r  Z  s   =







zDatabaseClient.list_db_serversc                    s  g }d}d}d}d}g d  fddt |D }|r#td|d	|d
ti}dd t |D }dd|dtd}	dd t |	D }	| jj|d| j	d}
|
r}t
|
tjsi| j|	 |
| j |
j| jj||||	d|d|||d
S | jj||||	d|d|||d	S )a?  
        Gets a list of expected compute performance parameters for a virtual machine DB system based on system configuration.


        :param str db_system_shape: (optional)
            If provided, filters the results to the set of database versions which are supported for the given shape.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.DbSystemComputePerformanceSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_db_system_compute_performances.py.html>`__ to see an example of how to use list_db_system_compute_performances API.
        z/dbSystemComputePerformancer  #list_db_system_compute_performancesz`https://docs.oracle.com/iaas/api/#/en/database/20160918/DbSystem/ListDbSystemComputePerformances)r   r   db_system_shaper-   c                    r/   r%   r%   r0   r3   r%   r&   r4   Z  r5   zFDatabaseClient.list_db_system_compute_performances.<locals>.<listcomp>z<list_db_system_compute_performances got unknown kwargs: {!r}dbSystemShaper  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   Z  rG   zFDatabaseClient.list_db_system_compute_performances.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   Z  rG   r   rH   z'list[DbSystemComputePerformanceSummary]r   r8  r  r  r%   r3   r&   r  Z  sd   
z2DatabaseClient.list_db_system_compute_performancesc                    ri  )at  
        Gets the history of the patch actions performed on the specified DB system.


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

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.PatchHistoryEntrySummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_db_system_patch_history_entries.py.html>`__ to see an example of how to use list_db_system_patch_history_entries API.
        r   z+/dbSystems/{dbSystemId}/patchHistoryEntriesr  $list_db_system_patch_history_entrieszihttps://docs.oracle.com/iaas/api/#/en/database/20160918/PatchHistoryEntry/ListDbSystemPatchHistoryEntriesrk  c                    r/   r%   r%   r0   r3   r%   r&   r4   F[  r5   zGDatabaseClient.list_db_system_patch_history_entries.<locals>.<listcomp>z=list_db_system_patch_history_entries got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   O[  r=   zGDatabaseClient.list_db_system_patch_history_entries.<locals>.<dictcomp>Nr   r>   rR  rS  rl  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   Y[  rG   r?   r  r   rH   r  r   r,  r   r"   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   r-  rN   r   r%   r3   r&   r  [  rm  z3DatabaseClient.list_db_system_patch_history_entriesc                    ri  )a9  
        Lists the patches applicable to the specified DB system.


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

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.PatchSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_db_system_patches.py.html>`__ to see an example of how to use list_db_system_patches API.
        r   z/dbSystems/{dbSystemId}/patchesr  list_db_system_patcheszQhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Patch/ListDbSystemPatchesrk  c                    r/   r%   r%   r0   r3   r%   r&   r4   [  r5   z9DatabaseClient.list_db_system_patches.<locals>.<listcomp>z/list_db_system_patches got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   [  r=   z9DatabaseClient.list_db_system_patches.<locals>.<dictcomp>Nr   r>   rR  rS  rl  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   [  rG   r?   r  r   rH   r  r   r,  r   r  r%   r3   r&   r  [  rm  z%DatabaseClient.list_db_system_patchesc                    s  dg}d}d}d}d}g d  fddt |D }|r$td	||d
t||dt|dtd}	dd t |	D }	ddd}
| jj|d| j	d}|rzt
|tjsf| j|
 || j |j| jj|||	|
d|d|||d
S | jj|||	|
d|d|||d	S )aX  
        Gets a list of the shapes that can be used to launch a new DB system. The shape determines resources to allocate to the DB system - CPU cores and memory for VM shapes; CPU cores, memory and storage for non-VM (or bare metal) shapes.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param str availability_domain: (optional)
            The name of the Availability Domain.

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.DbSystemShapeSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_db_system_shapes.py.html>`__ to see an example of how to use list_db_system_shapes API.
        r0  z/dbSystemShapesr  list_db_system_shapesz_https://docs.oracle.com/iaas/api/#/en/database/20160918/DbSystemShapeSummary/ListDbSystemShapes)r   r   rr  rR  rS  c                    r/   r%   r%   r0   r3   r%   r&   r4   "\  r5   z8DatabaseClient.list_db_system_shapes.<locals>.<listcomp>z.list_db_system_shapes got unknown kwargs: {!r}rr  rR  rS  r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   -\  rG   z8DatabaseClient.list_db_system_shapes.<locals>.<dictcomp>r?   r  r   rH   zlist[DbSystemShapeSummary]r   r8  r  r  r%   r3   r&   r  [  sf   &


z$DatabaseClient.list_db_system_shapesc                    s@  dg}d}d}d}d}g d  fddt |D }|r$td	|d
dg}	||	vr3td|	||dtd}
dd t |
D }
dd|dtd}dd t |D }| jj|d| j	d}|rt
|tjsz| j| || j |j| jj|||
|d|d|||d
S | jj|||
|d|d|||d	S )a  
        Gets a list of possible expected storage performance parameters of a VMDB System based on Configuration.


        :param str storage_management: (required)
            The DB system storage management option. Used to list database versions available for that storage manager. Valid values are `ASM` and `LVM`.
            * ASM specifies Oracle Automatic Storage Management
            * LVM specifies logical volume manager, sometimes called logical disk manager.

            Allowed values are: "ASM", "LVM"

        :param str shape_type: (optional)
            Optional. Filters the performance results by shape type.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.DbSystemStoragePerformanceSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_db_system_storage_performances.py.html>`__ to see an example of how to use list_db_system_storage_performances API.
        storageManagementz/dbSystemStoragePerformancer  #list_db_system_storage_performancesz`https://docs.oracle.com/iaas/api/#/en/database/20160918/DbSystem/ListDbSystemStoragePerformances)r   r   
shape_typer-   c                    r/   r%   r%   r0   r3   r%   r&   r4   \  r5   zFDatabaseClient.list_db_system_storage_performances.<locals>.<listcomp>z<list_db_system_storage_performances got unknown kwargs: {!r}ASMLVM:Invalid value for `storage_management`, must be one of {0}r  )r  Z	shapeTypec                 S   rE   rF   r7   r9   r%   r%   r&   r<   \  rG   zFDatabaseClient.list_db_system_storage_performances.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   \  rG   r   rH   z'list[DbSystemStoragePerformanceSummary]r   r8  r  )r"   storage_managementr$   rS   rK   rL   rQ   rR   re   !storage_management_allowed_valuesr-  rN   r   r%   r3   r&   r  T\  sp   %

z2DatabaseClient.list_db_system_storage_performancesc                    sb  dg}d}d}d}d}g d  fddt |D }|r$td	|d|i}	d
d t |	D }	t |	D ]\}
}|du sMt|t jrTt| dkrTtd|
q7d|v rjddg}|d |vrjtd|d|v r~dg}|d |vr~td|d|v rg d}|d |vrtd|d|v rg d}|d |vrtd||	dt
|	dt
|	dt
|	dt
|	dt
|	dt
d}dd t |D }d d |	d!t
d"}d#d t |D }| jj|	d$| jd%}|rt|tjs	| j| || j |j| jj|||	||d&|	d'|||d(S | jj|||	||d&|	d'|||d(
S ))aO  
        Gets the history of the upgrade actions performed on the specified DB system.


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

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str sort_by: (optional)
            The field to sort by.  You can provide one sort order (`sortOrder`).  Default order for TIMECREATED is ascending.

            Allowed values are: "TIMESTARTED"

        :param str upgrade_action: (optional)
            A filter to return only upgradeHistoryEntries that match the specified Upgrade Action.

            Allowed values are: "PRECHECK", "ROLLBACK", "UPDATE_SNAPSHOT_RETENTION_DAYS", "UPGRADE"

        :param str lifecycle_state: (optional)
            A filter to return only upgrade history entries that match the given lifecycle state exactly.

            Allowed values are: "IN_PROGRESS", "SUCCEEDED", "FAILED", "NEEDS_ATTENTION"

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.DbSystemUpgradeHistoryEntrySummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_db_system_upgrade_history_entries.py.html>`__ to see an example of how to use list_db_system_upgrade_history_entries API.
        r   z-/dbSystems/{dbSystemId}/upgradeHistoryEntriesr  &list_db_system_upgrade_history_entrieszuhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DbSystemUpgradeHistoryEntry/ListDbSystemUpgradeHistoryEntries)	r   r   rR  rS  rT  rU  r  rV  r-   c                    r/   r%   r%   r0   r3   r%   r&   r4   
]  r5   zIDatabaseClient.list_db_system_upgrade_history_entries.<locals>.<listcomp>z?list_db_system_upgrade_history_entries got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   ]  r=   zIDatabaseClient.list_db_system_upgrade_history_entries.<locals>.<dictcomp>Nr   r>   rT  rW  rX  rY  rU  r  r\  r  )r  r  ZUPDATE_SNAPSHOT_RETENTION_DAYSr  r  rV  )r  r  ra  NEEDS_ATTENTIONrb  rR  rS  )rR  rS  rc  rd  r  re  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   =]  rG   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   D]  rG   r   rH   z(list[DbSystemUpgradeHistoryEntrySummary]r   r,  r   )r"   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rf  rg  r  rh  r-  rN   r   r%   r3   r&   r  \  s   :$






z5DatabaseClient.list_db_system_upgrade_history_entriesc                    s  dg}d}d}d}d}g d  fddt |D }|r$td	|d
|v r9ddg}	|d
 |	vr9td|	d|v rNddg}
|d |
vrNtd|
d|v rcg d}|d |vrctd|||dt|dt|dt|d
t|dt|dt|dt|dtd	}dd t |D }ddd}| jj|d| j	d }|rt
|tjs| j| || j |j| jj||||d!|d"|||d#
S | jj||||d!|d"|||d#	S )$a0  
        Lists the DB systems in the specified compartment. You can specify a `backupId` to list only the DB systems that support creating a database using this backup in this 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 compartment_id: (required)
            The compartment `OCID`__.

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str backup_id: (optional)
            The `OCID`__ of the backup. Specify a backupId to list only the DB systems or DB homes that support creating a database using this backup in this compartment.

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

        :param str sort_by: (optional)
            The field to sort by.  You can provide one sort order (`sortOrder`).  Default order for TIMECREATED is descending.  Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.

            **Note:** If you do not include the availability domain filter, the resources are grouped by availability domain, then sorted.

            Allowed values are: "TIMECREATED", "DISPLAYNAME"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the given lifecycle state exactly.

            Allowed values are: "PROVISIONING", "AVAILABLE", "UPDATING", "TERMINATING", "TERMINATED", "FAILED", "MIGRATED", "MAINTENANCE_IN_PROGRESS", "NEEDS_ATTENTION", "UPGRADING"

        :param str availability_domain: (optional)
            A filter to return only resources that match the given availability domain exactly.

        :param str display_name: (optional)
            A filter to return only resources that match the entire display name given. The match is not case sensitive.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.DbSystemSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_db_systems.py.html>`__ to see an example of how to use list_db_systems API.
        r0  rO  r  list_db_systemszNhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DbSystem/ListDbSystems)
r   r   rR  rS  r   rU  rT  rV  rr  rs  c                    r/   r%   r%   r0   r3   r%   r&   r4   ]  r5   z2DatabaseClient.list_db_systems.<locals>.<listcomp>z(list_db_systems got unknown kwargs: {!r}rU  r[  rZ  r\  rT  rW  rX  rY  rV  )
r]  r^  rx  r_  r`  ra  ZMIGRATEDr|  r  r  rb  rR  rS  r   rr  rs  )	r0  rR  rS  r   rd  rc  re  r  r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   ]  rG   z2DatabaseClient.list_db_systems.<locals>.<dictcomp>r?   r  r   rH   zlist[DbSystemSummary]r   r8  r  r  r%   r3   r&   r  h]  s   F







zDatabaseClient.list_db_systemsc                    sj  dg}d}d}d}d}g d  fddt |D }|r$td	|d
|v r9ddg}	|d
 |	vr9td|	||dt|dt|dt|dt|d
t|dt|dtd}
dd t |
D }
ddd}| jj|d| j	d}|rt
|tjs| j| || j |j| jj|||
|d|d|||d
S | jj|||
|d|d|||d	S )a  
        Gets a list of supported Oracle Database versions.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str db_system_shape: (optional)
            If provided, filters the results to the set of database versions which are supported for the given shape.

        :param str db_system_id: (optional)
            The DB system `OCID`__. If provided, filters the results to the set of database versions which are supported for the DB system.

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

        :param str storage_management: (optional)
            The DB system storage management option. Used to list database versions available for that storage manager. Valid values are `ASM` and `LVM`.
            * ASM specifies Oracle Automatic Storage Management
            * LVM specifies logical volume manager, sometimes called logical disk manager.

            Allowed values are: "ASM", "LVM"

        :param bool is_upgrade_supported: (optional)
            If provided, filters the results to the set of database versions which are supported for Upgrade.

        :param bool is_database_software_image_supported: (optional)
            If true, filters the results to the set of Oracle Database versions that are supported for OCI database software images.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.DbVersionSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_db_versions.py.html>`__ to see an example of how to use list_db_versions API.
        r0  z/dbVersionsr  list_db_versionszWhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DbVersionSummary/ListDbVersions)	r   r   rR  rS  r  r   r  r  $is_database_software_image_supportedc                    r/   r%   r%   r0   r3   r%   r&   r4   W^  r5   z3DatabaseClient.list_db_versions.<locals>.<listcomp>z)list_db_versions got unknown kwargs: {!r}r  r  r  r  rR  rS  r  r   r  r  )r0  rR  rS  r  r   r  r  Z isDatabaseSoftwareImageSupportedc                 S   rE   rF   r7   r9   r%   r%   r&   r<   m^  rG   z3DatabaseClient.list_db_versions.<locals>.<dictcomp>r?   r  r   rH   zlist[DbVersionSummary]r   r8  r  )r"   r9  r$   rS   rK   rL   rQ   rR   re   r  r-  rN   r   r%   r3   r&   r  ^  sz   8







zDatabaseClient.list_db_versionsc                    s  dg}d}d}d}d}g d  fddt |D }|r$td	|d
|v r9ddg}	|d
 |	vr9td|	d|v rNddg}
|d |
vrNtd|
d|v rcg d}|d |vrctd|d|v r|dg}|d D ]}||vr{td|qn||dt|dt|d
t|dt|dt|dt| j|dtdd}dd t |D }dd|d td!}d"d t |D }| jj	|d#| j
d$}|rt|tjs| j| || j |j| jj||||d%|d&|||d'
S | jj||||d%|d&|||d'	S )(aU  
        Lists the Exadata infrastructure resources in the specified compartment. Applies to Exadata Cloud@Customer instances only.
        To list the Exadata Cloud Service infrastructure resources in a compartment, use the  :func:`list_cloud_exadata_infrastructures` operation.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str sort_by: (optional)
            The field to sort by.  You can provide one sort order (`sortOrder`).  Default order for TIMECREATED is descending.  Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.

            Allowed values are: "TIMECREATED", "DISPLAYNAME"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the given lifecycle state exactly.

            Allowed values are: "CREATING", "REQUIRES_ACTIVATION", "ACTIVATING", "ACTIVE", "ACTIVATION_FAILED", "FAILED", "UPDATING", "DELETING", "DELETED", "DISCONNECTED", "MAINTENANCE_IN_PROGRESS", "WAITING_FOR_CONNECTIVITY"

        :param str display_name: (optional)
            A filter to return only resources that match the entire display name given. The match is not case sensitive.

        :param list[str] excluded_fields: (optional)
            If provided, the specified fields will be excluded in the response.

            Allowed values are: "multiRackConfigurationFile"

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.ExadataInfrastructureSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_exadata_infrastructures.py.html>`__ to see an example of how to use list_exadata_infrastructures API.
        r0  r
  r  list_exadata_infrastructureszhhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExadataInfrastructure/ListExadataInfrastructures)
r   r   rR  rS  r-   rU  rT  rV  rs  r!  c                    r/   r%   r%   r0   r3   r%   r&   r4   ^  r5   z?DatabaseClient.list_exadata_infrastructures.<locals>.<listcomp>z5list_exadata_infrastructures got unknown kwargs: {!r}rU  r[  rZ  r\  rT  rW  rX  rY  rV  )r  ZREQUIRES_ACTIVATIONZ
ACTIVATINGr  ZACTIVATION_FAILEDra  rx  r  r  ZDISCONNECTEDr|  ZWAITING_FOR_CONNECTIVITYrb  r!  r"  r#  rR  rS  rs  r  )r0  rR  rS  rd  rc  re  r  r$  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   _  rG   z?DatabaseClient.list_exadata_infrastructures.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   _  rG   r   rH   z"list[ExadataInfrastructureSummary]r   r8  )r   rU   rV   rW   r   r8   r    r  rX   r]   r   rY   r   r^   r`   ra   r   rb   rc   )r"   r9  r$   rS   rK   rL   rQ   rR   re   rg  rf  rh  r%  r&  r-  rN   r   r%   r3   r&   r  ^  s   >







z+DatabaseClient.list_exadata_infrastructuresc                    r  )$a  
        Gets a list of the external container databases in the specified compartment.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str sort_by: (optional)
            The field to sort by. You can provide one sort order (`sortOrder`).
            Default order for TIMECREATED is descending.
            Default order for DISPLAYNAME is ascending.
            The DISPLAYNAME sort order is case sensitive.

            Allowed values are: "DISPLAYNAME", "TIMECREATED"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the specified lifecycle state.

            Allowed values are: "PROVISIONING", "NOT_CONNECTED", "AVAILABLE", "UPDATING", "TERMINATING", "TERMINATED", "FAILED"

        :param str display_name: (optional)
            A filter to return only resources that match the entire display name given. The match is not case sensitive.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.ExternalContainerDatabaseSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_external_container_databases.py.html>`__ to see an example of how to use list_external_container_databases API.
        r0  r  r  !list_external_container_databaseszphttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalContainerDatabase/ListExternalContainerDatabases	r   r   r-   rR  rS  rU  rT  rV  rs  c                    r/   r%   r%   r0   r3   r%   r&   r4   _  r5   zDDatabaseClient.list_external_container_databases.<locals>.<listcomp>z:list_external_container_databases got unknown kwargs: {!r}rU  rZ  r[  r\  rT  rW  rX  rY  rV  r]  ZNOT_CONNECTEDr^  rx  r_  r`  ra  rb  rR  rS  rs  r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   _  rG   zDDatabaseClient.list_external_container_databases.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   _  rG   r   rH   z&list[ExternalContainerDatabaseSummary]r   r8  r  r  r%   r3   r&   r  :_     ;





	
z0DatabaseClient.list_external_container_databasesc                    s  ddg}d}d}d}d}g d  fdd	t |D }	|	r%td
|	d|v r:ddg}
|d |
vr:td|
d|v rOddg}|d |vrOtd|d|v rdg d}|d |vrdtd||||dt|dt|dt|dt|dt|dtd}dd t |D }dd|dtd}dd t |D }| jj|d | j	d!}|rt
|tjs| j| || j |j| jj||||d"|d#|||d$
S | jj||||d"|d#|||d$	S )%af  
        Gets a list of the external database connectors in the specified compartment.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param str external_database_id: (required)
            The `OCID`__ of the external database whose connectors will be listed.

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str sort_by: (optional)
            The field to sort by. You can provide one sort order (`sortOrder`).
            Default order for TIMECREATED is descending.
            Default order for DISPLAYNAME is ascending.
            The DISPLAYNAME sort order is case sensitive.

            Allowed values are: "DISPLAYNAME", "TIMECREATED"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the specified lifecycle state.

            Allowed values are: "PROVISIONING", "AVAILABLE", "UPDATING", "TERMINATING", "TERMINATED", "FAILED"

        :param str display_name: (optional)
            A filter to return only resources that match the entire display name given. The match is not case sensitive.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.ExternalDatabaseConnectorSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_external_database_connectors.py.html>`__ to see an example of how to use list_external_database_connectors API.
        r0  externalDatabaseIdr  r  !list_external_database_connectorszphttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalDatabaseConnector/ListExternalDatabaseConnectorsr  c                    r/   r%   r%   r0   r3   r%   r&   r4   %`  r5   zDDatabaseClient.list_external_database_connectors.<locals>.<listcomp>z:list_external_database_connectors got unknown kwargs: {!r}rU  rZ  r[  r\  rT  rW  rX  rY  rV  r  rb  rR  rS  rs  )r0  r  rR  rS  rd  rc  re  r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   I`  rG   zDDatabaseClient.list_external_database_connectors.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   P`  rG   r   rH   z&list[ExternalDatabaseConnectorSummary]r   r8  r  )r"   r9  Zexternal_database_idr$   rS   rK   rL   rQ   rR   re   rg  rf  rh  r-  rN   r   r%   r3   r&   r  _  s   @







z0DatabaseClient.list_external_database_connectorsc                    r  )$a  
        Gets a list of the ExternalNonContainerDatabases in the specified compartment.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str sort_by: (optional)
            The field to sort by. You can provide one sort order (`sortOrder`).
            Default order for TIMECREATED is descending.
            Default order for DISPLAYNAME is ascending.
            The DISPLAYNAME sort order is case sensitive.

            Allowed values are: "DISPLAYNAME", "TIMECREATED"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the specified lifecycle state.

            Allowed values are: "PROVISIONING", "NOT_CONNECTED", "AVAILABLE", "UPDATING", "TERMINATING", "TERMINATED", "FAILED"

        :param str display_name: (optional)
            A filter to return only resources that match the entire display name given. The match is not case sensitive.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.ExternalNonContainerDatabaseSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_external_non_container_databases.py.html>`__ to see an example of how to use list_external_non_container_databases API.
        r0  r  r  %list_external_non_container_databaseszvhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalNonContainerDatabase/ListExternalNonContainerDatabasesr  c                    r/   r%   r%   r0   r3   r%   r&   r4   `  r5   zHDatabaseClient.list_external_non_container_databases.<locals>.<listcomp>z>list_external_non_container_databases got unknown kwargs: {!r}rU  rZ  r[  r\  rT  rW  rX  rY  rV  r  rb  rR  rS  rs  r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   `  rG   zHDatabaseClient.list_external_non_container_databases.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   `  rG   r   rH   z)list[ExternalNonContainerDatabaseSummary]r   r8  r  r  r%   r3   r&   r  r`  r   z4DatabaseClient.list_external_non_container_databasesc                    r  )%a  
        Gets a list of the :func:`create_external_pluggable_database_details`
        resources in the specified compartment.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

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

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str sort_by: (optional)
            The field to sort by. You can provide one sort order (`sortOrder`).
            Default order for TIMECREATED is descending.
            Default order for DISPLAYNAME is ascending.
            The DISPLAYNAME sort order is case sensitive.

            Allowed values are: "DISPLAYNAME", "TIMECREATED"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the specified lifecycle state.

            Allowed values are: "PROVISIONING", "NOT_CONNECTED", "AVAILABLE", "UPDATING", "TERMINATING", "TERMINATED", "FAILED"

        :param str display_name: (optional)
            A filter to return only resources that match the entire display name given. The match is not case sensitive.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.ExternalPluggableDatabaseSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_external_pluggable_databases.py.html>`__ to see an example of how to use list_external_pluggable_databases API.
        r0  r  r  !list_external_pluggable_databaseszphttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalPluggableDatabase/ListExternalPluggableDatabases)
r   r   r-   r   rR  rS  rU  rT  rV  rs  c                    r/   r%   r%   r0   r3   r%   r&   r4   _a  r5   zDDatabaseClient.list_external_pluggable_databases.<locals>.<listcomp>z:list_external_pluggable_databases got unknown kwargs: {!r}rU  rZ  r[  r\  rT  rW  rX  rY  rV  r  rb  r   rR  rS  rs  )r0  r   rR  rS  rd  rc  re  r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   a  rG   zDDatabaseClient.list_external_pluggable_databases.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   a  rG   r   rH   z&list[ExternalPluggableDatabaseSummary]r   r8  r  r  r%   r3   r&   r  a  s   A








z0DatabaseClient.list_external_pluggable_databasesc                    s~  dg}d}d}d}d}g d  fddt |D }|r$td	|d
|v r9ddg}	|d
 |	vr9td|	d|v rMdg}
|d |
vrMtd|
||dt|d
t|dt|dt|dtd}dd t |D }ddd}| jj|d| j	d}|rt
|tjs| j| || j |j| jj||||d|d|||d
S | jj||||d|d|||d	S )a	  
        Gets a list of the flex components that can be used to launch a new DB system. The flex component determines resources to allocate to the DB system - Database Servers and Storage Servers.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param str name: (optional)
            A filter to return only resources that match the entire name given. The match is not case sensitive.

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str sort_by: (optional)
            The field to sort by.  You can provide one sort order (`sortOrder`).  Default order for NAME is ascending. The NAME sort order is case sensitive.

            Allowed values are: "NAME"

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.FlexComponentCollection`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_flex_components.py.html>`__ to see an example of how to use list_flex_components API.
        r0  z/dbSystemShapes/flexComponentsr  list_flex_componentszbhttps://docs.oracle.com/iaas/api/#/en/database/20160918/FlexComponentCollection/ListFlexComponents)r   r   namerT  rU  rR  rS  c                    r/   r%   r%   r0   r3   r%   r&   r4   a  r5   z7DatabaseClient.list_flex_components.<locals>.<listcomp>z-list_flex_components got unknown kwargs: {!r}rT  rW  rX  rY  rU  NAMEr\  r  rR  rS  )r0  r  rc  rd  rR  rS  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   b  rG   z7DatabaseClient.list_flex_components.<locals>.<dictcomp>r?   r  r   rH   ZFlexComponentCollectionr   r8  r  )r"   r9  r$   rS   rK   rL   rQ   rR   re   rf  rg  r-  rN   r   r%   r3   r&   r  a  s   0	




z#DatabaseClient.list_flex_componentsc                    sL  dg}d}d}d}d}g d  fddt |D }|r$td	|d
|v r9ddg}	|d
 |	vr9td|	||dt|dt|d
t|dtd}
dd t |
D }
ddd}| jj|d| j	d}|rt
|tjs| j| || j |j| jj|||
|d|d|||d
S | jj|||
|d|d|||d	S )ab  
        Gets a list of supported GI versions for the Exadata Cloud@Customer VM cluster.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str shape: (optional)
            If provided, filters the results for the given shape.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.GiVersionSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_gi_versions.py.html>`__ to see an example of how to use list_gi_versions API.
        r0  z/giVersionsr  list_gi_versionszWhttps://docs.oracle.com/iaas/api/#/en/database/20160918/GiVersionSummary/ListGiVersions)r   r   rR  rS  rT  shapec                    r/   r%   r%   r0   r3   r%   r&   r4   hb  r5   z3DatabaseClient.list_gi_versions.<locals>.<listcomp>z)list_gi_versions got unknown kwargs: {!r}rT  rW  rX  rY  rR  rS  r	  )r0  rR  rS  rc  r	  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   {b  rG   z3DatabaseClient.list_gi_versions.<locals>.<dictcomp>r?   r  r   rH   zlist[GiVersionSummary]r   r8  r  )r"   r9  r$   rS   rK   rL   rQ   rR   re   rf  r-  rN   r   r%   r3   r&   r  .b  st   +



zDatabaseClient.list_gi_versionsc                    s,  dg}d}d}d}d}g d  fddt |D }|r$td	|||d
t|dtd}	dd t |	D }	dd|dtd}
dd t |
D }
| jj|d| j	d}|rt
|tjsp| j|
 || j |j| jj|||	|
d|d|||d
S | jj|||	|
d|d|||d	S )a  
        Gets a list of key stores in the specified compartment.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.KeyStoreSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_key_stores.py.html>`__ to see an example of how to use list_key_stores API.
        r0  r  r  list_key_storeszUhttps://docs.oracle.com/iaas/api/#/en/database/20160918/KeyStoreSummary/ListKeyStoresr  c                    r/   r%   r%   r0   r3   r%   r&   r4   b  r5   z2DatabaseClient.list_key_stores.<locals>.<listcomp>z(list_key_stores got unknown kwargs: {!r}rR  rS  )r0  rR  rS  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   b  rG   z2DatabaseClient.list_key_stores.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   b  rG   r   rH   zlist[KeyStoreSummary]r   r8  r  r  r%   r3   r&   r
  b  sh   &


zDatabaseClient.list_key_storesc                    ^  dg}d}d}d}d}g d  fddt |D }|r$td	|d
|v r9g d}	|d
 |	vr9td|	d|v rNddg}
|d |
vrNtd|
d|v rcg d}|d |vrctd|d|v rxddg}|d |vrxtd|d|v rg d}|d |vrtd|d|v rg d}|d |vrtd|||dt|d
t|dt|dt|d t|dt|dt|dt|d!t|dtd"}d#d$ t |D }d%d%d&}| jj|d'| j	d(}|rt
|tjs	| j| || j |j| jj||||d)|d*|||d+
S | jj||||d)|d*|||d+	S ),a  
        Gets a list of the maintenance run histories in the specified compartment.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param str target_resource_id: (optional)
            The target resource ID.

        :param str target_resource_type: (optional)
            The type of the target resource.

            Allowed values are: "AUTONOMOUS_EXADATA_INFRASTRUCTURE", "AUTONOMOUS_CONTAINER_DATABASE", "EXADATA_DB_SYSTEM", "CLOUD_EXADATA_INFRASTRUCTURE", "EXACC_INFRASTRUCTURE", "AUTONOMOUS_VM_CLUSTER", "AUTONOMOUS_DATABASE", "CLOUD_AUTONOMOUS_VM_CLUSTER"

        :param str maintenance_type: (optional)
            The maintenance type.

            Allowed values are: "PLANNED", "UNPLANNED"

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str sort_by: (optional)
            The field to sort by.  You can provide one sort order (`sortOrder`).  Default order for TIME_SCHEDULED and TIME_ENDED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.

            **Note:** If you do not include the availability domain filter, the resources are grouped by availability domain, then sorted.

            Allowed values are: "TIME_SCHEDULED", "TIME_ENDED", "DISPLAYNAME"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            The state of the maintenance run history.

            Allowed values are: "SCHEDULED", "IN_PROGRESS", "SUCCEEDED", "SKIPPED", "FAILED", "UPDATING", "DELETING", "DELETED", "CANCELED"

        :param str availability_domain: (optional)
            A filter to return only resources that match the given availability domain exactly.

        :param str maintenance_subtype: (optional)
            The sub-type of the maintenance run.

            Allowed values are: "QUARTERLY", "HARDWARE", "CRITICAL", "INFRASTRUCTURE", "DATABASE", "ONEOFF", "SECURITY_MONTHLY"

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.MaintenanceRunHistorySummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_maintenance_run_history.py.html>`__ to see an example of how to use list_maintenance_run_history API.
        r0  z/maintenanceRunHistoryr  list_maintenance_run_historyzghttps://docs.oracle.com/iaas/api/#/en/database/20160918/MaintenanceRunHistory/ListMaintenanceRunHistoryr   r   r2  r3  maintenance_typerR  rS  rU  rT  rV  rr  maintenance_subtypec                    r/   r%   r%   r0   r3   r%   r&   r4   gc  r5   z?DatabaseClient.list_maintenance_run_history.<locals>.<listcomp>z5list_maintenance_run_history got unknown kwargs: {!r}r3  r4  r5  r  PLANNED	UNPLANNED8Invalid value for `maintenance_type`, must be one of {0}rU  ZTIME_SCHEDULEDZ
TIME_ENDEDrZ  r\  rT  rW  rX  rY  rV  	Z	SCHEDULEDr  r  ZSKIPPEDra  rx  r  r  ZCANCELEDrb  r  Z	QUARTERLYZHARDWARECRITICALZINFRASTRUCTUREr  ZONEOFFZSECURITY_MONTHLY;Invalid value for `maintenance_subtype`, must be one of {0}r2  rR  rS  rr  r0  r6  r7  ZmaintenanceTyperR  rS  rd  rc  re  r  ZmaintenanceSubtypec                 S   rE   rF   r7   r9   r%   r%   r&   r<   c  rG   z?DatabaseClient.list_maintenance_run_history.<locals>.<dictcomp>r?   r  r   rH   z"list[MaintenanceRunHistorySummary]r   r8  r  r"   r9  r$   rS   rK   rL   rQ   rR   re   r:  Zmaintenance_type_allowed_valuesrg  rf  rh  Z"maintenance_subtype_allowed_valuesr-  rN   r   r%   r3   r&   r  	c     I









z+DatabaseClient.list_maintenance_run_historyc                    r  ),a  
        Gets a list of the maintenance runs in the specified compartment.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param str target_resource_id: (optional)
            The target resource ID.

        :param str target_resource_type: (optional)
            The type of the target resource.

            Allowed values are: "AUTONOMOUS_EXADATA_INFRASTRUCTURE", "AUTONOMOUS_CONTAINER_DATABASE", "EXADATA_DB_SYSTEM", "CLOUD_EXADATA_INFRASTRUCTURE", "EXACC_INFRASTRUCTURE", "AUTONOMOUS_VM_CLUSTER", "AUTONOMOUS_DATABASE", "CLOUD_AUTONOMOUS_VM_CLUSTER"

        :param str maintenance_type: (optional)
            The maintenance type.

            Allowed values are: "PLANNED", "UNPLANNED"

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str sort_by: (optional)
            The field to sort by.  You can provide one sort order (`sortOrder`).  Default order for TIME_SCHEDULED and TIME_ENDED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.

            **Note:** If you do not include the availability domain filter, the resources are grouped by availability domain, then sorted.

            Allowed values are: "TIME_SCHEDULED", "TIME_ENDED", "DISPLAYNAME"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the given lifecycle state exactly.

            Allowed values are: "SCHEDULED", "IN_PROGRESS", "SUCCEEDED", "SKIPPED", "FAILED", "UPDATING", "DELETING", "DELETED", "CANCELED"

        :param str availability_domain: (optional)
            A filter to return only resources that match the given availability domain exactly.

        :param str maintenance_subtype: (optional)
            The sub-type of the maintenance run.

            Allowed values are: "QUARTERLY", "HARDWARE", "CRITICAL", "INFRASTRUCTURE", "DATABASE", "ONEOFF", "SECURITY_MONTHLY"

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.MaintenanceRunSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_maintenance_runs.py.html>`__ to see an example of how to use list_maintenance_runs API.
        r0  z/maintenanceRunsr  list_maintenance_runszZhttps://docs.oracle.com/iaas/api/#/en/database/20160918/MaintenanceRun/ListMaintenanceRunsr  c                    r/   r%   r%   r0   r3   r%   r&   r4   (d  r5   z8DatabaseClient.list_maintenance_runs.<locals>.<listcomp>z.list_maintenance_runs got unknown kwargs: {!r}r3  r4  r5  r  r  r  r  rU  r  r\  rT  rW  rX  rY  rV  r  rb  r  r  r  r2  rR  rS  rr  r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   dd  rG   z8DatabaseClient.list_maintenance_runs.<locals>.<dictcomp>r?   r  r   rH   zlist[MaintenanceRunSummary]r   r8  r  r  r%   r3   r&   r  c  r  z$DatabaseClient.list_maintenance_runsc                    r  )$aN  
        Lists one-off patches in the specified compartment.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str sort_by: (optional)
            The field to sort by. You can provide one sort order (`sortOrder`).  Default order for TIMECREATED is descending.  Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.

            Allowed values are: "TIMECREATED", "DISPLAYNAME"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the given lifecycle state exactly

            Allowed values are: "CREATING", "AVAILABLE", "UPDATING", "INACTIVE", "FAILED", "EXPIRED", "DELETING", "DELETED", "TERMINATING", "TERMINATED"

        :param str display_name: (optional)
            A filter to return only resources that match the entire display name given. The match is not case sensitive.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.OneoffPatchSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_oneoff_patches.py.html>`__ to see an example of how to use list_oneoff_patches API.
        r0  r  r  list_oneoff_patcheszUhttps://docs.oracle.com/iaas/api/#/en/database/20160918/OneoffPatch/ListOneoffPatches	r   r   rR  rS  rU  rT  rV  rs  r-   c                    r/   r%   r%   r0   r3   r%   r&   r4   d  r5   z6DatabaseClient.list_oneoff_patches.<locals>.<listcomp>z,list_oneoff_patches got unknown kwargs: {!r}rU  r[  rZ  r\  rT  rW  rX  rY  rV  )
r  r^  rx  ZINACTIVEra  ZEXPIREDr  r  r_  r`  rb  rR  rS  rs  r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   d  rG   z6DatabaseClient.list_oneoff_patches.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   d  rG   r   rH   zlist[OneoffPatchSummary]r   r8  r  r  r%   r3   r&   r  d  r  z"DatabaseClient.list_oneoff_patchesc                    r  ))a:  
        Gets the pluggable database conversion history for a specified database in a bare metal or virtual machine DB system.


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

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

        :param str pdb_conversion_action: (optional)
            A filter to return only the pluggable database conversion history entries that match the specified conversion action. For example, you can use this filter to return only entries for the precheck operation.

            Allowed values are: "PRECHECK", "CONVERT", "SYNC", "SYNC_ROLLBACK"

        :param str lifecycle_state: (optional)
            A filter to return only the pluggable database conversion history entries that match the specified lifecycle state. For example, you can use this filter to return only entries in the "failed" lifecycle state.

            Allowed values are: "SUCCEEDED", "FAILED", "IN_PROGRESS"

        :param str sort_by: (optional)
            The field to sort by. You can provide one sort order (`sortOrder`). The default order for `TIMECREATED` is ascending.

            Allowed values are: "TIMESTARTED"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.PdbConversionHistoryEntrySummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_pdb_conversion_history_entries.py.html>`__ to see an example of how to use list_pdb_conversion_history_entries API.
        r   z3/databases/{databaseId}/pdbConversionHistoryEntriesr  #list_pdb_conversion_history_entriesz`https://docs.oracle.com/iaas/api/#/en/database/20160918/Database/ListPdbConversionHistoryEntries)	r   r   pdb_conversion_actionrV  rU  rT  r-   rR  rS  c                    r/   r%   r%   r0   r3   r%   r&   r4   me  r5   zFDatabaseClient.list_pdb_conversion_history_entries.<locals>.<listcomp>z<list_pdb_conversion_history_entries got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   ve  r=   zFDatabaseClient.list_pdb_conversion_history_entries.<locals>.<dictcomp>Nr   r>   r  )r  ZCONVERTZSYNCZSYNC_ROLLBACKz=Invalid value for `pdb_conversion_action`, must be one of {0}rV  r  rb  rU  r  r\  rT  rW  rX  rY  rR  rS  )ZpdbConversionActionre  rd  rc  rR  rS  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   e  rG   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   e  rG   r   rH   z&list[PdbConversionHistoryEntrySummary]r   r,  r   )r"   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   Z$pdb_conversion_action_allowed_valuesrh  rg  rf  r-  rN   r   r%   r3   r&   r  !e  r  z2DatabaseClient.list_pdb_conversion_history_entriesc                    s  g }d}d}d}d}g d  fddt |D }|r#td|d	|v r8d
dg}|d	 |vr8td|d|v rMddg}	|d |	vrMtd|	d|v rbg d}
|d |
vrbtd|
|dt|dt|dt|dt|d	t|dt|dt|dtd}dd t |D }ddd}| jj|d| j	d}|rt
|tjs| j| || j |j| jj||||d |d!|||d"
S | jj||||d |d!|||d"	S )#a  
        Gets a list of the pluggable databases in a database or compartment. You must provide either a `databaseId` or `compartmentId` value.


        :param str compartment_id: (optional)
            The compartment `OCID`__.

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

        :param str database_id: (optional)
            The `OCID`__ of the database.

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str sort_by: (optional)
            The field to sort by.  You can provide one sort order (`sortOrder`).  Default order for TIMECREATED is descending.  Default order for PDBNAME is ascending. The PDBNAME sort order is case sensitive.

            Allowed values are: "PDBNAME", "TIMECREATED"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the given lifecycle state exactly.

            Allowed values are: "PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED", "UPDATING", "FAILED"

        :param str pdb_name: (optional)
            A filter to return only pluggable databases that match the entire name given. The match is not case sensitive.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.PluggableDatabaseSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_pluggable_databases.py.html>`__ to see an example of how to use list_pluggable_databases API.
        r   r  list_pluggable_databasesz`https://docs.oracle.com/iaas/api/#/en/database/20160918/PluggableDatabase/ListPluggableDatabases)
r   r   r9  r   rR  rS  rU  rT  rV  pdb_namec                    r/   r%   r%   r0   r3   r%   r&   r4   f  r5   z;DatabaseClient.list_pluggable_databases.<locals>.<listcomp>z1list_pluggable_databases got unknown kwargs: {!r}rU  ZPDBNAMEr[  r\  rT  rW  rX  rY  rV  )r]  r^  r_  r`  rx  ra  rb  r9  r   rR  rS  r!  )r0  r   rR  rS  rd  rc  re  ZpdbNamec                 S   rE   rF   r7   r9   r%   r%   r&   r<   <f  rG   z;DatabaseClient.list_pluggable_databases.<locals>.<dictcomp>r?   r  r   rH   zlist[PluggableDatabaseSummary]r   r8  r  r  r%   r3   r&   r   e  s   :








z'DatabaseClient.list_pluggable_databasesc                    s<  ddg}d}d}d}d}g d  fdd	t |D }	|	r%td
|	d|i}
dd t |
D }
t |
D ]\}}|du sNt|t jrUt| dkrUtd|q8d|v rkddg}|d |vrktd|d|v rddg}|d |vrtd|d|v rg d}|d |vrtd|||	dt
|	dt
|	dt
|	dt
|	dt
|	dt
d}dd t |D }d d |	d!t
d"}d#d t |D }| jj|	d$| jd%}|rt|tjs| j| || j |j| jj|||
||d&|	d'|||d(S | jj|||
||d&|	d'|||d(
S ))a  
        Gets a list of the VM cluster networks in the specified compartment. Applies to Exadata Cloud@Customer instances only.


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

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

        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str sort_by: (optional)
            The field to sort by.  You can provide one sort order (`sortOrder`).  Default order for TIMECREATED is descending.  Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.

            Allowed values are: "TIMECREATED", "DISPLAYNAME"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the given lifecycle state exactly.

            Allowed values are: "CREATING", "REQUIRES_VALIDATION", "VALIDATING", "VALIDATED", "VALIDATION_FAILED", "UPDATING", "ALLOCATED", "TERMINATING", "TERMINATED", "FAILED", "NEEDS_ATTENTION"

        :param str display_name: (optional)
            A filter to return only resources that match the entire display name given. The match is not case sensitive.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.VmClusterNetworkSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_vm_cluster_networks.py.html>`__ to see an example of how to use list_vm_cluster_networks API.
        r)   r0  r%  r  list_vm_cluster_networksz^https://docs.oracle.com/iaas/api/#/en/database/20160918/VmClusterNetwork/ListVmClusterNetworksr  c                    r/   r%   r%   r0   r3   r%   r&   r4   f  r5   z;DatabaseClient.list_vm_cluster_networks.<locals>.<listcomp>z1list_vm_cluster_networks got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   f  r=   z;DatabaseClient.list_vm_cluster_networks.<locals>.<dictcomp>Nr   r>   rU  r[  rZ  r\  rT  rW  rX  rY  rV  )r  ZREQUIRES_VALIDATIONZ
VALIDATINGZ	VALIDATEDZVALIDATION_FAILEDrx  Z	ALLOCATEDr_  r`  ra  r  rb  rR  rS  rs  r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   f  rG   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   f  rG   r   rH   zlist[VmClusterNetworkSummary]r   r,  r   )r"   rd   r9  r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rg  rf  rh  r-  rN   r   r%   r3   r&   r"  cf  s   =$





	
z'DatabaseClient.list_vm_cluster_networksc                    ri  )a  
        Gets the history of the patch actions performed on the specified VM cluster in an Exadata Cloud@Customer system.


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

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.PatchHistoryEntrySummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_vm_cluster_patch_history_entries.py.html>`__ to see an example of how to use list_vm_cluster_patch_history_entries API.
        r}   z-/vmClusters/{vmClusterId}/patchHistoryEntriesr  %list_vm_cluster_patch_history_entrieszjhttps://docs.oracle.com/iaas/api/#/en/database/20160918/PatchHistoryEntry/ListVmClusterPatchHistoryEntriesrk  c                    r/   r%   r%   r0   r3   r%   r&   r4   :g  r5   zHDatabaseClient.list_vm_cluster_patch_history_entries.<locals>.<listcomp>z>list_vm_cluster_patch_history_entries got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   Cg  r=   zHDatabaseClient.list_vm_cluster_patch_history_entries.<locals>.<dictcomp>Nr   r>   rR  rS  rl  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   Mg  rG   r?   r  r   rH   r  r   r,  r   r"   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   r-  rN   r   r%   r3   r&   r#  
g  rm  z4DatabaseClient.list_vm_cluster_patch_history_entriesc                    ri  )ab  
        Lists the patches applicable to the specified VM cluster in an Exadata Cloud@Customer system.


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

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

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.PatchSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_vm_cluster_patches.py.html>`__ to see an example of how to use list_vm_cluster_patches API.
        r}   z!/vmClusters/{vmClusterId}/patchesr  list_vm_cluster_patcheszRhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Patch/ListVmClusterPatchesrk  c                    r/   r%   r%   r0   r3   r%   r&   r4   g  r5   z:DatabaseClient.list_vm_cluster_patches.<locals>.<listcomp>z0list_vm_cluster_patches got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   g  r=   z:DatabaseClient.list_vm_cluster_patches.<locals>.<dictcomp>Nr   r>   rR  rS  rl  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   g  rG   r?   r  r   rH   r  r   r,  r   r$  r%   r3   r&   r%  vg  rm  z&DatabaseClient.list_vm_cluster_patchesc                      dg}d}d}d}d}g d  fddt |D }|r$td	|d|i}	d
d t |	D }	t |	D ]\}
}|du sMt|t jrTt| dkrTtd|
q7d|v rjg d}|d |vrjtd|d|v rg d}|d |vrtd||	dt
|	dt
|	dt
|	dt
d}dd t |D }dd|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| || j |j| jj|||	||d|	d |||d!S | jj|||	||d|	d |||d!
S )"a	  
        Gets the history of the maintenance update actions performed on the specified VM cluster. Applies to Exadata Cloud@Customer instances only.


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

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

        :param str update_type: (optional)
            A filter to return only resources that match the given update type exactly.

            Allowed values are: "GI_UPGRADE", "GI_PATCH", "OS_UPDATE"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the given lifecycle state exactly.

            Allowed values are: "IN_PROGRESS", "SUCCEEDED", "FAILED"

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.VmClusterUpdateHistoryEntrySummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_vm_cluster_update_history_entries.py.html>`__ to see an example of how to use list_vm_cluster_update_history_entries API.
        r}   z./vmClusters/{vmClusterId}/updateHistoryEntriesr  &list_vm_cluster_update_history_entrieszuhttps://docs.oracle.com/iaas/api/#/en/database/20160918/VmClusterUpdateHistoryEntry/ListVmClusterUpdateHistoryEntriesr   r   r  rV  rR  rS  r-   c                    r/   r%   r%   r0   r3   r%   r&   r4   "h  r5   zIDatabaseClient.list_vm_cluster_update_history_entries.<locals>.<listcomp>z?list_vm_cluster_update_history_entries got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   +h  r=   zIDatabaseClient.list_vm_cluster_update_history_entries.<locals>.<dictcomp>Nr   r>   r  r  r  rV  )r  r  ra  rb  rR  rS  r  re  rR  rS  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   Eh  rG   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   Lh  rG   r   rH   z(list[VmClusterUpdateHistoryEntrySummary]r   r,  r   r"   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   r  rh  r-  rN   r   r%   r3   r&   r'  g     0	$




z5DatabaseClient.list_vm_cluster_update_history_entriesc                    r&  )"a	  
        Lists the maintenance updates that can be applied to the specified VM cluster. Applies to Exadata Cloud@Customer instances only.


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

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

        :param str update_type: (optional)
            A filter to return only resources that match the given update type exactly.

            Allowed values are: "GI_UPGRADE", "GI_PATCH", "OS_UPDATE"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the given lifecycle state exactly.

            Allowed values are: "AVAILABLE", "SUCCESS", "IN_PROGRESS", "FAILED"

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.VmClusterUpdateSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_vm_cluster_updates.py.html>`__ to see an example of how to use list_vm_cluster_updates API.
        r}   z!/vmClusters/{vmClusterId}/updatesr  list_vm_cluster_updatesz\https://docs.oracle.com/iaas/api/#/en/database/20160918/VmClusterUpdate/ListVmClusterUpdatesr(  c                    r/   r%   r%   r0   r3   r%   r&   r4   h  r5   z:DatabaseClient.list_vm_cluster_updates.<locals>.<listcomp>z0list_vm_cluster_updates got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   h  r=   z:DatabaseClient.list_vm_cluster_updates.<locals>.<dictcomp>Nr   r>   r  r  r  rV  )r^  SUCCESSr  ra  rb  rR  rS  r)  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   h  rG   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   h  rG   r   rH   zlist[VmClusterUpdateSummary]r   r,  r   r*  r%   r3   r&   r,  ph  r+  z&DatabaseClient.list_vm_cluster_updatesc                    r  )%av  
        Lists the VM clusters in the specified compartment. Applies to Exadata Cloud@Customer instances only.
        To list the cloud VM clusters in an Exadata Cloud Service instance, use the :func:`list_cloud_vm_clusters` operation.


        :param str compartment_id: (required)
            The compartment `OCID`__.

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

        :param str exadata_infrastructure_id: (optional)
            If provided, filters the results for the given Exadata Infrastructure.

        :param int limit: (optional)
            The maximum number of items to return per page.

        :param str page: (optional)
            The pagination token to continue listing from.

        :param str sort_by: (optional)
            The field to sort by.  You can provide one sort order (`sortOrder`).  Default order for TIMECREATED is descending.  Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.

            Allowed values are: "TIMECREATED", "DISPLAYNAME"

        :param str sort_order: (optional)
            The sort order to use, either ascending (`ASC`) or descending (`DESC`).

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            A filter to return only resources that match the given lifecycle state exactly.

            Allowed values are: "PROVISIONING", "AVAILABLE", "UPDATING", "TERMINATING", "TERMINATED", "FAILED", "MAINTENANCE_IN_PROGRESS"

        :param str display_name: (optional)
            A filter to return only resources that match the entire display name given. The match is not case sensitive.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type list of :class:`~oci.database.models.VmClusterSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/list_vm_clusters.py.html>`__ to see an example of how to use list_vm_clusters API.
        r0  r#  r  list_vm_clusterszPhttps://docs.oracle.com/iaas/api/#/en/database/20160918/VmCluster/ListVmClustersr  c                    r/   r%   r%   r0   r3   r%   r&   r4   Mi  r5   z3DatabaseClient.list_vm_clusters.<locals>.<listcomp>z)list_vm_clusters got unknown kwargs: {!r}rU  r[  rZ  r\  rT  rW  rX  rY  rV  r  rb  rd   rR  rS  rs  r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   qi  rG   z3DatabaseClient.list_vm_clusters.<locals>.<dictcomp>r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   xi  rG   r   rH   zlist[VmClusterSummary]r   r8  r  r  r%   r3   r&   r.  h  s   <








zDatabaseClient.list_vm_clustersc                    ru   )a  
        Clones and starts a pluggable database (PDB) in the same database (CDB) as the source PDB. The source PDB must be in the `READ_WRITE` openMode to perform the clone operation.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.PluggableDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/local_clone_pluggable_database.py.html>`__ to see an example of how to use local_clone_pluggable_database API.
        r}  z</pluggableDatabases/{pluggableDatabaseId}/actions/localCloner*   local_clone_pluggable_databasezehttps://docs.oracle.com/iaas/api/#/en/database/20160918/PluggableDatabase/LocalClonePluggableDatabaserj   c                    r/   r%   r%   r0   r3   r%   r&   r4   i  r5   zADatabaseClient.local_clone_pluggable_database.<locals>.<listcomp>z7local_clone_pluggable_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   i  r=   zADatabaseClient.local_clone_pluggable_database.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r.   rl   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   i  rG   r   rH   r"  r   rJ   rT   )r"   Z&local_clone_pluggable_database_detailsr  r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r/  i  r|   z-DatabaseClient.local_clone_pluggable_databasec                    rg   )a#  
        Migrates the Exadata DB system to the new `Exadata resource model`__.
        All related resources will be migrated.

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


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExadataDbSystemMigration`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/migrate_exadata_db_system_resource_model.py.html>`__ to see an example of how to use migrate_exadata_db_system_resource_model API.
        r   z)/dbSystems/{dbSystemId}/actions/migrationr*   (migrate_exadata_db_system_resource_modelzdhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DbSystem/MigrateExadataDbSystemResourceModel)r   r   r-   rk   r.   c                    r/   r%   r%   r0   r3   r%   r&   r4   Oj  r5   zKDatabaseClient.migrate_exadata_db_system_resource_model.<locals>.<listcomp>zAmigrate_exadata_db_system_resource_model got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   Xj  r=   zKDatabaseClient.migrate_exadata_db_system_resource_model.<locals>.<dictcomp>Nr   r>   r?   r-   rk   r.   )rA   rB   rC   rm   rD   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   ej  rG   r   rH   ZExadataDbSystemMigrationr   ro   rT   r  r%   r3   r&   r0  j  r   z7DatabaseClient.migrate_exadata_db_system_resource_modelc                    r   )ah  
        Changes encryption key management from customer-managed, using the `Vault service`__, to Oracle-managed.

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


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.Database`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/migrate_vault_key.py.html>`__ to see an example of how to use migrate_vault_key API.
        r   z*/databases/{databaseId}/actions/migrateKeyr*   migrate_vault_keyzPhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Database/MigrateVaultKeyr   c                    r/   r%   r%   r0   r3   r%   r&   r4   j  r5   z4DatabaseClient.migrate_vault_key.<locals>.<listcomp>z*migrate_vault_key got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   j  r=   z4DatabaseClient.migrate_vault_key.<locals>.<dictcomp>Nr   r>   r?   rk   r.   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   j  rG   r   rH   r   r   rJ   rT   )r"   r   Zmigrate_vault_key_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r1  j  sv   1$


z DatabaseClient.migrate_vault_keyc                    r   )a3  
        Updates one or more attributes of the Database Management service for the database.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.Database`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/modify_database_management.py.html>`__ to see an example of how to use modify_database_management API.
        r   z8/databases/{databaseId}/actions/modifyDatabaseManagementr*   modify_database_managementzYhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Database/ModifyDatabaseManagementrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   ?k  r5   z=DatabaseClient.modify_database_management.<locals>.<listcomp>z3modify_database_management got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   Hk  r=   z=DatabaseClient.modify_database_management.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   Uk  rG   r   rH   r   r   rJ   rT   )r"   r   Z"modify_database_management_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r2  k  r|   z)DatabaseClient.modify_database_managementc                    r   )a  
        Updates one or more attributes of the Database Management service for the pluggable database.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.PluggableDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/modify_pluggable_database_management.py.html>`__ to see an example of how to use modify_pluggable_database_management API.
        r}  zS/pluggableDatabases/{pluggableDatabaseId}/actions/modifyPluggableDatabaseManagementr*   $modify_pluggable_database_managementzkhttps://docs.oracle.com/iaas/api/#/en/database/20160918/PluggableDatabase/ModifyPluggableDatabaseManagementrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   k  r5   zGDatabaseClient.modify_pluggable_database_management.<locals>.<listcomp>z=modify_pluggable_database_management got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   k  r=   zGDatabaseClient.modify_pluggable_database_management.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   k  rG   r   rH   r"  r   rJ   rT   )r"   r  Z,modify_pluggable_database_management_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r3  zk  r|   z3DatabaseClient.modify_pluggable_database_managementc                    r  )a  
        Asynchronously registers this Autonomous Database with Data Safe.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param oci.database.models.RegisterAutonomousDatabaseDataSafeDetails register_autonomous_database_data_safe_details: (optional)
            Request to register an Autonomous Database with Data Safe.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/register_autonomous_database_data_safe.py.html>`__ to see an example of how to use register_autonomous_database_data_safe API.
        r   zD/autonomousDatabases/{autonomousDatabaseId}/actions/registerDataSafer*   &register_autonomous_database_data_safezmhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/RegisterAutonomousDatabaseDataSafe)r   r   r-   .register_autonomous_database_data_safe_detailsc                    r/   r%   r%   r0   r3   r%   r&   r4   "l  r5   zIDatabaseClient.register_autonomous_database_data_safe.<locals>.<listcomp>z?register_autonomous_database_data_safe got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   +l  r=   zIDatabaseClient.register_autonomous_database_data_safe.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   6l  rG   r   rH   r5  r   r   r   r7  r%   r3   r&   r4  k  r  z5DatabaseClient.register_autonomous_database_data_safec                    r  )a	  
        Reinstates a disabled standby Autonomous Container Database, identified by the autonomousContainerDatabaseId parameter, to an active standby Autonomous Container Database.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousContainerDatabaseDataguardAssociation`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/reinstate_autonomous_container_database_dataguard_association.py.html>`__ to see an example of how to use reinstate_autonomous_container_database_dataguard_association API.
        r   r  z/autonomousContainerDatabases/{autonomousContainerDatabaseId}/autonomousContainerDatabaseDataguardAssociations/{autonomousContainerDatabaseDataguardAssociationId}/actions/reinstater*   =reinstate_autonomous_container_database_dataguard_associationzhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousContainerDatabaseDataguardAssociation/ReinstateAutonomousContainerDatabaseDataguardAssociationrC  c                    r/   r%   r%   r0   r3   r%   r&   r4   l  r5   z`DatabaseClient.reinstate_autonomous_container_database_dataguard_association.<locals>.<listcomp>zVreinstate_autonomous_container_database_dataguard_association got unknown kwargs: {!r}r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   l  r=   z`DatabaseClient.reinstate_autonomous_container_database_dataguard_association.<locals>.<dictcomp>Nr   r>   r?   rk   rD  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   l  rG   r   rH   r  r   ro   r   r  r%   r3   r&   r6  Xl  sn   '$
zLDatabaseClient.reinstate_autonomous_container_database_dataguard_associationc                    r  )a	  
        Reinstates the database identified by the `databaseId` parameter into the standby role in a Data Guard association.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.DataGuardAssociation`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/reinstate_data_guard_association.py.html>`__ to see an example of how to use reinstate_data_guard_association API.
        r   r  zX/databases/{databaseId}/dataGuardAssociations/{dataGuardAssociationId}/actions/reinstater*    reinstate_data_guard_associationzjhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DataGuardAssociation/ReinstateDataGuardAssociationrC  c                    r/   r%   r%   r0   r3   r%   r&   r4   l  r5   zCDatabaseClient.reinstate_data_guard_association.<locals>.<listcomp>z9reinstate_data_guard_association got unknown kwargs: {!r}r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   m  r=   zCDatabaseClient.reinstate_data_guard_association.<locals>.<dictcomp>Nr   r>   r?   rk   rD  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   m  rG   r   rH   r  r   rJ   r   )r"   r   r  Z(reinstate_data_guard_association_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r7  l  sr   *$
z/DatabaseClient.reinstate_data_guard_associationc                    ru   )a  
        Clones a pluggable database (PDB) to a different database from the source PDB. The cloned PDB will be started upon completion of the clone operation. The source PDB must be in the `READ_WRITE` openMode when performing the clone.
        For Exadata Cloud@Customer instances, the source pluggable database (PDB) must be on the same Exadata Infrastructure as the target container database (CDB) to create a remote clone.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.PluggableDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/remote_clone_pluggable_database.py.html>`__ to see an example of how to use remote_clone_pluggable_database API.
        r}  z=/pluggableDatabases/{pluggableDatabaseId}/actions/remoteCloner*   remote_clone_pluggable_databasezfhttps://docs.oracle.com/iaas/api/#/en/database/20160918/PluggableDatabase/RemoteClonePluggableDatabaserj   c                    r/   r%   r%   r0   r3   r%   r&   r4   om  r5   zBDatabaseClient.remote_clone_pluggable_database.<locals>.<listcomp>z8remote_clone_pluggable_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   xm  r=   zBDatabaseClient.remote_clone_pluggable_database.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r.   rl   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   m  rG   r   rH   r"  r   rJ   rT   )r"   Z'remote_clone_pluggable_database_detailsr  r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r8  1m  sv   0$


z.DatabaseClient.remote_clone_pluggable_databasec                    ru   )at  
        Remove Virtual Machines from the Cloud VM cluster. Applies to Exadata Cloud instances only.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.CloudVmCluster`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/remove_virtual_machine_from_cloud_vm_cluster.py.html>`__ to see an example of how to use remove_virtual_machine_from_cloud_vm_cluster API.
        rv   z@/cloudVmClusters/{cloudVmClusterId}/actions/removeVirtualMachiner*   ,remove_virtual_machine_from_cloud_vm_clusterzmhttps://docs.oracle.com/iaas/api/#/en/database/20160918/CloudVmCluster/RemoveVirtualMachineFromCloudVmClusterrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   m  r5   zODatabaseClient.remove_virtual_machine_from_cloud_vm_cluster.<locals>.<listcomp>zEremove_virtual_machine_from_cloud_vm_cluster got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   m  r=   zODatabaseClient.remove_virtual_machine_from_cloud_vm_cluster.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   m  rG   r   rH   rz   r   rJ   rT   )r"   Z4remove_virtual_machine_from_cloud_vm_cluster_detailsr{   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r9  m  r|   z;DatabaseClient.remove_virtual_machine_from_cloud_vm_clusterc                    ru   )aI  
        Remove Virtual Machines from the VM cluster. Applies to Exadata Cloud@Customer instances only.


        :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 str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.VmCluster`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/remove_virtual_machine_from_vm_cluster.py.html>`__ to see an example of how to use remove_virtual_machine_from_vm_cluster API.
        r}   z6/vmClusters/{vmClusterId}/actions/removeVirtualMachiner*   &remove_virtual_machine_from_vm_clusterzchttps://docs.oracle.com/iaas/api/#/en/database/20160918/VmCluster/RemoveVirtualMachineFromVmClusterrx   c                    r/   r%   r%   r0   r3   r%   r&   r4   _n  r5   zIDatabaseClient.remove_virtual_machine_from_vm_cluster.<locals>.<listcomp>z?remove_virtual_machine_from_vm_cluster got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   hn  r=   zIDatabaseClient.remove_virtual_machine_from_vm_cluster.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   un  rG   r   rH   r   r   rJ   rT   )r"   Z.remove_virtual_machine_from_vm_cluster_detailsr   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r:  "n  r|   z5DatabaseClient.remove_virtual_machine_from_vm_clusterc                    s  ddg}d}d}d}d}	g d  fdd	t |D }
|
r%td
|
||d}dd t |D }t |D ]\}}|du sOt|t jrVt| dkrVtd|q9dd|	dt
|	dt
|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| | j| || j |j| jj|||||d|	d||	|dS | jj|||||d|	d||	|d
S )a<  
        Adds or removes Db server network nodes to extend or shrink the existing VM cluster network. Applies to Exadata
        Cloud@Customer instances only.


        :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 str opc_request_id: (optional)
            Unique identifier for the request.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.VmClusterNetwork`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/resize_vm_cluster_network.py.html>`__ to see an example of how to use resize_vm_cluster_network API.
        r)   r  zg/exadataInfrastructures/{exadataInfrastructureId}/vmClusterNetworks/{vmClusterNetworkId}/actions/resizer*   resize_vm_cluster_networkz_https://docs.oracle.com/iaas/api/#/en/database/20160918/VmClusterNetwork/ResizeVmClusterNetworkr   c                    r/   r%   r%   r0   r3   r%   r&   r4   n  r5   z<DatabaseClient.resize_vm_cluster_network.<locals>.<listcomp>z2resize_vm_cluster_network got unknown kwargs: {!r}r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   n  r=   z<DatabaseClient.resize_vm_cluster_network.<locals>.<dictcomp>Nr   r>   r?   r-   r.   rk   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   n  rG   r   rH   r'  r   rJ   rT   )r"   rd   r  Z!resize_vm_cluster_network_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r;  n  sx   5$


z(DatabaseClient.resize_vm_cluster_networkc                    h  dg}d}d}d}d}g d  fddt |D }|r$td	|d|i}	d
d t |	D }	t |	D ]\}
}|du sMt|t jrTt| dkrTtd|
q7dd|	dt
|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| || j |j| jj|||	|d|	d|||d
S | jj|||	|d|	d|||d	S )a  
        Rolling restarts the specified Autonomous Container Database.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousContainerDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/restart_autonomous_container_database.py.html>`__ to see an example of how to use restart_autonomous_container_database API.
        r   zM/autonomousContainerDatabases/{autonomousContainerDatabaseId}/actions/restartr*   %restart_autonomous_container_databasezvhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousContainerDatabase/RestartAutonomousContainerDatabaser   c                    r/   r%   r%   r0   r3   r%   r&   r4   Ko  r5   zHDatabaseClient.restart_autonomous_container_database.<locals>.<listcomp>z>restart_autonomous_container_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   To  r=   zHDatabaseClient.restart_autonomous_container_database.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   `o  rG   r   rH   r   r   ro   r   r  r%   r3   r&   r=  o  n   %$

z4DatabaseClient.restart_autonomous_container_databasec                    r  )a  
        Restarts the specified Autonomous Database.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/restart_autonomous_database.py.html>`__ to see an example of how to use restart_autonomous_database API.
        r   z;/autonomousDatabases/{autonomousDatabaseId}/actions/restartr*   restart_autonomous_databasezdhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/RestartAutonomousDatabaserC  c                    r/   r%   r%   r0   r3   r%   r&   r4   o  r5   z>DatabaseClient.restart_autonomous_database.<locals>.<listcomp>z4restart_autonomous_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   o  r=   z>DatabaseClient.restart_autonomous_database.<locals>.<dictcomp>Nr   r>   r?   rk   rD  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   o  rG   r   rH   r   r   ro   r   r7  r%   r3   r&   r?  o  l   "$
z*DatabaseClient.restart_autonomous_databasec                    b  dg}d}d}d}d}g d  fddt |D }	|	r$td	|	d|i}
d
d t |
D }
t |
D ]\}}|du sMt|t jrTt| dkrTtd|q7dd|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| || j |j| jj|||
||d|	d|||dS | jj|||
||d|	d|||d
S )a  
        Restores an Autonomous Database based on the provided request parameters.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/restore_autonomous_database.py.html>`__ to see an example of how to use restore_autonomous_database API.
        r   z;/autonomousDatabases/{autonomousDatabaseId}/actions/restorer*   restore_autonomous_databasezdhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/RestoreAutonomousDatabaserC  c                    r/   r%   r%   r0   r3   r%   r&   r4   p  r5   z>DatabaseClient.restore_autonomous_database.<locals>.<listcomp>z4restore_autonomous_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<    p  r=   z>DatabaseClient.restore_autonomous_database.<locals>.<dictcomp>Nr   r>   r?   rk   rD  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   +p  rG   r   rH   r   r   rJ   r   )r"   r   Z#restore_autonomous_database_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rB  o  p   %$
z*DatabaseClient.restore_autonomous_databasec                    rA  )ao  
        Restore a Database based on the request parameters you provide.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.Database`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/restore_database.py.html>`__ to see an example of how to use restore_database API.
        r   z'/databases/{databaseId}/actions/restorer*   restore_databasezPhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Database/RestoreDatabaserC  c                    r/   r%   r%   r0   r3   r%   r&   r4   p  r5   z3DatabaseClient.restore_database.<locals>.<listcomp>z)restore_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   p  r=   z3DatabaseClient.restore_database.<locals>.<dictcomp>Nr   r>   r?   rk   rD  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   p  rG   r   rH   r   r   rJ   r   )r"   r   Zrestore_database_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rD  Op  rC  zDatabaseClient.restore_databasec                    rg   )a
  
        Creates a new version of an existing `Vault service`__ key.

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


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousContainerDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/rotate_autonomous_container_database_encryption_key.py.html>`__ to see an example of how to use rotate_autonomous_container_database_encryption_key API.
        r   zO/autonomousContainerDatabases/{autonomousContainerDatabaseId}/actions/rotateKeyr*   3rotate_autonomous_container_database_encryption_keyzhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousContainerDatabase/RotateAutonomousContainerDatabaseEncryptionKeyr   c                    r/   r%   r%   r0   r3   r%   r&   r4   p  r5   zVDatabaseClient.rotate_autonomous_container_database_encryption_key.<locals>.<listcomp>zLrotate_autonomous_container_database_encryption_key got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   p  r=   zVDatabaseClient.rotate_autonomous_container_database_encryption_key.<locals>.<dictcomp>Nr   r>   r?   rk   r.   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   
q  rG   r   rH   r   r   ro   rT   r  r%   r3   r&   rE  p  r   .$


zBDatabaseClient.rotate_autonomous_container_database_encryption_keyc                    rg   )a
  
        Rotate existing AutonomousDatabase `Vault service`__ key.

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


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/rotate_autonomous_database_encryption_key.py.html>`__ to see an example of how to use rotate_autonomous_database_encryption_key API.
        r   z=/autonomousDatabases/{autonomousDatabaseId}/actions/rotateKeyr*   )rotate_autonomous_database_encryption_keyzphttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/RotateAutonomousDatabaseEncryptionKeyr   c                    r/   r%   r%   r0   r3   r%   r&   r4   iq  r5   zLDatabaseClient.rotate_autonomous_database_encryption_key.<locals>.<listcomp>zBrotate_autonomous_database_encryption_key got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   rq  r=   zLDatabaseClient.rotate_autonomous_database_encryption_key.<locals>.<dictcomp>Nr   r>   r?   rk   r.   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   q  rG   r   rH   r   r   ro   rT   r7  r%   r3   r&   rG  -q  rF  z8DatabaseClient.rotate_autonomous_database_encryption_keyc                    r   )al  
        Rotates the Oracle REST Data Services (ORDS) certificates for Autonomous Exadata VM cluster.


        :param oci.database.models.RotateAutonomousVmClusterOrdsCertsDetails rotate_autonomous_vm_cluster_ords_certs_details: (required)
            Request to rotate the Oracle REST Data Services (ORDS) certificates on Autonomous Exadata VM cluster.

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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/rotate_autonomous_vm_cluster_ords_certs.py.html>`__ to see an example of how to use rotate_autonomous_vm_cluster_ords_certs API.
        r   zE/autonomousVmClusters/{autonomousVmClusterId}/actions/rotateOrdsCertsr*   'rotate_autonomous_vm_cluster_ords_certsznhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousVmCluster/RotateAutonomousVmClusterOrdsCertsr   c                    r/   r%   r%   r0   r3   r%   r&   r4   q  r5   zJDatabaseClient.rotate_autonomous_vm_cluster_ords_certs.<locals>.<listcomp>z@rotate_autonomous_vm_cluster_ords_certs got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   q  r=   zJDatabaseClient.rotate_autonomous_vm_cluster_ords_certs.<locals>.<dictcomp>Nr   r>   r?   r-   r.   rk   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   q  rG   r   rH   r   r   rT   )r"   Z/rotate_autonomous_vm_cluster_ords_certs_detailsr   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rH  q  r   z6DatabaseClient.rotate_autonomous_vm_cluster_ords_certsc                    r   )a.  
        Rotates the SSL certificates for Autonomous Exadata VM cluster.


        :param oci.database.models.RotateAutonomousVmClusterSslCertsDetails rotate_autonomous_vm_cluster_ssl_certs_details: (required)
            Request to rotate the SSL certificates on Autonomous Exadata VM cluster.

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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/rotate_autonomous_vm_cluster_ssl_certs.py.html>`__ to see an example of how to use rotate_autonomous_vm_cluster_ssl_certs API.
        r   zD/autonomousVmClusters/{autonomousVmClusterId}/actions/rotateSslCertsr*   &rotate_autonomous_vm_cluster_ssl_certszmhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousVmCluster/RotateAutonomousVmClusterSslCertsr   c                    r/   r%   r%   r0   r3   r%   r&   r4   Ur  r5   zIDatabaseClient.rotate_autonomous_vm_cluster_ssl_certs.<locals>.<listcomp>z?rotate_autonomous_vm_cluster_ssl_certs got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   ^r  r=   zIDatabaseClient.rotate_autonomous_vm_cluster_ssl_certs.<locals>.<dictcomp>Nr   r>   r?   r-   r.   rk   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   kr  rG   r   rH   r   r   rT   )r"   Z.rotate_autonomous_vm_cluster_ssl_certs_detailsr   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rI  r  r   z5DatabaseClient.rotate_autonomous_vm_cluster_ssl_certsc                      dg}d}d}d}d}g d  fddt |D }|r$td	|d|i}	d
d t |	D }	t |	D ]\}
}|du sMt|t jrTt| dkrTtd|
q7dd|	dt
|	dt
|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| | j| || j |j| jj|||	||	d|	d|||d
S | jj|||	||	d|	d|||d	S )a  
        Rotates the Oracle REST Data Services (ORDS) certificates for a cloud Autonomous Exadata VM cluster.


        :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.RotateCloudAutonomousVmClusterOrdsCertsDetails rotate_cloud_autonomous_vm_cluster_ords_certs_details: (optional)
            Request to rotate the Oracle REST Data Services (ORDS) certificates on Cloud Autonomous Exadata VM cluster.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/rotate_cloud_autonomous_vm_cluster_ords_certs.py.html>`__ to see an example of how to use rotate_cloud_autonomous_vm_cluster_ords_certs API.
        r   zO/cloudAutonomousVmClusters/{cloudAutonomousVmClusterId}/actions/rotateOrdsCertsr*   -rotate_cloud_autonomous_vm_cluster_ords_certszxhttps://docs.oracle.com/iaas/api/#/en/database/20160918/CloudAutonomousVmCluster/RotateCloudAutonomousVmClusterOrdsCerts)r   r   5rotate_cloud_autonomous_vm_cluster_ords_certs_detailsr.   r-   rk   c                    r/   r%   r%   r0   r3   r%   r&   r4   r  r5   zPDatabaseClient.rotate_cloud_autonomous_vm_cluster_ords_certs.<locals>.<listcomp>zFrotate_cloud_autonomous_vm_cluster_ords_certs got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   r  r=   zPDatabaseClient.rotate_cloud_autonomous_vm_cluster_ords_certs.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   r  rG   r   rH   rL  r   r   rT   rK  r%   r3   r&   rK  r  r   /$


z<DatabaseClient.rotate_cloud_autonomous_vm_cluster_ords_certsc                    rJ  )aS  
        Rotates the SSL certficates for a cloud Autonomous Exadata VM cluster.


        :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.RotateCloudAutonomousVmClusterSslCertsDetails rotate_cloud_autonomous_vm_cluster_ssl_certs_details: (optional)
            Request to rotate the SSL certificates on Cloud Autonomous Exadata VM cluster.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/rotate_cloud_autonomous_vm_cluster_ssl_certs.py.html>`__ to see an example of how to use rotate_cloud_autonomous_vm_cluster_ssl_certs API.
        r   zN/cloudAutonomousVmClusters/{cloudAutonomousVmClusterId}/actions/rotateSslCertsr*   ,rotate_cloud_autonomous_vm_cluster_ssl_certszwhttps://docs.oracle.com/iaas/api/#/en/database/20160918/CloudAutonomousVmCluster/RotateCloudAutonomousVmClusterSslCerts)r   r   4rotate_cloud_autonomous_vm_cluster_ssl_certs_detailsr.   r-   rk   c                    r/   r%   r%   r0   r3   r%   r&   r4   Cs  r5   zODatabaseClient.rotate_cloud_autonomous_vm_cluster_ssl_certs.<locals>.<listcomp>zErotate_cloud_autonomous_vm_cluster_ssl_certs got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   Ls  r=   zODatabaseClient.rotate_cloud_autonomous_vm_cluster_ssl_certs.<locals>.<dictcomp>Nr   r>   r?   r.   r-   rk   ry   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   Ys  rG   r   rH   rO  r   r   rT   rK  r%   r3   r&   rN  s  rM  z;DatabaseClient.rotate_cloud_autonomous_vm_cluster_ssl_certsc                    r   )a
  
        **Deprecated.** Use the :func:`rotate_cloud_autonomous_vm_cluster_ords_certs` to rotate Oracle REST Data Services (ORDS) certs for an Autonomous Exadata VM cluster instead.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/rotate_ords_certs.py.html>`__ to see an example of how to use rotate_ords_certs API.
        r   z]/autonomousExadataInfrastructures/{autonomousExadataInfrastructureId}/actions/rotateOrdsCertsr*   rotate_ords_certszghttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousExadataInfrastructure/RotateOrdsCertsr   c                    r/   r%   r%   r0   r3   r%   r&   r4   s  r5   z4DatabaseClient.rotate_ords_certs.<locals>.<listcomp>z*rotate_ords_certs got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   s  r=   z4DatabaseClient.rotate_ords_certs.<locals>.<dictcomp>Nr   r>   r?   r-   r.   rk   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   s  rG   r   rH   r   r   rT   r  r%   r3   r&   rP  |s  r   z DatabaseClient.rotate_ords_certsc                    r   )a:
  
        Create a new version of the existing encryption key.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/rotate_pluggable_database_encryption_key.py.html>`__ to see an example of how to use rotate_pluggable_database_encryption_key API.
        r}  z;/pluggableDatabases/{pluggableDatabaseId}/actions/rotateKeyr*   (rotate_pluggable_database_encryption_keyznhttps://docs.oracle.com/iaas/api/#/en/database/20160918/PluggableDatabase/RotatePluggableDatabaseEncryptionKeyrj   c                    r/   r%   r%   r0   r3   r%   r&   r4   't  r5   zKDatabaseClient.rotate_pluggable_database_encryption_key.<locals>.<listcomp>zArotate_pluggable_database_encryption_key got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   0t  r=   zKDatabaseClient.rotate_pluggable_database_encryption_key.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r.   rl   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   =t  rG   r   rH   r   r   rT   r  r%   r3   r&   rQ  s  r   z7DatabaseClient.rotate_pluggable_database_encryption_keyc                    r   )a
  
        **Deprecated.** Use the :func:`rotate_cloud_autonomous_vm_cluster_ssl_certs` to rotate SSL certs for an Autonomous Exadata VM cluster instead.


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

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

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/rotate_ssl_certs.py.html>`__ to see an example of how to use rotate_ssl_certs API.
        r   z\/autonomousExadataInfrastructures/{autonomousExadataInfrastructureId}/actions/rotateSslCertsr*   rotate_ssl_certszfhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousExadataInfrastructure/RotateSslCertsr   c                    r/   r%   r%   r0   r3   r%   r&   r4   t  r5   z3DatabaseClient.rotate_ssl_certs.<locals>.<listcomp>z)rotate_ssl_certs got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   t  r=   z3DatabaseClient.rotate_ssl_certs.<locals>.<dictcomp>Nr   r>   r?   r-   r.   rk   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   t  rG   r   rH   r   r   rT   r  r%   r3   r&   rR  ^t  r   zDatabaseClient.rotate_ssl_certsc                    rg   )a
  
        Creates a new version of an existing `Vault service`__ key.

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


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.Database`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/rotate_vault_key.py.html>`__ to see an example of how to use rotate_vault_key API.
        r   z)/databases/{databaseId}/actions/rotateKeyr*   rotate_vault_keyzOhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Database/RotateVaultKeyr   c                    r/   r%   r%   r0   r3   r%   r&   r4   u  r5   z3DatabaseClient.rotate_vault_key.<locals>.<listcomp>z)rotate_vault_key got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   u  r=   z3DatabaseClient.rotate_vault_key.<locals>.<dictcomp>Nr   r>   r?   rk   r.   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   !u  rG   r   rH   r   r   ro   rT   r  r%   r3   r&   rS  t  rF  zDatabaseClient.rotate_vault_keyc                    s  ddg}d}d}d}d}g d  fdd	t |D }	|	r%td
|	d|i}
dd t |
D }
t |
D ]\}}|du sNt|t jrUt| dkrUtd|q8d|i}dd t |D }dd|	dt
|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| | j| || j |j| jj|||
|||	d|||d
S | jj|||
|||	d|||d	S )a
  
        Scans for pluggable databases in the specified external container database.
        This operation will return un-registered pluggable databases in the :func:`get_work_request` operation.


        :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 str opc_request_id: (optional)
            Unique identifier for the request.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/scan_external_container_database_pluggable_databases.py.html>`__ to see an example of how to use scan_external_container_database_pluggable_databases API.
        r   r   zX/externalcontainerdatabases/{externalContainerDatabaseId}/actions/scanPluggableDatabasesr*   4scan_external_container_database_pluggable_databaseszhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalContainerDatabase/ScanExternalContainerDatabasePluggableDatabasesr,   c                    r/   r%   r%   r0   r3   r%   r&   r4   u  r5   zWDatabaseClient.scan_external_container_database_pluggable_databases.<locals>.<listcomp>zMscan_external_container_database_pluggable_databases got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   u  r=   zWDatabaseClient.scan_external_container_database_pluggable_databases.<locals>.<dictcomp>Nr   r>   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   u  rG   r?   r-   r.   r@   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   u  rG   r   rH   r   rP  rT   )r"   r   r   r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   r-  rN   r   r%   r3   r&   rT  Du  sv   .$

zCDatabaseClient.scan_external_container_database_pluggable_databasesc                    r  )a  
        This operation shrinks the current allocated storage down to the current actual used data storage (actualUsedDataStorageSizeInTBs). The if the base storage value for the database (dataStorageSizeInTBs) is larger than the actualUsedDataStorageSizeInTBs value, you are billed for the base storage value.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/shrink_autonomous_database.py.html>`__ to see an example of how to use shrink_autonomous_database API.
        r   z:/autonomousDatabases/{autonomousDatabaseId}/actions/shrinkr*   shrink_autonomous_databasezchttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/ShrinkAutonomousDatabaserC  c                    r/   r%   r%   r0   r3   r%   r&   r4   u  r5   z=DatabaseClient.shrink_autonomous_database.<locals>.<listcomp>z3shrink_autonomous_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   u  r=   z=DatabaseClient.shrink_autonomous_database.<locals>.<dictcomp>Nr   r>   r?   rk   rD  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   u  rG   r   rH   r   r   ro   r   r7  r%   r3   r&   rU  u  r@  z)DatabaseClient.shrink_autonomous_databasec                    r  )a  
        Starts the specified Autonomous Database.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/start_autonomous_database.py.html>`__ to see an example of how to use start_autonomous_database API.
        r   z9/autonomousDatabases/{autonomousDatabaseId}/actions/startr*   start_autonomous_databasezbhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/StartAutonomousDatabaserC  c                    r/   r%   r%   r0   r3   r%   r&   r4   Nv  r5   z<DatabaseClient.start_autonomous_database.<locals>.<listcomp>z2start_autonomous_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   Wv  r=   z<DatabaseClient.start_autonomous_database.<locals>.<dictcomp>Nr   r>   r?   rk   rD  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   bv  rG   r   rH   r   r   ro   r   r7  r%   r3   r&   rV   v  r@  z(DatabaseClient.start_autonomous_databasec                    rg   )a
  
        Starts a stopped pluggable database. The `openMode` value of the pluggable database will be `READ_WRITE` upon completion.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.PluggableDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/start_pluggable_database.py.html>`__ to see an example of how to use start_pluggable_database API.
        r}  z7/pluggableDatabases/{pluggableDatabaseId}/actions/startr*   start_pluggable_databasez`https://docs.oracle.com/iaas/api/#/en/database/20160918/PluggableDatabase/StartPluggableDatabaserj   c                    r/   r%   r%   r0   r3   r%   r&   r4   v  r5   z;DatabaseClient.start_pluggable_database.<locals>.<listcomp>z1start_pluggable_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   v  r=   z;DatabaseClient.start_pluggable_database.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r.   rl   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   v  rG   r   rH   r"  r   ro   rT   r  r%   r3   r&   rW  v  rr   z'DatabaseClient.start_pluggable_databasec                    r<  )aJ  
        Stops the specified Autonomous Database.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/stop_autonomous_database.py.html>`__ to see an example of how to use stop_autonomous_database API.
        r   z8/autonomousDatabases/{autonomousDatabaseId}/actions/stopr*   stop_autonomous_databasezahttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/StopAutonomousDatabaser   c                    r/   r%   r%   r0   r3   r%   r&   r4   )w  r5   z;DatabaseClient.stop_autonomous_database.<locals>.<listcomp>z1stop_autonomous_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   2w  r=   z;DatabaseClient.stop_autonomous_database.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   >w  rG   r   rH   r   r   ro   r   r7  r%   r3   r&   rX  v  r>  z'DatabaseClient.stop_autonomous_databasec                    rg   )a|
  
        Stops a pluggable database. The `openMode` value of the pluggable database will be `MOUNTED` upon completion.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.PluggableDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/stop_pluggable_database.py.html>`__ to see an example of how to use stop_pluggable_database API.
        r}  z6/pluggableDatabases/{pluggableDatabaseId}/actions/stopr*   stop_pluggable_databasez_https://docs.oracle.com/iaas/api/#/en/database/20160918/PluggableDatabase/StopPluggableDatabaserj   c                    r/   r%   r%   r0   r3   r%   r&   r4   w  r5   z:DatabaseClient.stop_pluggable_database.<locals>.<listcomp>z0stop_pluggable_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   w  r=   z:DatabaseClient.stop_pluggable_database.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r.   rl   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   w  rG   r   rH   r"  r   ro   rT   r  r%   r3   r&   rY  `w  rr   z&DatabaseClient.stop_pluggable_databasec                    r  )a
  
        Switches over the primary Autonomous Container Database of an Autonomous Data Guard peer association to standby role. The standby Autonomous Container Database associated with autonomousContainerDatabaseDataguardAssociationId assumes the primary Autonomous Container Database role.

        A switchover incurs no data loss.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousContainerDatabaseDataguardAssociation`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/switchover_autonomous_container_database_dataguard_association.py.html>`__ to see an example of how to use switchover_autonomous_container_database_dataguard_association API.
        r   r  z/autonomousContainerDatabases/{autonomousContainerDatabaseId}/autonomousContainerDatabaseDataguardAssociations/{autonomousContainerDatabaseDataguardAssociationId}/actions/switchoverr*   >switchover_autonomous_container_database_dataguard_associationzhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousContainerDatabaseDataguardAssociation/SwitchoverAutonomousContainerDatabaseDataguardAssociationrC  c                    r/   r%   r%   r0   r3   r%   r&   r4   x  r5   zaDatabaseClient.switchover_autonomous_container_database_dataguard_association.<locals>.<listcomp>zWswitchover_autonomous_container_database_dataguard_association got unknown kwargs: {!r}r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   x  r=   zaDatabaseClient.switchover_autonomous_container_database_dataguard_association.<locals>.<dictcomp>Nr   r>   r?   rk   rD  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   x  rG   r   rH   r  r   ro   r   r  r%   r3   r&   rZ  w  r  zMDatabaseClient.switchover_autonomous_container_database_dataguard_associationc                    r  )a  
        Initiates a switchover of the specified Autonomous Database to the associated standby database. Applicable only to databases with Autonomous Data Guard enabled. To perform a switchover to a standby located in a remote region, specify the `OCID`__ of the remote standby using the `peerDbId` parameter.

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


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str peer_db_id: (optional)
            The database `OCID`__ of the Autonomous Data Guard standby database located in a different (remote) region from the source primary Autonomous Database.

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

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/switchover_autonomous_database.py.html>`__ to see an example of how to use switchover_autonomous_database API.
        r   z>/autonomousDatabases/{autonomousDatabaseId}/actions/switchoverr*   switchover_autonomous_databasezghttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/SwitchoverAutonomousDatabaser  c                    r/   r%   r%   r0   r3   r%   r&   r4   x  r5   zADatabaseClient.switchover_autonomous_database.<locals>.<listcomp>z7switchover_autonomous_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   x  r=   zADatabaseClient.switchover_autonomous_database.<locals>.<dictcomp>Nr   r>   r  r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   x  rG   r?   rk   r.   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   x  rG   r   rH   r   r   r,  rT   r  r%   r3   r&   r[  ?x  r  z-DatabaseClient.switchover_autonomous_databasec                    r  )aP
  
        Performs a switchover to transition the primary database of a Data Guard association into a standby role. The
        standby database associated with the `dataGuardAssociationId` assumes the primary database role.

        A switchover guarantees no data loss.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.DataGuardAssociation`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/switchover_data_guard_association.py.html>`__ to see an example of how to use switchover_data_guard_association API.
        r   r  zY/databases/{databaseId}/dataGuardAssociations/{dataGuardAssociationId}/actions/switchoverr*   !switchover_data_guard_associationzkhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DataGuardAssociation/SwitchoverDataGuardAssociationrC  c                    r/   r%   r%   r0   r3   r%   r&   r4   x  r5   zDDatabaseClient.switchover_data_guard_association.<locals>.<listcomp>z:switchover_data_guard_association got unknown kwargs: {!r}r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   y  r=   zDDatabaseClient.switchover_data_guard_association.<locals>.<dictcomp>Nr   r>   r?   rk   rD  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   y  rG   r   rH   r  r   rJ   r   )r"   r   r  Z)switchover_data_guard_association_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r\  x  sr   -$
z0DatabaseClient.switchover_data_guard_associationc                    r@  )aM	  
        Terminates an Autonomous Container Database, which permanently deletes the container database and any databases within the container database. The database data is local to the Autonomous Exadata Infrastructure and will be lost when the container database is terminated. Oracle recommends that you back up any data in the Autonomous Container Database prior to terminating it.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/terminate_autonomous_container_database.py.html>`__ to see an example of how to use terminate_autonomous_container_database API.
        r   r  r1  'terminate_autonomous_container_databasezxhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousContainerDatabase/TerminateAutonomousContainerDatabaserC  c                    r/   r%   r%   r0   r3   r%   r&   r4   ay  r5   zJDatabaseClient.terminate_autonomous_container_database.<locals>.<listcomp>z@terminate_autonomous_container_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   jy  r=   zJDatabaseClient.terminate_autonomous_container_database.<locals>.<dictcomp>Nr   r>   r?   rk   rD  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   uy  rG   r   rH   r   r   r   r  r%   r3   r&   r]  3y  rE  z6DatabaseClient.terminate_autonomous_container_databasec                    r@  )a  
        **Deprecated.** To terminate an Exadata Infrastructure resource in the Oracle cloud, use the :func:`delete_cloud_exadata_infrastructure` operation. To delete an Autonomous Exadata VM cluster in the Oracle cloud, use the :func:`delete_cloud_autonomous_vm_cluster` operation.


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

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

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/terminate_autonomous_exadata_infrastructure.py.html>`__ to see an example of how to use terminate_autonomous_exadata_infrastructure API.
        r   r  r1  +terminate_autonomous_exadata_infrastructurezhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousExadataInfrastructure/TerminateAutonomousExadataInfrastructurerC  c                    r/   r%   r%   r0   r3   r%   r&   r4   y  r5   zNDatabaseClient.terminate_autonomous_exadata_infrastructure.<locals>.<listcomp>zDterminate_autonomous_exadata_infrastructure got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   y  r=   zNDatabaseClient.terminate_autonomous_exadata_infrastructure.<locals>.<dictcomp>Nr   r>   r?   rk   rD  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   y  rG   r   rH   r   r   r   r  r%   r3   r&   r^  y  rE  z:DatabaseClient.terminate_autonomous_exadata_infrastructurec                    r@  )a  
        Terminates a DB system and permanently deletes it and any databases running on it, and any storage volumes attached to it. The database data is local to the DB system and will be lost when the system is terminated. Oracle recommends that you back up any data in the DB system prior to terminating it.

        **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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/terminate_db_system.py.html>`__ to see an example of how to use terminate_db_system API.
        r   r  r1  terminate_db_systemzRhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DbSystem/TerminateDbSystemrC  c                    r/   r%   r%   r0   r3   r%   r&   r4   ,z  r5   z6DatabaseClient.terminate_db_system.<locals>.<listcomp>z,terminate_db_system got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   5z  r=   z6DatabaseClient.terminate_db_system.<locals>.<dictcomp>Nr   r>   r?   rk   rD  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   @z  rG   r   rH   r   r   r   r  r%   r3   r&   r_  y  sh   )$
z"DatabaseClient.terminate_db_systemc                    rA  )aa	  
        Updates the properties of an Autonomous Container Database, such as display name, maintenance preference, backup retention, and tags.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousContainerDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_autonomous_container_database.py.html>`__ to see an example of how to use update_autonomous_container_database API.
        r   r  r   $update_autonomous_container_databasezuhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousContainerDatabase/UpdateAutonomousContainerDatabaserC  c                    r/   r%   r%   r0   r3   r%   r&   r4   z  r5   zGDatabaseClient.update_autonomous_container_database.<locals>.<listcomp>z=update_autonomous_container_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   z  r=   zGDatabaseClient.update_autonomous_container_database.<locals>.<dictcomp>Nr   r>   r?   rk   rD  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   z  rG   r   rH   r   r   rJ   r   )r"   r   Z,update_autonomous_container_database_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r`  `z  rC  z3DatabaseClient.update_autonomous_container_databasec                    p  ddg}d}d}d}d}	g d  fdd	t |D }
|
r%td
|
||d}dd t |D }t |D ]\}}|du sOt|t jrVt| dkrVtd|q9dd|	dt
|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| || j |j| jj|||||d|	d||	|dS | jj|||||d|	d||	|d
S )a
  
        Update Autonomous Data Guard association.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousContainerDatabaseDataguardAssociation`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_autonomous_container_database_dataguard_association.py.html>`__ to see an example of how to use update_autonomous_container_database_dataguard_association API.
        r   r  r  r   :update_autonomous_container_database_dataguard_associationzhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousContainerDatabaseDataguardAssociation/UpdateAutonomousContainerDatabaseDataguardAssociationr   c                    r/   r%   r%   r0   r3   r%   r&   r4   {  r5   z]DatabaseClient.update_autonomous_container_database_dataguard_association.<locals>.<listcomp>zSupdate_autonomous_container_database_dataguard_association got unknown kwargs: {!r}r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   {  r=   z]DatabaseClient.update_autonomous_container_database_dataguard_association.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   {  rG   r   rH   r  r   rJ   r   )r"   r   r  ZCupdate_autonomous_container_database_data_guard_association_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rb  z  t   -$

zIDatabaseClient.update_autonomous_container_database_dataguard_associationc                    r   )a	  
        Updates one or more attributes of the specified Autonomous Database. See the UpdateAutonomousDatabaseDetails resource for a full list of attributes that can be updated.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_autonomous_database.py.html>`__ to see an example of how to use update_autonomous_database API.
        r   r5  r   update_autonomous_databasezchttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabase/UpdateAutonomousDatabaser   c                    r/   r%   r%   r0   r3   r%   r&   r4   r{  r5   z=DatabaseClient.update_autonomous_database.<locals>.<listcomp>z3update_autonomous_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   {{  r=   z=DatabaseClient.update_autonomous_database.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   {  rG   r   rH   r   r   rJ   r   )r"   r   Z"update_autonomous_database_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rd  ={  r   z)DatabaseClient.update_autonomous_databasec                    r   )a	  
        Updates the Autonomous Database backup of the specified database based on the request parameters.


        :param str autonomous_database_backup_id: (required)
            The `OCID`__ of the Autonomous Database backup.

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

        :param oci.database.models.UpdateAutonomousDatabaseBackupDetails update_autonomous_database_backup_details: (required)
            Request to update an existing Autonomous Database backup.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousDatabaseBackup`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_autonomous_database_backup.py.html>`__ to see an example of how to use update_autonomous_database_backup API.
        r8  r9  r   !update_autonomous_database_backupzohttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabaseBackup/UpdateAutonomousDatabaseBackupr   c                    r/   r%   r%   r0   r3   r%   r&   r4   {  r5   zDDatabaseClient.update_autonomous_database_backup.<locals>.<listcomp>z:update_autonomous_database_backup got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   {  r=   zDDatabaseClient.update_autonomous_database_backup.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   {  rG   r   rH   r   r   rJ   r   )r"   r<  Z)update_autonomous_database_backup_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   re  {  r   z0DatabaseClient.update_autonomous_database_backupc                    s   g }d}d}d}d}g d  fddt |D }|r#td|d	d	|d
td}	dd t |	D }	| jj|d| j	d}
|
rjt
|
tjsW| j|	 |
| j |
j| jj|||	||d|||d	S | jj|||	||d|||dS )a  
        Updates the Autonomous Database regional wallet.


        :param oci.database.models.UpdateAutonomousDatabaseWalletDetails update_autonomous_database_wallet_details: (required)
            Request to update the properties of Autonomous Database regional wallet.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_autonomous_database_regional_wallet.py.html>`__ to see an example of how to use update_autonomous_database_regional_wallet API.
        r  r   *update_autonomous_database_regional_walletzwhttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabaseWallet/UpdateAutonomousDatabaseRegionalWalletr  c                    r/   r%   r%   r0   r3   r%   r&   r4   C|  r5   zMDatabaseClient.update_autonomous_database_regional_wallet.<locals>.<listcomp>zCupdate_autonomous_database_regional_wallet got unknown kwargs: {!r}r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   M|  rG   zMDatabaseClient.update_autonomous_database_regional_wallet.<locals>.<dictcomp>r   rH   r   )rK   rL   rN   rO   r   rQ   rR   rS   r  )r"   )update_autonomous_database_wallet_detailsr$   rS   rK   rL   rQ   rR   re   rN   r   r%   r3   r&   rf  |  sZ   
z9DatabaseClient.update_autonomous_database_regional_walletc                    s^  dg}d}d}d}d}g d  fddt |D }	|	r$td	|	d|i}
d
d t |
D }
t |
D ]\}}|du sMt|t jrTt| dkrTtd|q7dd|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| || j |j| jj|||
|||	d|||d
S | jj|||
|||	d|||d	S )a  
        Updates the wallet for the specified Autonomous Database.


        :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 str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type None
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_autonomous_database_wallet.py.html>`__ to see an example of how to use update_autonomous_database_wallet API.
        r   r  r   !update_autonomous_database_walletzohttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousDatabaseWallet/UpdateAutonomousDatabaseWalletr  c                    r/   r%   r%   r0   r3   r%   r&   r4   |  r5   zDDatabaseClient.update_autonomous_database_wallet.<locals>.<listcomp>z:update_autonomous_database_wallet got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   |  r=   zDDatabaseClient.update_autonomous_database_wallet.<locals>.<dictcomp>Nr   r>   r?   r-   r  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   |  rG   r   rH   r   r   r   )r"   r   rg  r$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rh  m|  sl   #$
z0DatabaseClient.update_autonomous_database_walletc                    rA  )a	  
        **Deprecated.** Use the :func:`update_cloud_exadata_infrastructure` operation to update an Exadata Infrastructure resource and  :func:`update_cloud_autonomous_vm_cluster` operation to update an Autonomous Exadata VM cluster.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousExadataInfrastructure`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_autonomous_exadata_infrastructure.py.html>`__ to see an example of how to use update_autonomous_exadata_infrastructure API.
        r   r  r   (update_autonomous_exadata_infrastructurez}https://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousExadataInfrastructure/UpdateAutonomousExadataInfrastructurerC  c                    r/   r%   r%   r0   r3   r%   r&   r4   }  r5   zKDatabaseClient.update_autonomous_exadata_infrastructure.<locals>.<listcomp>zAupdate_autonomous_exadata_infrastructure got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   }  r=   zKDatabaseClient.update_autonomous_exadata_infrastructure.<locals>.<dictcomp>Nr   r>   r?   rk   rD  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   }  rG   r   rH   r  r   rJ   r   )r"   r   Z1update_autonomous_exadata_infrastructures_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   ri  |  rC  z7DatabaseClient.update_autonomous_exadata_infrastructurec                    r   )a	  
        Updates the specified Autonomous VM cluster for the Exadata Cloud@Customer system.To update an Autonomous VM Cluster in the Oracle cloud, see :func:`update_cloud_autonomous_vm_cluster`.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.AutonomousVmCluster`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_autonomous_vm_cluster.py.html>`__ to see an example of how to use update_autonomous_vm_cluster API.
        r   r=  r   update_autonomous_vm_clusterzehttps://docs.oracle.com/iaas/api/#/en/database/20160918/AutonomousVmCluster/UpdateAutonomousVmClusterr   c                    r/   r%   r%   r0   r3   r%   r&   r4   p}  r5   z?DatabaseClient.update_autonomous_vm_cluster.<locals>.<listcomp>z5update_autonomous_vm_cluster got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   y}  r=   z?DatabaseClient.update_autonomous_vm_cluster.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   }  rG   r   rH   r   r   rJ   r   )r"   r   Z$update_autonomous_vm_cluster_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rj  ;}  r   z+DatabaseClient.update_autonomous_vm_clusterc                    r   )aa
  
        If no database is associated with the backup destination:
        - For a RECOVERY_APPLIANCE backup destination, updates the connection string and/or the list of VPC users.
        - For an NFS backup destination, updates the NFS location.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.BackupDestination`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_backup_destination.py.html>`__ to see an example of how to use update_backup_destination API.
        r   rF  r   update_backup_destinationzahttps://docs.oracle.com/iaas/api/#/en/database/20160918/BackupDestination/UpdateBackupDestinationr   c                    r/   r%   r%   r0   r3   r%   r&   r4   }  r5   z<DatabaseClient.update_backup_destination.<locals>.<listcomp>z2update_backup_destination got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   }  r=   z<DatabaseClient.update_backup_destination.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   }  rG   r   rH   r   r   rJ   r   )r"   r   Z!update_backup_destination_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rk  }  r   +$

z(DatabaseClient.update_backup_destinationc                    r   )a	  
        Updates the specified Autonomous Exadata VM cluster in the Oracle cloud. For Exadata Cloud@Customer systems, see :func:`update_autonomous_vm_cluster`.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.CloudAutonomousVmCluster`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_cloud_autonomous_vm_cluster.py.html>`__ to see an example of how to use update_cloud_autonomous_vm_cluster API.
        r   rI  r   "update_cloud_autonomous_vm_clusterzohttps://docs.oracle.com/iaas/api/#/en/database/20160918/CloudAutonomousVmCluster/UpdateCloudAutonomousVmClusterr   c                    r/   r%   r%   r0   r3   r%   r&   r4   O~  r5   zEDatabaseClient.update_cloud_autonomous_vm_cluster.<locals>.<listcomp>z;update_cloud_autonomous_vm_cluster got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   X~  r=   zEDatabaseClient.update_cloud_autonomous_vm_cluster.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   d~  rG   r   rH   r   r   rJ   r   )r"   r   Z*update_cloud_autonomous_vm_cluster_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rm  ~  r   z1DatabaseClient.update_cloud_autonomous_vm_clusterc                    r   )a	  
        Updates the Cloud Exadata infrastructure resource. Applies to Exadata Cloud Service instances and Autonomous Database on dedicated Exadata infrastructure only.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.CloudExadataInfrastructure`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_cloud_exadata_infrastructure.py.html>`__ to see an example of how to use update_cloud_exadata_infrastructure API.
        rh   rM  r   #update_cloud_exadata_infrastructurezshttps://docs.oracle.com/iaas/api/#/en/database/20160918/CloudExadataInfrastructure/UpdateCloudExadataInfrastructurer   c                    r/   r%   r%   r0   r3   r%   r&   r4   ~  r5   zFDatabaseClient.update_cloud_exadata_infrastructure.<locals>.<listcomp>z<update_cloud_exadata_infrastructure got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   ~  r=   zFDatabaseClient.update_cloud_exadata_infrastructure.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   ~  rG   r   rH   rn   r   rJ   r   )r"   rq   Z+update_cloud_exadata_infrastructure_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rn  ~  r   z2DatabaseClient.update_cloud_exadata_infrastructurec                    r   )ae	  
        Updates the specified cloud VM cluster. Applies to Exadata Cloud Service instances and Autonomous Database on dedicated Exadata infrastructure only.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.CloudVmCluster`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_cloud_vm_cluster.py.html>`__ to see an example of how to use update_cloud_vm_cluster API.
        rv   rR  r   update_cloud_vm_clusterz[https://docs.oracle.com/iaas/api/#/en/database/20160918/CloudVmCluster/UpdateCloudVmClusterr   c                    r/   r%   r%   r0   r3   r%   r&   r4   +  r5   z:DatabaseClient.update_cloud_vm_cluster.<locals>.<listcomp>z0update_cloud_vm_cluster got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   4  r=   z:DatabaseClient.update_cloud_vm_cluster.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   @  rG   r   rH   rz   r   rJ   r   )r"   r{   Zupdate_cloud_vm_cluster_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   ro  ~  r   z&DatabaseClient.update_cloud_vm_clusterc                    r   )aI	  
        Updates the IORM settings for the specified cloud VM cluster in an Exadata Cloud Service instance.


        :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 str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExadataIormConfig`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_cloud_vm_cluster_iorm_config.py.html>`__ to see an example of how to use update_cloud_vm_cluster_iorm_config API.
        rv   r  r   #update_cloud_vm_cluster_iorm_configzehttps://docs.oracle.com/iaas/api/#/en/database/20160918/CloudVmCluster/UpdateCloudVmClusterIormConfigrl  c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   zFDatabaseClient.update_cloud_vm_cluster_iorm_config.<locals>.<listcomp>z<update_cloud_vm_cluster_iorm_config got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   zFDatabaseClient.update_cloud_vm_cluster_iorm_config.<locals>.<dictcomp>Nr   r>   r?   r-   rk   rm  c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r  r   rJ   r   )r"   r{   Z+cloud_vm_cluster_iorm_config_update_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rp  d  r   z2DatabaseClient.update_cloud_vm_cluster_iorm_configc                    ra  )ax	  
        Updates the specified database node console connection.


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

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

        :param str console_connection_id: (required)
            The OCID of the console connection.

        :param oci.database.models.UpdateConsoleConnectionDetails update_console_connection_details: (required)
            Request to update the specified database node console connection.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ConsoleConnection`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_console_connection.py.html>`__ to see an example of how to use update_console_connection API.
        r   rU  rV  r   update_console_connectionzahttps://docs.oracle.com/iaas/api/#/en/database/20160918/ConsoleConnection/UpdateConsoleConnectionr   c                    r/   r%   r%   r0   r3   r%   r&   r4   
  r5   z<DatabaseClient.update_console_connection.<locals>.<listcomp>z2update_console_connection got unknown kwargs: {!r}rX  c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z<DatabaseClient.update_console_connection.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<      rG   r   rH   r   r   rJ   r   )r"   r   rZ  Z!update_console_connection_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rq    st   +$

z(DatabaseClient.update_console_connectionc                    ra  )aF
  
        Updates the Data Guard association the specified database. This API can be used to change the `protectionMode` and `transportType` of the Data Guard association.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.DataGuardAssociation`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_data_guard_association.py.html>`__ to see an example of how to use update_data_guard_association API.
        r   r  r  r   update_data_guard_associationzghttps://docs.oracle.com/iaas/api/#/en/database/20160918/DataGuardAssociation/UpdateDataGuardAssociationr   c                    r/   r%   r%   r0   r3   r%   r&   r4   ~  r5   z@DatabaseClient.update_data_guard_association.<locals>.<listcomp>z6update_data_guard_association got unknown kwargs: {!r}r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z@DatabaseClient.update_data_guard_association.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r  r   rJ   r   )r"   r   r  Z%update_data_guard_association_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rr  D  rc  z,DatabaseClient.update_data_guard_associationc                    rA  )ar  
        Update the specified database based on the request parameters provided.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.Database`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_database.py.html>`__ to see an example of how to use update_database API.
        r   r[  r   update_databasezOhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Database/UpdateDatabaserC  c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z2DatabaseClient.update_database.<locals>.<listcomp>z(update_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z2DatabaseClient.update_database.<locals>.<dictcomp>Nr   r>   r?   rk   rD  c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r   r   rJ   r   )r"   r   Zupdate_database_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rs    rC  zDatabaseClient.update_databasec                    rA  )a  
        Updates the properties of a Database Software Image, like Display Nmae


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.DatabaseSoftwareImage`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_database_software_image.py.html>`__ to see an example of how to use update_database_software_image API.
        r   r`  r   update_database_software_imagezihttps://docs.oracle.com/iaas/api/#/en/database/20160918/DatabaseSoftwareImage/UpdateDatabaseSoftwareImagerC  c                    r/   r%   r%   r0   r3   r%   r&   r4   R  r5   zADatabaseClient.update_database_software_image.<locals>.<listcomp>z7update_database_software_image got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   [  r=   zADatabaseClient.update_database_software_image.<locals>.<dictcomp>Nr   r>   r?   rk   rD  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   f  rG   r   rH   r  r   rJ   r   )r"   r   Z&update_database_software_image_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rt  !  rC  z-DatabaseClient.update_database_software_imagec                    rA  )a]  
        Patches the specified Database Home.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.DbHome`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_db_home.py.html>`__ to see an example of how to use update_db_home API.
        rc  rd  r   update_db_homezKhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DbHome/UpdateDbHomerC  c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z1DatabaseClient.update_db_home.<locals>.<listcomp>z'update_db_home got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   ā  r=   z1DatabaseClient.update_db_home.<locals>.<dictcomp>Nr   r>   r?   rk   rD  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   ρ  rG   r   rH   r	  r   rJ   r   )r"   rg  Zupdate_db_home_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   ru    rC  zDatabaseClient.update_db_homec                    r   )a  
        Updates the specified database node.


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

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

        :param oci.database.models.UpdateDbNodeDetails update_db_node_details: (required)
            Request to update the specified database node.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.DbNode`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_db_node.py.html>`__ to see an example of how to use update_db_node API.
        r   r)  r   update_db_nodezKhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DbNode/UpdateDbNoder   c                    r/   r%   r%   r0   r3   r%   r&   r4   (  r5   z1DatabaseClient.update_db_node.<locals>.<listcomp>z'update_db_node got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   1  r=   z1DatabaseClient.update_db_node.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   =  rG   r   rH   r+  r   rJ   r   )r"   r   Zupdate_db_node_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rv    r   zDatabaseClient.update_db_nodec                    rA  )a
  
        Updates the properties of the specified 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 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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.DbSystem`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_db_system.py.html>`__ to see an example of how to use update_db_system API.
        r   r  r   update_db_systemzOhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DbSystem/UpdateDbSystemrC  c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z3DatabaseClient.update_db_system.<locals>.<listcomp>z)update_db_system got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z3DatabaseClient.update_db_system.<locals>.<dictcomp>Nr   r>   r?   rk   rD  c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r  r   rJ   r   )r"   r   Zupdate_db_system_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rw  a  sp   ,$
zDatabaseClient.update_db_systemc                    r   )a	  
        Updates the Exadata infrastructure resource. Applies to Exadata Cloud@Customer instances only.
        To update an Exadata Cloud Service infrastructure resource, use the  :func:`update_cloud_exadata_infrastructure` operation.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExadataInfrastructure`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_exadata_infrastructure.py.html>`__ to see an example of how to use update_exadata_infrastructure API.
        r)   rh  r   update_exadata_infrastructurezihttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExadataInfrastructure/UpdateExadataInfrastructurer   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z@DatabaseClient.update_exadata_infrastructure.<locals>.<listcomp>z6update_exadata_infrastructure got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z@DatabaseClient.update_exadata_infrastructure.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   rI   r   rJ   r   )r"   rd   Z%update_exadata_infrastructure_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rx  т  r   )$

z,DatabaseClient.update_exadata_infrastructurec                    r   )a  
        Updates IORM settings for the specified Exadata 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.

        The :func:`update_cloud_vm_cluster_iorm_config` API is used for Exadata systems using 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 oci.database.models.ExadataIormConfigUpdateDetails exadata_iorm_config_update_details: (required)
            Request to perform database update.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExadataIormConfig`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_exadata_iorm_config.py.html>`__ to see an example of how to use update_exadata_iorm_config API.
        r   r)  r   update_exadata_iorm_configzXhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DbSystem/UpdateExadataIormConfigrl  c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z=DatabaseClient.update_exadata_iorm_config.<locals>.<listcomp>z3update_exadata_iorm_config got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z=DatabaseClient.update_exadata_iorm_config.<locals>.<dictcomp>Nr   r>   r?   r-   rk   rm  c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r  r   rJ   r   )r"   r   Z"exadata_iorm_config_update_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   rz  @  sr   2$

z)DatabaseClient.update_exadata_iorm_configc                    r   )a	  
        Updates the properties of
        an :func:`create_external_container_database_details` resource,
        such as the display name.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExternalContainerDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_external_container_database.py.html>`__ to see an example of how to use update_external_container_database API.
        r   rj  r   "update_external_container_databasezqhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalContainerDatabase/UpdateExternalContainerDatabaser   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   zEDatabaseClient.update_external_container_database.<locals>.<listcomp>z;update_external_container_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   zEDatabaseClient.update_external_container_database.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r  r   rJ   r   )r"   r   Z*update_external_container_database_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r{    rl  z1DatabaseClient.update_external_container_databasec                    r   )a	  
        Updates the properties of an external database connector, such as the display name.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExternalDatabaseConnector`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_external_database_connector.py.html>`__ to see an example of how to use update_external_database_connector API.
        r   ro  r   "update_external_database_connectorzqhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalDatabaseConnector/UpdateExternalDatabaseConnectorr   c                    r/   r%   r%   r0   r3   r%   r&   r4   _  r5   zEDatabaseClient.update_external_database_connector.<locals>.<listcomp>z;update_external_database_connector got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   h  r=   zEDatabaseClient.update_external_database_connector.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   t  rG   r   rH   r  r   rJ   r   )r"   r   Z*update_external_database_connector_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r|  )  ry  z1DatabaseClient.update_external_database_connectorc                    r   )a	  
        Updates the properties of an external non-container database, such as the display name.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExternalNonContainerDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_external_non_container_database.py.html>`__ to see an example of how to use update_external_non_container_database API.
        r   rq  r   &update_external_non_container_databasezwhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalNonContainerDatabase/UpdateExternalNonContainerDatabaser   c                    r/   r%   r%   r0   r3   r%   r&   r4   ̈́  r5   zIDatabaseClient.update_external_non_container_database.<locals>.<listcomp>z?update_external_non_container_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   ք  r=   zIDatabaseClient.update_external_non_container_database.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r  r   rJ   r   )r"   r   Z.update_external_non_container_database_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r}    r   z5DatabaseClient.update_external_non_container_databasec                    r   )a	  
        Updates the properties of an
        :func:`create_external_pluggable_database_details` resource,
        such as the display name.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.ExternalPluggableDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_external_pluggable_database.py.html>`__ to see an example of how to use update_external_pluggable_database API.
        r   rt  r   "update_external_pluggable_databasezqhttps://docs.oracle.com/iaas/api/#/en/database/20160918/ExternalPluggableDatabase/UpdateExternalPluggableDatabaser   c                    r/   r%   r%   r0   r3   r%   r&   r4   =  r5   zEDatabaseClient.update_external_pluggable_database.<locals>.<listcomp>z;update_external_pluggable_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   F  r=   zEDatabaseClient.update_external_pluggable_database.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   R  rG   r   rH   r  r   rJ   r   )r"   r   Z*update_external_pluggable_database_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r~    sr   *$

z1DatabaseClient.update_external_pluggable_databasec                    r   )a  
        If no database is associated with the key store, edit the key store.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.KeyStore`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_key_store.py.html>`__ to see an example of how to use update_key_store API.
        r   rw  r   update_key_storezOhttps://docs.oracle.com/iaas/api/#/en/database/20160918/KeyStore/UpdateKeyStorer   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z3DatabaseClient.update_key_store.<locals>.<listcomp>z)update_key_store got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z3DatabaseClient.update_key_store.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r  r   rJ   r   )r"   r   Zupdate_key_store_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  v  r   zDatabaseClient.update_key_storec                    rA  )af  
        Updates the properties of a maintenance run, such as the state of a maintenance run.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.MaintenanceRun`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_maintenance_run.py.html>`__ to see an example of how to use update_maintenance_run API.
        r<  r=  r   update_maintenance_runz[https://docs.oracle.com/iaas/api/#/en/database/20160918/MaintenanceRun/UpdateMaintenanceRunrC  c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z9DatabaseClient.update_maintenance_run.<locals>.<listcomp>z/update_maintenance_run got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z9DatabaseClient.update_maintenance_run.<locals>.<dictcomp>Nr   r>   r?   rk   rD  c                 S   rE   rF   r7   r9   r%   r%   r&   r<   '  rG   r   rH   r?  r   rJ   r   )r"   r@  Zupdate_maintenance_run_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r    sp   #$
z%DatabaseClient.update_maintenance_runc                    r   )a  
        Updates the properties of the specified one-off patch.


        :param str oneoff_patch_id: (required)
            The one-off patch `OCID`__.

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

        :param oci.database.models.UpdateOneoffPatchDetails update_oneoff_patch_details: (required)
            Request to update the properties of a one-off patch.

        :param str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.OneoffPatch`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_oneoff_patch.py.html>`__ to see an example of how to use update_oneoff_patch API.
        r   rz  r   update_oneoff_patchzUhttps://docs.oracle.com/iaas/api/#/en/database/20160918/OneoffPatch/UpdateOneoffPatchr   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z6DatabaseClient.update_oneoff_patch.<locals>.<listcomp>z,update_oneoff_patch got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z6DatabaseClient.update_oneoff_patch.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r  r   rJ   r   )r"   r   Zupdate_oneoff_patch_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  K  r   z"DatabaseClient.update_oneoff_patchc                    rA  )a  
        Updates the specified pluggable database.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.PluggableDatabase`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_pluggable_database.py.html>`__ to see an example of how to use update_pluggable_database API.
        r}  r~  r   update_pluggable_databasezahttps://docs.oracle.com/iaas/api/#/en/database/20160918/PluggableDatabase/UpdatePluggableDatabaserC  c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z<DatabaseClient.update_pluggable_database.<locals>.<listcomp>z2update_pluggable_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z<DatabaseClient.update_pluggable_database.<locals>.<dictcomp>Nr   r>   r?   rk   rD  c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r"  r   rJ   r   )r"   r  Z!update_pluggable_database_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r    rC  z(DatabaseClient.update_pluggable_databasec                    r   )a  
        Updates the specified VM cluster. Applies to Exadata Cloud@Customer instances only.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.VmCluster`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_vm_cluster.py.html>`__ to see an example of how to use update_vm_cluster API.
        r}   r  r   update_vm_clusterzQhttps://docs.oracle.com/iaas/api/#/en/database/20160918/VmCluster/UpdateVmClusterr   c                    r/   r%   r%   r0   r3   r%   r&   r4   W  r5   z4DatabaseClient.update_vm_cluster.<locals>.<listcomp>z*update_vm_cluster got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   `  r=   z4DatabaseClient.update_vm_cluster.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   l  rG   r   rH   r   r   rJ   r   )r"   r   Zupdate_vm_cluster_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  "  r   z DatabaseClient.update_vm_clusterc                    ra  )a|
  
        Updates the specified VM cluster network. Applies to Exadata Cloud@Customer instances only.
        To update a cloud VM cluster in an Exadata Cloud Service instance, use the :func:`update_cloud_vm_cluster` operation.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.VmClusterNetwork`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/update_vm_cluster_network.py.html>`__ to see an example of how to use update_vm_cluster_network API.
        r)   r  r  r   update_vm_cluster_networkz_https://docs.oracle.com/iaas/api/#/en/database/20160918/VmClusterNetwork/UpdateVmClusterNetworkr   c                    r/   r%   r%   r0   r3   r%   r&   r4   ˇ  r5   z<DatabaseClient.update_vm_cluster_network.<locals>.<listcomp>z2update_vm_cluster_network got unknown kwargs: {!r}r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   Շ  r=   z<DatabaseClient.update_vm_cluster_network.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<     rG   r   rH   r'  r   rJ   r   )r"   rd   r  Z!update_vm_cluster_network_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r    st   .$

z(DatabaseClient.update_vm_cluster_networkc                    r   )a  
        Upgrades the specified Oracle Database instance.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.Database`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/upgrade_database.py.html>`__ to see an example of how to use upgrade_database API.
        r   z'/databases/{databaseId}/actions/upgrader*   upgrade_databasezPhttps://docs.oracle.com/iaas/api/#/en/database/20160918/Database/UpgradeDatabaser   c                    r/   r%   r%   r0   r3   r%   r&   r4   :  r5   z3DatabaseClient.upgrade_database.<locals>.<listcomp>z)upgrade_database got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<   C  r=   z3DatabaseClient.upgrade_database.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   O  rG   r   rH   r   r   rJ   r   )r"   r   Zupgrade_database_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r    r   zDatabaseClient.upgrade_databasec                    r   )a  
        Upgrades the operating system and grid infrastructure of the DB system.


        :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 str if_match: (optional)
            For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`
            parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
            will be updated or deleted only if the etag you provide matches the resource's current etag value.

        :param str opc_request_id: (optional)
            Unique identifier for the request.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.DbSystem`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/upgrade_db_system.py.html>`__ to see an example of how to use upgrade_db_system API.
        r   z'/dbSystems/{dbSystemId}/actions/upgrader*   upgrade_db_systemzPhttps://docs.oracle.com/iaas/api/#/en/database/20160918/DbSystem/UpgradeDbSystemrj   c                    r/   r%   r%   r0   r3   r%   r&   r4     r5   z4DatabaseClient.upgrade_db_system.<locals>.<listcomp>z*upgrade_db_system got unknown kwargs: {!r}c                 S   r6   r%   r7   r9   r%   r%   r&   r<     r=   z4DatabaseClient.upgrade_db_system.<locals>.<dictcomp>Nr   r>   r?   rk   r-   r.   rl   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   ƈ  rG   r   rH   r  r   rJ   rT   )r"   r   Zupgrade_db_system_detailsr$   rS   rK   rL   rQ   rR   re   rM   r:   r;   rN   r   r%   r3   r&   r  s  r|   z DatabaseClient.upgrade_db_systemc                    sx  ddg}d}d}d}d}g d  fdd	t |D }	|	r%td
|	||d}
dd t |
D }
t |
D ]\}}|du sOt|t jrVt| dkrVtd|q9dd|	dt
|	dt
d}dd t |D }| jj|	d| jd}|rt|tjs| j| | j| || j |j| jj|||
|d|	d|||d
S | jj|||
|d|	d|||d	S )a	  
        Validates the specified VM cluster network. Applies to Exadata Cloud@Customer instances only.


        :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 str opc_request_id: (optional)
            Unique identifier for the request.

        :param str opc_retry_token: (optional)
            A token that uniquely identifies a request so it can be retried in case of a timeout or
            server error without risk of executing that same action again. Retry tokens expire after 24
            hours, but can be invalidated before then due to conflicting operations (for example, if a resource
            has been deleted and purged from the system, then a retry of the original creation request
            may be rejected).

        :param obj retry_strategy: (optional)
            A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.

            This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

            To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
            By default, the response will not allow control characters in strings

        :return: A :class:`~oci.response.Response` object with data of type :class:`~oci.database.models.VmClusterNetwork`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/database/validate_vm_cluster_network.py.html>`__ to see an example of how to use validate_vm_cluster_network API.
        r)   r  zi/exadataInfrastructures/{exadataInfrastructureId}/vmClusterNetworks/{vmClusterNetworkId}/actions/validater*   validate_vm_cluster_networkzahttps://docs.oracle.com/iaas/api/#/en/database/20160918/VmClusterNetwork/ValidateVmClusterNetworkr,   c                    r/   r%   r%   r0   r3   r%   r&   r4   $  r5   z>DatabaseClient.validate_vm_cluster_network.<locals>.<listcomp>z4validate_vm_cluster_network got unknown kwargs: {!r}r  c                 S   r6   r%   r7   r9   r%   r%   r&   r<   .  r=   z>DatabaseClient.validate_vm_cluster_network.<locals>.<dictcomp>Nr   r>   r?   r-   r.   r@   c                 S   rE   rF   r7   r9   r%   r%   r&   r<   :  rG   r   rH   r'  r   ro   rT   r  r%   r3   r&   r    r  z*DatabaseClient.validate_vm_cluster_networkN(9  __name__
__module____qualname____doc__r'   r+   ri   rs   rw   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*  r2  r6  r:  r>  rB  rG  rJ  rN  rS  rW  r\  ra  re  ri  rk  rp  rr  ru  rx  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  r  r  r  r	  r  r  r  r  r  r  r  r  r  r   r'  r(  r*  r+  r,  r-  r.  r/  r1  r;  r>  rB  rC  rE  rF  rG  rH  rI  rJ  rK  rL  rN  rP  rQ  rj  ro  rp  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/  r0  r1  r2  r3  r4  r6  r7  r8  r9  r:  r;  r=  r?  rB  rD  rE  rG  rH  rI  rK  rN  rP  rQ  rR  rS  rT  rU  rV  rW  rX  rY  rZ  r[  r\  r]  r^  r_  r`  rb  rd  re  rf  rh  ri  rj  rk  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  rz  r{  r|  r}  r~  r  r  r  r  r  r  r  r  r  r%   r%   r%   r&   r      s   Zqssxxxqzzzvzvxvz} nw{z}zvvwswzn`[```[``dbnv`[[a_```a``aar ggggbggrgfxbsgijghggggnf``sqquqquqqslsrr``xzvzvvzvvx lsqqbX^bbhQbXXbbXbbbobchh\^XXhX^^Xn_^^hxbom\bcbcqbVVbhXbi^^hh[p l  @ &j 8lr R 	 k { li !    Xrl 2 + ll + ! \llfj + &  '     " tg B B  +  (ll   xvzxxfjoyxxidiiuuvvwwqqquxddsisl rbbiitnnTeinqnnnnrtiiinpoxqonpngninunxr   N)
__future__r   Zoci._vendorr   r   ocir   r   Zoci.base_clientr   Z
oci.configr   r	   Z
oci.signerr
   Zoci.utilr   r   r   Zmodelsr   r8   objectr   r%   r%   r%   r&   <module>   s   