o
    ɶd                    @   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   )streaming_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(S ))StreamAdminClientz
    Use the Streaming API to produce and consume messages, create streams and stream pools, and manage related items. For more information, see [Streaming](/Content/Streaming/Concepts/streamingoverview.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	/20180418z2https://streaming.{region}.oci.{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stream_adminretry_strategycircuit_breaker_callback)r	   getr   r   r
   r   r   ZGLOBAL_CIRCUIT_BREAKER_STRATEGYZ DEFAULT_CIRCUIT_BREAKER_STRATEGYr   r   base_clientr   r   )selfconfigkwargsr   Zbase_client_init_kwargs r$   Eusr/lib/python3.10/site-packages/oci/streaming/stream_admin_client.py__init__   s>   3





zStreamAdminClient.__init__c                    v  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}|du rtj}|rt|tjs| j| || j |j| jj|||
|||	d|||d
S | jj|||
|||	d|||d	S )a9	  
        Moves a resource into a different compartment. When provided, If-Match is checked against ETag values of the resource.


        :param str connect_harness_id: (required)
            The OCID of the connect harness.

        :param oci.streaming.models.ChangeConnectHarnessCompartmentDetails change_connect_harness_compartment_details: (required)
            The connect harness will be moved into the compartment specified within this entity.

        :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)
            The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
            particular request, please provide the request ID.

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

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

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

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the 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/streaming/change_connect_harness_compartment.py.html>`__ to see an example of how to use change_connect_harness_compartment API.
        connectHarnessIdz>/connectharnesses/{connectHarnessId}/actions/changeCompartmentPOST"change_connect_harness_compartmentzghttps://docs.oracle.com/iaas/api/#/en/streaming/20180418/ConnectHarness/ChangeConnectHarnessCompartmentr   r   if_matchopc_request_idc                       g | ]}| vr|qS r$   r$   .0_keyZexpected_kwargsr$   r%   
<listcomp>       zHStreamAdminClient.change_connect_harness_compartment.<locals>.<listcomp>z;change_connect_harness_compartment got unknown kwargs: {!r}c                 S      i | ]\}}|t ur||qS r$   missingr0   kvr$   r$   r%   
<dictcomp>       zHStreamAdminClient.change_connect_harness_compartment.<locals>.<dictcomp>Nr   7Parameter {} cannot be None, whitespace or empty stringapplication/jsonr,   r-   acceptcontent-typeif-matchopc-request-idc                 S   &   i | ]\}}|t ur|d ur||qS Nr6   r8   r$   r$   r%   r;         & r   Zoperation_retry_strategyZclient_retry_strategyr   	resource_pathmethodpath_paramsheader_paramsbodyr   operation_nameapi_reference_linkrequired_argumentsr   iterkeys
ValueErrorformat	iteritems
isinstanceZstring_typeslenstripr   r7   r    get_preferred_retry_strategyr   r   DEFAULT_RETRY_STRATEGYNoneRetryStrategyadd_opc_client_retries_headeradd_circuit_breaker_callbackr   make_retrying_callcall_api)r!   connect_harness_idZ*change_connect_harness_compartment_detailsr#   rP   rI   rJ   rN   rO   extra_kwargsrK   r9   r:   rL   r   r$   r2   r%   r*   r   r   %$

z4StreamAdminClient.change_connect_harness_compartmentc                    r'   )af	  
        Moves a resource into a different compartment.
        When provided, If-Match is checked against ETag values of the resource.
        The stream will also be moved into the default stream pool in the destination compartment.


        :param str stream_id: (required)
            The OCID of the stream.

        :param oci.streaming.models.ChangeStreamCompartmentDetails change_stream_compartment_details: (required)
            The stream will be moved into the compartment specified within this entity.

        :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)
            The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
            particular request, please provide the request ID.

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

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

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

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the 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/streaming/change_stream_compartment.py.html>`__ to see an example of how to use change_stream_compartment API.
        streamIdz-/streams/{streamId}/actions/changeCompartmentr)   change_stream_compartmentzWhttps://docs.oracle.com/iaas/api/#/en/streaming/20180418/Stream/ChangeStreamCompartmentr+   c                    r.   r$   r$   r/   r2   r$   r%   r3     r4   z?StreamAdminClient.change_stream_compartment.<locals>.<listcomp>z2change_stream_compartment got unknown kwargs: {!r}c                 S   r5   r$   r6   r8   r$   r$   r%   r;     r<   z?StreamAdminClient.change_stream_compartment.<locals>.<dictcomp>Nr   r=   r>   r,   r-   r?   c                 S   rD   rE   r6   r8   r$   r$   r%   r;   &  rF   r   rG   r   rH   rQ   )r!   	stream_idZ!change_stream_compartment_detailsr#   rP   rI   rJ   rN   rO   ra   rK   r9   r:   rL   r   r$   r2   r%   rd      sr   '$

z+StreamAdminClient.change_stream_compartmentc                    r'   )a	  
        Moves a resource into a different compartment. When provided, If-Match is checked against ETag values of the resource.


        :param str stream_pool_id: (required)
            The OCID of the stream pool.

        :param oci.streaming.models.ChangeStreamPoolCompartmentDetails change_stream_pool_compartment_details: (required)
            The stream pool will be moved into the compartment specified within this entity.

        :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)
            The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
            particular request, please provide the request ID.

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

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

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

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the 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/streaming/change_stream_pool_compartment.py.html>`__ to see an example of how to use change_stream_pool_compartment API.
        streamPoolIdz5/streampools/{streamPoolId}/actions/changeCompartmentr)   change_stream_pool_compartmentz_https://docs.oracle.com/iaas/api/#/en/streaming/20180418/StreamPool/ChangeStreamPoolCompartmentr+   c                    r.   r$   r$   r/   r2   r$   r%   r3   |  r4   zDStreamAdminClient.change_stream_pool_compartment.<locals>.<listcomp>z7change_stream_pool_compartment got unknown kwargs: {!r}c                 S   r5   r$   r6   r8   r$   r$   r%   r;     r<   zDStreamAdminClient.change_stream_pool_compartment.<locals>.<dictcomp>Nr   r=   r>   r,   r-   r?   c                 S   rD   rE   r6   r8   r$   r$   r%   r;     rF   r   rG   r   rH   rQ   )r!   stream_pool_idZ&change_stream_pool_compartment_detailsr#   rP   rI   rJ   rN   rO   ra   rK   r9   r:   rL   r   r$   r2   r%   rg   J  rb   z0StreamAdminClient.change_stream_pool_compartmentc                      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}
|
du rOt
j}
|
r}t|
t
jsi| j|	 | j|	 |
| j |
j| jj|||	|d|d|||d
S | jj|||	|d|d|||d	S )aC	  
        Starts the provisioning of a new connect harness.
        To track the progress of the provisioning, you can periodically call :class:`ConnectHarness` object tells you its current state.


        :param oci.streaming.models.CreateConnectHarnessDetails create_connect_harness_details: (required)
            The connect harness to create.

        :param str opc_request_id: (optional)
            The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
            particular request, please provide the request ID.

        :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 uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

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

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the 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.streaming.models.ConnectHarness`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/streaming/create_connect_harness.py.html>`__ to see an example of how to use create_connect_harness API.
        /connectharnessesr)   create_connect_harnessz\https://docs.oracle.com/iaas/api/#/en/streaming/20180418/ConnectHarness/CreateConnectHarnessr   r   r-   opc_retry_tokenc                    r.   r$   r$   r/   r2   r$   r%   r3     r4   z<StreamAdminClient.create_connect_harness.<locals>.<listcomp>z/create_connect_harness got unknown kwargs: {!r}r>   r-   rm   r@   rA   rC   zopc-retry-tokenc                 S   rD   rE   r6   r8   r$   r$   r%   r;     rF   z<StreamAdminClient.create_connect_harness.<locals>.<dictcomp>r   rG   NConnectHarnessr   	rI   rJ   rL   rM   response_typer   rN   rO   rP   r   rR   rS   rT   r   r7   rU   r    rY   r   r   rZ   rV   r[   Zadd_opc_retry_token_if_neededr\   r]   r   r^   r_   )r!   Zcreate_connect_harness_detailsr#   rP   rI   rJ   rN   rO   ra   rL   r   r$   r2   r%   rk     sf   #

z(StreamAdminClient.create_connect_harnessc                    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}
|
du rJt
j}
|
rrt|
t
js^| j|	 |
| j |
j| jj|||	|d|d|||d
S | jj|||	|d|d|||d	S )a]  
        Starts the provisioning of a new stream.
        The stream will be created in the given compartment id or stream pool id, depending on which parameter is specified.
        Compartment id and stream pool id cannot be specified at the same time.
        To track the progress of the provisioning, you can periodically call :func:`get_stream`.
        In the response, the `lifecycleState` parameter of the :class:`Stream` object tells you its current state.


        :param oci.streaming.models.CreateStreamDetails create_stream_details: (required)
            The stream to create.

        :param str opc_request_id: (optional)
            The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
            particular request, please provide the request ID.

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

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

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

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the 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.streaming.models.Stream`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/streaming/create_stream.py.html>`__ to see an example of how to use create_stream API.
        /streamsr)   create_streamzLhttps://docs.oracle.com/iaas/api/#/en/streaming/20180418/Stream/CreateStreamr   r   r-   c                    r.   r$   r$   r/   r2   r$   r%   r3   D  r4   z3StreamAdminClient.create_stream.<locals>.<listcomp>z&create_stream got unknown kwargs: {!r}r>   r-   r@   rA   rC   c                 S   rD   rE   r6   r8   r$   r$   r%   r;   N  rF   z3StreamAdminClient.create_stream.<locals>.<dictcomp>r   rG   NStreamr   rp   r   rR   rS   rT   r   r7   rU   r    rY   r   r   rZ   rV   r[   r\   r]   r   r^   r_   )r!   Zcreate_stream_detailsr#   rP   rI   rJ   rN   rO   ra   rL   r   r$   r2   r%   rt     sb   #
zStreamAdminClient.create_streamc                    ri   )a]	  
        Starts the provisioning of a new stream pool.
        To track the progress of the provisioning, you can periodically call GetStreamPool.
        In the response, the `lifecycleState` parameter of the object tells you its current state.


        :param oci.streaming.models.CreateStreamPoolDetails create_stream_pool_details: (required)
            The stream pool to create.

        :param str opc_request_id: (optional)
            The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
            particular request, please provide the request ID.

        :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 uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

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

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the 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.streaming.models.StreamPool`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/streaming/create_stream_pool.py.html>`__ to see an example of how to use create_stream_pool API.
        /streampoolsr)   create_stream_poolzThttps://docs.oracle.com/iaas/api/#/en/streaming/20180418/StreamPool/CreateStreamPoolrl   c                    r.   r$   r$   r/   r2   r$   r%   r3     r4   z8StreamAdminClient.create_stream_pool.<locals>.<listcomp>z+create_stream_pool got unknown kwargs: {!r}r>   r-   rm   rn   c                 S   rD   rE   r6   r8   r$   r$   r%   r;     rF   z8StreamAdminClient.create_stream_pool.<locals>.<dictcomp>r   rG   N
StreamPoolr   rp   rr   )r!   Zcreate_stream_pool_detailsr#   rP   rI   rJ   rN   rO   ra   rL   r   r$   r2   r%   rz   r  sf   $

z$StreamAdminClient.create_stream_poolc                    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|
q7dd|	dt
|	dt
d}dd t |D }| jj|	d| jd}|du rtj}|rt|tjs| j| || j |j| jj|||	||	d|||d	S | jj|||	||	d|||dS )ax
  
        Deletes a connect harness and its content. Connect harness contents are deleted immediately. The service retains records of the connect harness itself for 90 days after deletion.
        The `lifecycleState` parameter of the `ConnectHarness` object changes to `DELETING` and the connect harness becomes inaccessible for read or write operations.
        To verify that a connect harness has been deleted, make a :func:`get_connect_harness` request. If the call returns the connect harness's
        lifecycle state as `DELETED`, then the connect harness has been deleted. If the call returns a "404 Not Found" error, that means all records of the
        connect harness have been deleted.


        :param str connect_harness_id: (required)
            The OCID of the connect harness.

        :param str opc_request_id: (optional)
            The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
            particular request, please provide the request ID.

        :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 uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

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

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the 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/streaming/delete_connect_harness.py.html>`__ to see an example of how to use delete_connect_harness API.
        r(   $/connectharnesses/{connectHarnessId}DELETEdelete_connect_harnessz\https://docs.oracle.com/iaas/api/#/en/streaming/20180418/ConnectHarness/DeleteConnectHarnessr   r   r-   r,   c                    r.   r$   r$   r/   r2   r$   r%   r3     r4   z<StreamAdminClient.delete_connect_harness.<locals>.<listcomp>z/delete_connect_harness got unknown kwargs: {!r}c                 S   r5   r$   r6   r8   r$   r$   r%   r;     r<   z<StreamAdminClient.delete_connect_harness.<locals>.<dictcomp>Nr   r=   r>   r-   r,   r@   rA   rC   rB   c                 S   rD   rE   r6   r8   r$   r$   r%   r;     rF   r   rG   r   rI   rJ   rK   rL   r   rN   rO   rP   rQ   r!   r`   r#   rP   rI   rJ   rN   rO   ra   rK   r9   r:   rL   r   r$   r2   r%   r     n   &$

z(StreamAdminClient.delete_connect_harnessc                    r|   )a	  
        Deletes a stream and its content. Stream contents are deleted immediately. The service retains records of the stream itself for 90 days after deletion.
        The `lifecycleState` parameter of the `Stream` object changes to `DELETING` and the stream becomes inaccessible for read or write operations.
        To verify that a stream has been deleted, make a :func:`get_stream` request. If the call returns the stream's
        lifecycle state as `DELETED`, then the stream has been deleted. If the call returns a "404 Not Found" error, that means all records of the
        stream have been deleted.


        :param str stream_id: (required)
            The OCID of the stream.

        :param str opc_request_id: (optional)
            The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
            particular request, please provide the request ID.

        :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 uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

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

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the 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/streaming/delete_stream.py.html>`__ to see an example of how to use delete_stream API.
        rc   /streams/{streamId}r~   delete_streamzLhttps://docs.oracle.com/iaas/api/#/en/streaming/20180418/Stream/DeleteStreamr   c                    r.   r$   r$   r/   r2   r$   r%   r3   p  r4   z3StreamAdminClient.delete_stream.<locals>.<listcomp>z&delete_stream got unknown kwargs: {!r}c                 S   r5   r$   r6   r8   r$   r$   r%   r;   y  r<   z3StreamAdminClient.delete_stream.<locals>.<dictcomp>Nr   r=   r>   r-   r,   r   c                 S   rD   rE   r6   r8   r$   r$   r%   r;     rF   r   rG   r   r   rQ   r!   re   r#   rP   rI   rJ   rN   rO   ra   rK   r9   r:   rL   r   r$   r2   r%   r   =  r   zStreamAdminClient.delete_streamc                    r|   )a>  
        Deletes a stream pool. All containing streams will also be deleted.
        The default stream pool of a compartment cannot be deleted.


        :param str stream_pool_id: (required)
            The OCID of the stream pool.

        :param str opc_request_id: (optional)
            The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
            particular request, please provide the request ID.

        :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 uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

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

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the 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/streaming/delete_stream_pool.py.html>`__ to see an example of how to use delete_stream_pool API.
        rf   /streampools/{streamPoolId}r~   delete_stream_poolzThttps://docs.oracle.com/iaas/api/#/en/streaming/20180418/StreamPool/DeleteStreamPoolr   c                    r.   r$   r$   r/   r2   r$   r%   r3     r4   z8StreamAdminClient.delete_stream_pool.<locals>.<listcomp>z+delete_stream_pool got unknown kwargs: {!r}c                 S   r5   r$   r6   r8   r$   r$   r%   r;     r<   z8StreamAdminClient.delete_stream_pool.<locals>.<dictcomp>Nr   r=   r>   r-   r,   r   c                 S   rD   rE   r6   r8   r$   r$   r%   r;     rF   r   rG   r   r   rQ   r!   rh   r#   rP   rI   rJ   rN   rO   ra   rK   r9   r:   rL   r   r$   r2   r%   r     sn   #$

z$StreamAdminClient.delete_stream_poolc                    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}dd t |D }| jj|	d| jd}|du r|tj}|rt|tjs| j| || j |j| jj|||	|d|	d|||d
S | jj|||	|d|	d|||d	S )a  
        Gets detailed information about a connect harness.


        :param str connect_harness_id: (required)
            The OCID of the connect harness.

        :param str opc_request_id: (optional)
            The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
            particular request, please provide the request ID.

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

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

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

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the 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.streaming.models.ConnectHarness`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/streaming/get_connect_harness.py.html>`__ to see an example of how to use get_connect_harness API.
        r(   r}   GETget_connect_harnesszYhttps://docs.oracle.com/iaas/api/#/en/streaming/20180418/ConnectHarness/GetConnectHarnessru   c                    r.   r$   r$   r/   r2   r$   r%   r3   9  r4   z9StreamAdminClient.get_connect_harness.<locals>.<listcomp>z,get_connect_harness got unknown kwargs: {!r}c                 S   r5   r$   r6   r8   r$   r$   r%   r;   B  r<   z9StreamAdminClient.get_connect_harness.<locals>.<dictcomp>Nr   r=   r>   r-   rv   c                 S   rD   rE   r6   r8   r$   r$   r%   r;   M  rF   r   rG   ro   r   	rI   rJ   rK   rL   rq   r   rN   rO   rP   rQ   r   r$   r2   r%   r     p   $
z%StreamAdminClient.get_connect_harnessc                    r   )a  
        Gets detailed information about a stream, including the number of partitions.


        :param str stream_id: (required)
            The OCID of the stream.

        :param str opc_request_id: (optional)
            The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
            particular request, please provide the request ID.

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

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

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

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the 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.streaming.models.Stream`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/streaming/get_stream.py.html>`__ to see an example of how to use get_stream API.
        rc   r   r   
get_streamzIhttps://docs.oracle.com/iaas/api/#/en/streaming/20180418/Stream/GetStreamru   c                    r.   r$   r$   r/   r2   r$   r%   r3     r4   z0StreamAdminClient.get_stream.<locals>.<listcomp>z#get_stream got unknown kwargs: {!r}c                 S   r5   r$   r6   r8   r$   r$   r%   r;     r<   z0StreamAdminClient.get_stream.<locals>.<dictcomp>Nr   r=   r>   r-   rv   c                 S   rD   rE   r6   r8   r$   r$   r%   r;     rF   r   rG   rw   r   r   rQ   r   r$   r2   r%   r   q  r   zStreamAdminClient.get_streamc                    r   )a  
        Gets detailed information about the stream pool, such as Kafka settings.


        :param str stream_pool_id: (required)
            The OCID of the stream pool.

        :param str opc_request_id: (optional)
            The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
            particular request, please provide the request ID.

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

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

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

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the 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.streaming.models.StreamPool`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/streaming/get_stream_pool.py.html>`__ to see an example of how to use get_stream_pool API.
        rf   r   r   get_stream_poolzQhttps://docs.oracle.com/iaas/api/#/en/streaming/20180418/StreamPool/GetStreamPoolru   c                    r.   r$   r$   r/   r2   r$   r%   r3     r4   z5StreamAdminClient.get_stream_pool.<locals>.<listcomp>z(get_stream_pool got unknown kwargs: {!r}c                 S   r5   r$   r6   r8   r$   r$   r%   r;     r<   z5StreamAdminClient.get_stream_pool.<locals>.<dictcomp>Nr   r=   r>   r-   rv   c                 S   rD   rE   r6   r8   r$   r$   r%   r;     rF   r   rG   r{   r   r   rQ   r   r$   r2   r%   r     r   z!StreamAdminClient.get_stream_poolc                      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!}|d"u rt
j}|rt|t
js| j| || j |j| jj||||d#|d$|||d%
S | jj||||d#|d$|||d%	S )&aA  
        Lists the connectharness.


        :param str compartment_id: (required)
            The OCID of the compartment.

        :param str id: (optional)
            A filter to return only resources that match the given ID exactly.

        :param str name: (optional)
            A filter to return only resources that match the given name exactly.

        :param int limit: (optional)
            The maximum number of items to return. The value must be between 1 and 50. The default is 10.

        :param str page: (optional)
            The page at which to start retrieving results.

        :param str sort_by: (optional)
            The field to sort by. You can provide no more than one sort order. By default, `TIMECREATED` sorts results in descending order and `NAME` sorts results in ascending order.

            Allowed values are: "NAME", "TIMECREATED"

        :param str sort_order: (optional)
            The sort order to use, either 'asc' or 'desc'.

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            A filter to only return resources that match the given lifecycle state. The state value is case-insensitive.

            Allowed values are: "CREATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "UPDATING"

        :param str opc_request_id: (optional)
            The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
            particular request, please provide the request ID.

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

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

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

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the 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.streaming.models.ConnectHarnessSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/streaming/list_connect_harnesses.py.html>`__ to see an example of how to use list_connect_harnesses API.
        compartmentIdrj   r   list_connect_harnesseszchttps://docs.oracle.com/iaas/api/#/en/streaming/20180418/ConnectHarnessSummary/ListConnectHarnesses
r   r   idnamelimitpagesort_by
sort_orderlifecycle_stater-   c                    r.   r$   r$   r/   r2   r$   r%   r3     r4   z<StreamAdminClient.list_connect_harnesses.<locals>.<listcomp>z/list_connect_harnesses got unknown kwargs: {!r}r   NAMETIMECREATED/Invalid value for `sort_by`, must be one of {0}r   ASCDESC2Invalid value for `sort_order`, must be one of {0}r   ZCREATINGZACTIVEZDELETINGZDELETEDZFAILEDZUPDATING7Invalid value for `lifecycle_state`, must be one of {0}r   r   r   r   r   r   r   r   r   sortBy	sortOrderlifecycleStatec                 S   rD   rE   r6   r8   r$   r$   r%   r;     rF   z<StreamAdminClient.list_connect_harnesses.<locals>.<dictcomp>r>   r-   rv   c                 S   rD   rE   r6   r8   r$   r$   r%   r;     rF   r   rG   Nzlist[ConnectHarnessSummary]r   	rI   rJ   query_paramsrL   rq   r   rN   rO   rP   rx   r!   compartment_idr#   rP   rI   rJ   rN   rO   ra   sort_by_allowed_valuessort_order_allowed_valueslifecycle_state_allowed_valuesr   rL   r   r$   r2   r%   r   7     :








z(StreamAdminClient.list_connect_harnessesc                    r   )&aK  
        List the stream pools for a given compartment ID.


        :param str compartment_id: (required)
            The OCID of the compartment.

        :param str id: (optional)
            A filter to return only resources that match the given ID exactly.

        :param str name: (optional)
            A filter to return only resources that match the given name exactly.

        :param int limit: (optional)
            The maximum number of items to return. The value must be between 1 and 50. The default is 10.

        :param str page: (optional)
            The page at which to start retrieving results.

        :param str sort_by: (optional)
            The field to sort by. You can provide no more than one sort order. By default, `TIMECREATED` sorts results in descending order and `NAME` sorts results in ascending order.

            Allowed values are: "NAME", "TIMECREATED"

        :param str sort_order: (optional)
            The sort order to use, either 'asc' or 'desc'.

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            A filter to only return resources that match the given lifecycle state. The state value is case-insensitive.

            Allowed values are: "CREATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "UPDATING"

        :param str opc_request_id: (optional)
            The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
            particular request, please provide the request ID.

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

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

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

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the 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.streaming.models.StreamPoolSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/streaming/list_stream_pools.py.html>`__ to see an example of how to use list_stream_pools API.
        r   ry   r   list_stream_poolszZhttps://docs.oracle.com/iaas/api/#/en/streaming/20180418/StreamPoolSummary/ListStreamPoolsr   c                    r.   r$   r$   r/   r2   r$   r%   r3      r4   z7StreamAdminClient.list_stream_pools.<locals>.<listcomp>z*list_stream_pools got unknown kwargs: {!r}r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   c                 S   rD   rE   r6   r8   r$   r$   r%   r;   D  rF   z7StreamAdminClient.list_stream_pools.<locals>.<dictcomp>r>   r-   rv   c                 S   rD   rE   r6   r8   r$   r$   r%   r;   K  rF   r   rG   Nzlist[StreamPoolSummary]r   r   rx   r   r$   r2   r%   r     r   z#StreamAdminClient.list_stream_poolsc                    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"}|d#u rt
j}|rt|t
js| j| || j |j| jj||||d$|d%|||d&
S | jj||||d$|d%|||d&	S )'aJ  
        Lists the streams in the given compartment id.
        If the compartment id is specified, it will list streams in the compartment, regardless of their stream pool.
        If the stream pool id is specified, the action will be scoped to that stream pool.
        The compartment id and stream pool id cannot be specified at the same time.


        :param str compartment_id: (optional)
            The OCID of the compartment. Is exclusive with the `streamPoolId` parameter. One of them is required.

        :param str stream_pool_id: (optional)
            The OCID of the stream pool. Is exclusive with the `compartmentId` parameter. One of them is required.

        :param str id: (optional)
            A filter to return only resources that match the given ID exactly.

        :param str name: (optional)
            A filter to return only resources that match the given name exactly.

        :param int limit: (optional)
            The maximum number of items to return. The value must be between 1 and 50. The default is 10.

        :param str page: (optional)
            The page at which to start retrieving results.

        :param str sort_by: (optional)
            The field to sort by. You can provide no more than one sort order. By default, `TIMECREATED` sorts results in descending order and `NAME` sorts results in ascending order.

            Allowed values are: "NAME", "TIMECREATED"

        :param str sort_order: (optional)
            The sort order to use, either 'asc' or 'desc'.

            Allowed values are: "ASC", "DESC"

        :param str lifecycle_state: (optional)
            A filter to only return resources that match the given lifecycle state. The state value is case-insensitive.

            Allowed values are: "CREATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "UPDATING"

        :param str opc_request_id: (optional)
            The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
            particular request, please provide the request ID.

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

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

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

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the 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.streaming.models.StreamSummary`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/streaming/list_streams.py.html>`__ to see an example of how to use list_streams API.
        rs   r   list_streamszRhttps://docs.oracle.com/iaas/api/#/en/streaming/20180418/StreamSummary/ListStreams)r   r   r   rh   r   r   r   r   r   r   r   r-   c                    r.   r$   r$   r/   r2   r$   r%   r3     r4   z2StreamAdminClient.list_streams.<locals>.<listcomp>z%list_streams got unknown kwargs: {!r}r   r   r   r   r   r   r   r   r   r   r   r   rh   r   r   r   r   )	r   rf   r   r   r   r   r   r   r   c                 S   rD   rE   r6   r8   r$   r$   r%   r;     rF   z2StreamAdminClient.list_streams.<locals>.<dictcomp>r>   r-   rv   c                 S   rD   rE   r6   r8   r$   r$   r%   r;     rF   r   rG   Nzlist[StreamSummary]r   r   rx   )r!   r#   rP   rI   rJ   rN   rO   ra   r   r   r   r   rL   r   r$   r2   r%   r   o  s   @









zStreamAdminClient.list_streamsc                    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}dd t |D }| jj|	d| jd}|du rtj}|rt|tjs| j| || j |j| jj|||
||d|	d|||dS | jj|||
||d|	d|||d
S )a  
        Updates the tags applied to the connect harness.


        :param str connect_harness_id: (required)
            The OCID of the connect harness.

        :param oci.streaming.models.UpdateConnectHarnessDetails update_connect_harness_details: (required)
            The connect harness is updated with the tags provided.

        :param str opc_request_id: (optional)
            The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
            particular request, please provide the request ID.

        :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 uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

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

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the 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.streaming.models.ConnectHarness`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/streaming/update_connect_harness.py.html>`__ to see an example of how to use update_connect_harness API.
        r(   r}   PUTupdate_connect_harnessz\https://docs.oracle.com/iaas/api/#/en/streaming/20180418/ConnectHarness/UpdateConnectHarnessr   c                    r.   r$   r$   r/   r2   r$   r%   r3   F  r4   z<StreamAdminClient.update_connect_harness.<locals>.<listcomp>z/update_connect_harness got unknown kwargs: {!r}c                 S   r5   r$   r6   r8   r$   r$   r%   r;   O  r<   z<StreamAdminClient.update_connect_harness.<locals>.<dictcomp>Nr   r=   r>   r-   r,   r   c                 S   rD   rE   r6   r8   r$   r$   r%   r;   [  rF   r   rG   ro   r   
rI   rJ   rK   rL   rM   rq   r   rN   rO   rP   rQ   )r!   r`   Zupdate_connect_harness_detailsr#   rP   rI   rJ   rN   rO   ra   rK   r9   r:   rL   r   r$   r2   r%   r     v   %$

z(StreamAdminClient.update_connect_harnessc                    r   )a  
        Updates the stream. Only specified values will be updated.


        :param str stream_id: (required)
            The OCID of the stream.

        :param oci.streaming.models.UpdateStreamDetails update_stream_details: (required)
            The stream is updated with the values provided.

        :param str opc_request_id: (optional)
            The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
            particular request, please provide the request ID.

        :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 uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

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

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the 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.streaming.models.Stream`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/streaming/update_stream.py.html>`__ to see an example of how to use update_stream API.
        rc   r   r   update_streamzLhttps://docs.oracle.com/iaas/api/#/en/streaming/20180418/Stream/UpdateStreamr   c                    r.   r$   r$   r/   r2   r$   r%   r3     r4   z3StreamAdminClient.update_stream.<locals>.<listcomp>z&update_stream got unknown kwargs: {!r}c                 S   r5   r$   r6   r8   r$   r$   r%   r;     r<   z3StreamAdminClient.update_stream.<locals>.<dictcomp>Nr   r=   r>   r-   r,   r   c                 S   rD   rE   r6   r8   r$   r$   r%   r;     rF   r   rG   rw   r   r   rQ   )r!   re   Zupdate_stream_detailsr#   rP   rI   rJ   rN   rO   ra   rK   r9   r:   rL   r   r$   r2   r%   r     r   zStreamAdminClient.update_streamc                    r   )a  
        Updates the specified stream pool.


        :param str stream_pool_id: (required)
            The OCID of the stream pool.

        :param oci.streaming.models.UpdateStreamPoolDetails update_stream_pool_details: (required)
            The pool is updated with the provided fields.

        :param str opc_request_id: (optional)
            The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
            particular request, please provide the request ID.

        :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 uses :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` as default if no retry strategy is provided.
            The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.

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

        :param bool allow_control_chars: (optional)
            allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the 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.streaming.models.StreamPool`
        :rtype: :class:`~oci.response.Response`

        :example:
        Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/streaming/update_stream_pool.py.html>`__ to see an example of how to use update_stream_pool API.
        rf   r   r   update_stream_poolzThttps://docs.oracle.com/iaas/api/#/en/streaming/20180418/StreamPool/UpdateStreamPoolr   c                    r.   r$   r$   r/   r2   r$   r%   r3      r4   z8StreamAdminClient.update_stream_pool.<locals>.<listcomp>z+update_stream_pool got unknown kwargs: {!r}c                 S   r5   r$   r6   r8   r$   r$   r%   r;   )  r<   z8StreamAdminClient.update_stream_pool.<locals>.<dictcomp>Nr   r=   r>   r-   r,   r   c                 S   rD   rE   r6   r8   r$   r$   r%   r;   5  rF   r   rG   r{   r   r   rQ   )r!   rh   Zupdate_stream_pool_detailsr#   rP   rI   rJ   rN   rO   ra   rK   r9   r:   rL   r   r$   r2   r%   r     r   z$StreamAdminClient.update_stream_poolN)__name__
__module____qualname____doc__r&   r*   rd   rg   rk   rt   rz   r   r   r   r   r   r   r   r   r   r   r   r   r$   r$   r$   r%   r      s0    Xkmk`]ajjgccc   &mmr   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   r7   objectr   r$   r$   r$   r%   <module>   s   